From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id MJxgHRmaumUGlw4AWB0awg (envelope-from ) for ; Wed, 31 Jan 2024 14:06:01 -0500 Authentication-Results: simark.ca; dkim=pass (2048-bit key; unprotected) header.d=lists.lttng.org header.i=@lists.lttng.org header.a=rsa-sha256 header.s=default header.b=MeqWWgcb; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id 69D071E0C3; Wed, 31 Jan 2024 14:06:01 -0500 (EST) Received: from lists.lttng.org (lists.lttng.org [167.114.26.123]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id DF5671E092 for ; Wed, 31 Jan 2024 14:05:58 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=lists.lttng.org; s=default; t=1706727958; bh=+Swv6zyJPcEripC4CC/lCQKsXhbsg33r7qsL1QV8WGQ=; h=To:CC:Date:References:In-Reply-To:Subject:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From:Reply-To:From; b=MeqWWgcbhMXrcj0WeUUHqNTz53hbSIFSHAIv3+JzXGtpW+RZFbggjtXMQN+am+2ok Urk0sKvrmzn/Y1L8mUWj+q8zqi0dEJWwwm4bQQTK9nI5t7c2oroHKPPh/zh09soPr+ YfYI8cysdBddpEnlnhOzwM1FADPk5cLSKXWsOUzduoJYm7uU+h/NeF7a5vCpq5AvTX jj/VyqWnJkM8oxGUp/TWYMGWY4thGCata3evlGBDH7mBSee3pL3hqQjBBGdXd+MeLa mECSJr35BcgqoMkAWwnbfbTWl2drHjCh7YZrBqYPIYWoV/iJYm15EMGGJZ3/kMB6tO B6607ImQwYEZQ== Received: from lists-lttng01.efficios.com (localhost [IPv6:::1]) by lists.lttng.org (Postfix) with ESMTP id 4TQBMV0bBKz1qMD; Wed, 31 Jan 2024 14:05:58 -0500 (EST) Received: from SN4PR2101CU001.outbound.protection.outlook.com (mail-southcentralusazon11020002.outbound.protection.outlook.com [40.93.193.2]) by lists.lttng.org (Postfix) with ESMTPS id 4TQBMT2zMfz1qM3 for ; Wed, 31 Jan 2024 14:05:57 -0500 (EST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=b2gy9repoY3Ce8o9LIyn2ocvq4/xX1q5tRxxSnQOUXahchk+vjHcZ2MA27I4GqCqLyDQdXiiR7oOONX2W/+Z889f+Tbhbz5SV8a1nB7y1hO2cSkiIfuLhF5/kxNRYF5L8iMOGpvRciDq2iXN7ca080/GK8phchwqN86ZRX8zIRjfx4oSVsEvqK1yPyEXRFCKav0PavKLFE9Wu1vUnVwkheeISLNitRlmUXlFD83did7DoiSMGc94O2MhXNcqyJ+7aWNwZgydr1fS/F7rs1P2dQ2jmS1XMSA0y9bMwd9MwiNWWH7voQHt+yEjfA5ABIcgaojf+62veKX+mKHK6FQvyg== 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=RlfDXun/FO1eG3yIqochfiZIuELVUhsgEAZvo1q01iU=; b=Ud2h5xfr8cUNVwzXkp2cOuFT8bgBOz9VVTCjVg1lgY3UgMXofZmM7ze0gPAzqpuMMwo6/40FR7J5Gf2Cz5F+3LUSEGUOeANoV4WENLfdpbJVt5+RbiPz4WsyZcRAOZcPOwLLVa+jjr0l5+ObIHZTdqQTFi5nVgqNd2PQBEMBMrVnsVUBlNv5Mm0Ny1+hYQ7vHYajoIcBuP4QyjlezrxWxxjHzF+MygQj3MmYOSIzah9rPbmy9GjyeIwjA25OMx1y4SxsVeSMRutoDlZn5P8i+oUOCO3M5kzXy+s/FdEv1SXKCzVZ7DzqXxk0var0IP0GTsmLfr9Cr7ZiHyECIb4GGQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=microsoft.com; dmarc=pass action=none header.from=microsoft.com; dkim=pass header.d=microsoft.com; arc=none Received: from MN2PR21MB1487.namprd21.prod.outlook.com (2603:10b6:208:20d::9) by SA1PR21MB4068.namprd21.prod.outlook.com (2603:10b6:806:2be::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7270.8; Wed, 31 Jan 2024 19:05:52 +0000 Received: from MN2PR21MB1487.namprd21.prod.outlook.com ([fe80::e053:5f82:9670:2c80]) by MN2PR21MB1487.namprd21.prod.outlook.com ([fe80::e053:5f82:9670:2c80%3]) with mapi id 15.20.7270.007; Wed, 31 Jan 2024 19:05:52 +0000 To: Philippe Proulx CC: "lttng-dev@lists.lttng.org" Thread-Topic: [EXTERNAL] Re: [lttng-dev] error with ctf_sequence_text when using non-utf8 encoded strings Thread-Index: AdpUaHJEdO9tnv+SS2e6Gsk7cxzjJQADF4eAAACmlMA= Date: Wed, 31 Jan 2024 19:05:52 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_ActionId=e2586ab4-e35b-4c3f-a41d-bcf6600fd7a0; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_ContentBits=0; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Enabled=true; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Method=Standard; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Name=Internal; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SetDate=2024-01-31T18:58:02Z; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SiteId=72f988bf-86f1-41af-91ab-2d7cd011db47; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MN2PR21MB1487:EE_|SA1PR21MB4068:EE_ x-ms-office365-filtering-correlation-id: 9a31afc8-d91f-4859-bd42-08dc228fa4f2 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Lw6T3YjloLxhOpDS4IfNFhotaaAS4OfTMxP4x216lnrS3cIeiybjzEYzxVg8rx14UrNo8EAVFba2DAxK4HQTCLwlK1ZPQhvKjTTQlQB5567v4ImKZZ38sAITGk9fJiA6JhKfaDsndxRaLN4uJ2g53AgnT9an950SoKS/2PAi0hXd/X3C4RdJmYoL5t3k2yO8iR/T6d+V1qE3Erp/r/JUuWkxwt8uqTunEwytsbVLNj0cvgKUQZdfzGDr3eQBGmDaKccXoSAre4fnJ3OhI1eyZBawvfLypXFetjq4W1NssRhcvqNrg/agqAn1tIpl9URZ6xtpW5G2gWJ1UwgNWek4GXPD2csTF5E/slh2QbjPWMouGhAzzdAMwD+luJGRvbWBWnFpCecL3KkKkS4NNH+h28HFyQgeRVGf1zgjC9PM8JSJFuBf6KA9v7+CeFPqBTJ/vw2dQVQfue95dlRryuD9sylYcEnyrf8mNyBX2zjYgtbCLhJW8446GPGte137TbFJZw5D7o6eXCLztlwgLu43vz+11uxSAps/UnUpPMBj5ZyaNCiFulECSsVvtCUv9gxBvZsnftda0nct2SpIFgZ+s9zZ5sGK+PuvR0Clbnwcnx/ehz+Dt9FHPtXG2emXgh3jhxBba0XjE9Locu+CeLVCexV1YlYBltIlJzf7HmlaMkA7kbkLIwFBrfCIav+68AoKS540PwWM5K8U2glejpsR9g== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MN2PR21MB1487.namprd21.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(396003)(39860400002)(376002)(366004)(346002)(136003)(230473577357003)(230373577357003)(230273577357003)(230173577357003)(230922051799003)(1800799012)(186009)(451199024)(64100799003)(4326008)(8936002)(8676002)(52536014)(71200400001)(8990500004)(7696005)(6506007)(122000001)(6916009)(316002)(55016003)(66946007)(76116006)(66476007)(66556008)(64756008)(66446008)(82950400001)(5660300002)(30864003)(33656002)(2906002)(82960400001)(38100700002)(83380400001)(9686003)(966005)(53546011)(38070700009)(86362001)(478600001)(41300700001)(10290500003)(505234007); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?bUZxN1llSVkwWFVDaGlHZnp4YUJpRW0zenpvSXE1aWNwUllLUDJNNkQvWldm?= =?utf-8?B?MTV4cjRYYWJZQ2FVa09HMUM0SGFERXBrUER6WXp3NG5kTitHOWlhdU9seE5Q?= =?utf-8?B?SERCVk55bVZqTGE3aExDNyszb21XSUphaUNUMzU5bmxNRzJNRGNLemFNWGUy?= =?utf-8?B?QTdJUE81aGpuZUQ0T2ZlL1dyeFBBL0NwZlN1a1Zpa2R0TnBnWXoyYjYxQjRR?= =?utf-8?B?Q1ZEZE4xRkEyd1loUFp0SjgwakYxL2ZzZTJPYnJjekdFQnZxTXl5a1E4U3FI?= =?utf-8?B?eUVrb1ZsWUhuZUNsU1BUTStsK2R4ZGNyWjI0STRQNnI1cXRpSm1qa0FVbDJC?= =?utf-8?B?TEIzUlcrQUZVU3hxa0wxc1d2TDkwTEd1QXlueFJveW5JVm0vVElRRjE4SktS?= =?utf-8?B?cjhsN1FMTlVVVWFUbWFNMlJISVhsbVRLSDRubGtrNTBxakJDWWd3SjFnbVN3?= =?utf-8?B?TTFlNThadzlaK1kxbUJkZFZZQllsNnJ0a1lGOTlZRWhQL0wrT3FXTVFqck91?= =?utf-8?B?UkZmd2M3aVNIbS94Q2lNdDhNSm04a1pTdndTakgwdUZ3ZmthSHlTc2luK0RF?= =?utf-8?B?M0xjaWJKYU9INEJ5SGJWYVN6ZWxxN054ZUI2OGlVMnh0R2ZOSjZHdGdmaWUz?= =?utf-8?B?TTVDUGowZjJEaEo2YitkaDRQdzFFS3B3d292eDQ4QnVITURGcEF4K29nMUM5?= =?utf-8?B?Y2VKWHlmRXpSdWhjdjk5TVJUcU5QQjgwZEVFaWxvY3VCRWQzcFpWWEdLdEdJ?= =?utf-8?B?ZHBxWUtSaW5hWG9oNzJaUDVWckR4OUxRVER3WDIvN01JWmxYNWRkK3Z6UTUr?= =?utf-8?B?TVZIeEt6aE5oZE14d2ZubVM0NkVUelNSTXdFSmxnUm5ySmV2dWFucVY3OG9z?= =?utf-8?B?V2laOGlsOUdTdWk1MW94eXlaWmxQVldlRjNrTEFSTXpmMkdhWC9BSmtRbUpB?= =?utf-8?B?dlFZZ3hJK3ZWTUJzK25DcXpSS1JJSG15aG9wQzhlT1V0VkJrQytBb1ZYU2pX?= =?utf-8?B?aTVKRjhHSnRaY3FuL1dRaDc1TDFHd3dHYTlldEl6andtUEhzUjFkbkprWFM0?= =?utf-8?B?d0h6WUY3SlhlOVhhOEVaUGwxUDJscFhsejNKM0E1NXhtUTF2ZG8raUVVazVo?= =?utf-8?B?UE4zWDNEOFc0cTdJcWtxeFpLenpXNlZWMHdmbWIxWnFpQ3VDOXVTekxBTFFt?= =?utf-8?B?ZXYxM2tYWWRDQjZoYllOcTJmOUpXaHpQREJnQ3lCZzRtMmpFQmVEWVhuK0Vv?= =?utf-8?B?RWtWVktSNzhzMnpGMXpONW8ycGVPY1UvKy9yQ3BvU3MwMXRyMzJialV0WUxT?= =?utf-8?B?OWFnSFpLelpGSnkzVzNWWG12NzBCOTY1OUFxWXk1dW5DeUxBbC9oUSthbktU?= =?utf-8?B?ZHlsVUJGYlRVenJTOEQrRTZMWW14OEpZeXJkM1A0MVdrdis1OWhteXkwNDhm?= =?utf-8?B?RVEvSFQ0UWp2Y004bTllQUF4eEY4eTNBVlcza0lKWWJXK1UxdnBNaUYrYytC?= =?utf-8?B?SFBLaUR1eGs4T2UraXh2YkgwOUgzN1lFVUszOHZZNlNSNS9BSW1lNU1GQU44?= =?utf-8?B?aWdMQ0hTUmVOT1JNc3dZMVgxeWlJMGJQMzlrWGg3dFRCYnJXdUFCQmRUYVF6?= =?utf-8?B?TURnQ3NSZldFZVhNamxpZklESkt1VWdHdlV2UDlpNEZNYzVuc3ZtTlh5aW1J?= =?utf-8?B?U0FnL2taZEsyMXBPNTBpRmkvQ01ETWVkRXNJNjFYQ1BhSU1peHVycjM2ZFJ6?= =?utf-8?B?emM4cWF6cVBZMmlrMy9ZT0ZUaHE0OVpwNWRKaVpHMDV6YUlxMXZCUGNUWGd5?= =?utf-8?B?djBNSHcvZ3BGRHFlcmtPTDIvWER4T1BiRzNsdzZEcEFiOHhiMy9UaUtLbk5Q?= =?utf-8?B?RUw2YzVhWmY1YkhKS0JzdWZySmx5SHBLS0dVSS9HNmQ2UmJ6QUtSdlNGS3Vm?= =?utf-8?B?QWZtd1ZHb3ZFbmU4aC82NFRla0QyTENhcWpoQms5VnZQejhMbDlNUEE4Mnlk?= =?utf-8?B?RWJSdXp4VURqYXU2T3o3aWhHanlWQ2hiZmlFU2I1K0QxZ21mUEdDMzJmK1dX?= =?utf-8?B?VHNnMWpsc0hjRDF4S2pLZHRTcWxVaWpWV0dDZmdTdzQwbUtzVUFMSDM0bHpz?= =?utf-8?B?UktEWXVES0NrVW9PRFk5cHl4bzJNQXhjdGR3TmVxcDZnRnQ4QkdPV25TOXk4?= =?utf-8?Q?+owFL0W/rYVviC9Ml8M1jSwg8jj6hFT7Lbk3TACPxRBV?= MIME-Version: 1.0 X-OriginatorOrg: microsoft.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN2PR21MB1487.namprd21.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9a31afc8-d91f-4859-bd42-08dc228fa4f2 X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Jan 2024 19:05:52.2548 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: PNKEFeq9FG1ZJ9nFazfZC448bhz+70gqlflXx4SgtEGSs7Rw1Y3/E1HoIP3PsOeN6V50uKtFQUn+Md5lyz2LGQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR21MB4068 Subject: Re: [lttng-dev] [EXTERNAL] Re: error with ctf_sequence_text when using non-utf8 encoded strings X-BeenThere: lttng-dev@lists.lttng.org X-Mailman-Version: 2.1.39 Precedence: list List-Id: LTTng development list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Nathan Ricci via lttng-dev Reply-To: Nathan Ricci Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: lttng-dev-bounces@lists.lttng.org Sender: "lttng-dev" UGhpbGxpcGUsDQoNCiAgICAgICAgUnVubmluZyB0aGF0IGJhYmVsdHJhY2UgY29tbWFuZCBnaXZl cyBhbiBlcnJvcjoNCg0KIyBiYWJlbHRyYWNlMiAtbyBjdGYtbWV0YWRhdGEgL2hvbWUvbmFyaWNj L2x0dG5nLXRyYWNlcy9teS11c2VyLXNwYWNlLXNlc3Npb24tMjAyNDAxMzEtMTYxNjM4Lw0KMDEt MzEgMTg6NTk6MTcuNzE1IDExNjYyODUgMTE2NjI4NSBFIFBMVUdJTi9TUkMuQ1RGLkZTL1FVRVJZ IG1ldGFkYXRhX2luZm9fcXVlcnlAcXVlcnkuYzoxMTEgW2ZzXSBDYW5ub3Qgb3BlbiB0cmFjZSBt ZXRhZGF0YTogcGF0aD0iL2hvbWUvbmFyaWNjL2x0dG5nLXRyYWNlcy9teS11c2VyLXNwYWNlLXNl c3Npb24tMjAyNDAxMzEtMTYxNjM4LyIuDQowMS0zMSAxODo1OToxNy43MTUgMTE2NjI4NSAxMTY2 Mjg1IFcgTElCL1FVRVJZLUVYRUNVVE9SIGJ0X3F1ZXJ5X2V4ZWN1dG9yX3F1ZXJ5QHF1ZXJ5LWV4 ZWN1dG9yLmM6MjQzIENvbXBvbmVudCBjbGFzcydzICJxdWVyeSIgbWV0aG9kIGZhaWxlZDogcXVl cnktZXhlYy1hZGRyPTB4NTU3ZjQ3ZjJmYjIwLCBjYy1hZGRyPTB4NTU3ZjQ3ZjNlMzAwLCBjYy10 eXBlPVNPVVJDRSwgY2MtbmFtZT0iZnMiLCBjYy1wYXJ0aWFsLWRlc2NyPSJSZWFkIENURiB0cmFj ZXMgZnJvbSB0aGUgZmlsZSBzeSIsIGNjLWlzLWZyb3plbj0wLCBjYy1zby1oYW5kbGUtYWRkcj0w eDU1N2Y0N2YzZDQzMCwgY2Mtc28taGFuZGxlLXBhdGg9Ii91c3IvbGliL3g4Nl82NC1saW51eC1n bnUvYmFiZWx0cmFjZTIvcGx1Z2lucy9iYWJlbHRyYWNlLXBsdWdpbi1jdGYuc28iLCBvYmplY3Q9 Im1ldGFkYXRhLWluZm8iLCBwYXJhbXMtYWRkcj0weDU1N2Y0N2YyZTlkMCwgcGFyYW1zLXR5cGU9 TUFQLCBwYXJhbXMtZWxlbWVudC1jb3VudD0xLCBsb2ctbGV2ZWw9V0FSTklORw0KMDEtMzEgMTg6 NTk6MTcuNzE1IDExNjYyODUgMTE2NjI4NSBFIENMSSBjbWRfcHJpbnRfY3RmX21ldGFkYXRhQGJh YmVsdHJhY2UyLmM6MTA4MyBGYWlsZWQgdG8gcXVlcnkgYG1ldGFkYXRhLWluZm9gIG9iamVjdDog dW5rbm93biBlcnJvcg0KDQpJIHdhcyBhYmxlIHRvIGp1c3QgcmVhZCB0aGUgbWV0YSBkYXRhIGZp bGUgd2l0aCBjYXQgdGhvdWdoOg0KDQovaG9tZS9uYXJpY2MvbHR0bmctdHJhY2VzL215LXVzZXIt c3BhY2Utc2Vzc2lvbi0yMDI0MDEzMS0xNjE2MzgvdXN0L3VpZC8xMDAyLzY0LWJpdCMgY2F0IG1l dGFkYXRhDQpX77+9de+/ve+/vVjvv73vv71D7pqT77+9YG3vv70r77+9MGMvKiBDVEYgMS44ICov DQoNCnR5cGVhbGlhcyBpbnRlZ2VyIHsgc2l6ZSA9IDg7IGFsaWduID0gODsgc2lnbmVkID0gZmFs c2U7IH0gOj0gdWludDhfdDsNCnR5cGVhbGlhcyBpbnRlZ2VyIHsgc2l6ZSA9IDE2OyBhbGlnbiA9 IDg7IHNpZ25lZCA9IGZhbHNlOyB9IDo9IHVpbnQxNl90Ow0KdHlwZWFsaWFzIGludGVnZXIgeyBz aXplID0gMzI7IGFsaWduID0gODsgc2lnbmVkID0gZmFsc2U7IH0gOj0gdWludDMyX3Q7DQp0eXBl YWxpYXMgaW50ZWdlciB7IHNpemUgPSA2NDsgYWxpZ24gPSA4OyBzaWduZWQgPSBmYWxzZTsgfSA6 PSB1aW50NjRfdDsNCnR5cGVhbGlhcyBpbnRlZ2VyIHsgc2l6ZSA9IDY0OyBhbGlnbiA9IDg7IHNp Z25lZCA9IGZhbHNlOyB9IDo9IHVuc2lnbmVkIGxvbmc7DQp0eXBlYWxpYXMgaW50ZWdlciB7IHNp emUgPSA1OyBhbGlnbiA9IDE7IHNpZ25lZCA9IGZhbHNlOyB9IDo9IHVpbnQ1X3Q7DQp0eXBlYWxp YXMgaW50ZWdlciB7IHNpemUgPSAyNzsgYWxpZ24gPSAxOyBzaWduZWQgPSBmYWxzZTsgfSA6PSB1 aW50MjdfdDsNCg0KdHJhY2Ugew0KICAgICAgICBtYWpvciA9IDE7DQogICAgICAgIG1pbm9yID0g ODsNCiAgICAgICAgdXVpZCA9ICIxN2JkODU1OC1lMWMxLTQzZWUtOWE5My05YzYwNmRiNzJiYjAi Ow0KICAgICAgICBieXRlX29yZGVyID0gbGU7DQogICAgICAgIHBhY2tldC5oZWFkZXIgOj0gc3Ry dWN0IHsNCiAgICAgICAgICAgICAgICB1aW50MzJfdCBtYWdpYzsNCiAgICAgICAgICAgICAgICB1 aW50OF90ICB1dWlkWzE2XTsNCiAgICAgICAgICAgICAgICB1aW50MzJfdCBzdHJlYW1faWQ7DQog ICAgICAgICAgICAgICAgdWludDY0X3Qgc3RyZWFtX2luc3RhbmNlX2lkOw0KICAgICAgICB9Ow0K fTsNCg0KZW52IHsNCiAgICAgICAgZG9tYWluID0gInVzdCI7DQogICAgICAgIHRyYWNlcl9uYW1l ID0gImx0dG5nLXVzdCI7DQogICAgICAgIHRyYWNlcl9tYWpvciA9IDI7DQogICAgICAgIHRyYWNl cl9taW5vciA9IDEzOw0KICAgICAgICB0cmFjZXJfYnVmZmVyaW5nX3NjaGVtZSA9ICJ1aWQiOw0K ICAgICAgICB0cmFjZXJfYnVmZmVyaW5nX2lkID0gMTAwMjsNCiAgICAgICAgYXJjaGl0ZWN0dXJl X2JpdF93aWR0aCA9IDY0Ow0KICAgICAgICB0cmFjZV9uYW1lID0gIm15LXVzZXItc3BhY2Utc2Vz c2lvbiI7DQogICAgICAgIHRyYWNlX2NyZWF0aW9uX2RhdGV0aW1lID0gIjIwMjQwMTMxVDE2MTYz OCswMDAwIjsNCiAgICAgICAgaG9zdG5hbWUgPSAiVERDMjA3NDg5MTQiOw0KfTsNCg0KY2xvY2sg ew0KICAgICAgICBuYW1lID0gIm1vbm90b25pYyI7DQogICAgICAgIHV1aWQgPSAiZWNlNzM1Yzct MjZiNy00NDZjLWI2ZmUtMWVkZWZlNWM3MDYyIjsNCiAgICAgICAgZGVzY3JpcHRpb24gPSAiTW9u b3RvbmljIENsb2NrIjsNCiAgICAgICAgZnJlcSA9IDEwMDAwMDAwMDA7IC8qIEZyZXF1ZW5jeSwg aW4gSHogKi8NCiAgICAgICAgLyogY2xvY2sgdmFsdWUgb2Zmc2V0IGZyb20gRXBvY2ggaXM6IG9m ZnNldCAqICgxL2ZyZXEpICovDQogICAgICAgIG9mZnNldCA9IDE3MDU5NjQ0MzY3MTIxNzQ1NjE7 DQp9Ow0KDQp0eXBlYWxpYXMgaW50ZWdlciB7DQogICAgICAgIHNpemUgPSAyNzsgYWxpZ24gPSAx OyBzaWduZWQgPSBmYWxzZTsNCiAgICAgICAgbWFwID0gY2xvY2subW9ub3RvbmljLnZhbHVlOw0K fSA6PSB1aW50MjdfY2xvY2tfbW9ub3RvbmljX3Q7DQoNCnR5cGVhbGlhcyBpbnRlZ2VyIHsNCiAg ICAgICAgc2l6ZSA9IDMyOyBhbGlnbiA9IDg7IHNpZ25lZCA9IGZhbHNlOw0KICAgICAgICBtYXAg PSBjbG9jay5tb25vdG9uaWMudmFsdWU7DQp9IDo9IHVpbnQzMl9jbG9ja19tb25vdG9uaWNfdDsN Cg0KdHlwZWFsaWFzIGludGVnZXIgew0KICAgICAgICBzaXplID0gNjQ7IGFsaWduID0gODsgc2ln bmVkID0gZmFsc2U7DQogICAgICAgIG1hcCA9IGNsb2NrLm1vbm90b25pYy52YWx1ZTsNCn0gOj0g dWludDY0X2Nsb2NrX21vbm90b25pY190Ow0KDQpzdHJ1Y3QgcGFja2V0X2NvbnRleHQgew0KICAg ICAgICB1aW50NjRfY2xvY2tfbW9ub3RvbmljX3QgdGltZXN0YW1wX2JlZ2luOw0KICAgICAgICB1 aW50NjRfY2xvY2tfbW9ub3RvbmljX3QgdGltZXN0YW1wX2VuZDsNCiAgICAgICAgdWludDY0X3Qg Y29udGVudF9zaXplOw0KICAgICAgICB1aW50NjRfdCBwYWNrZXRfc2l6ZTsNCiAgICAgICAgdWlu dDY0X3QgcGFja2V0X3NlcV9udW07DQogICAgICAgIHVuc2lnbmVkIGxvbmcgZXZlbnRzX2Rpc2Nh cmRlZDsNCiAgICAgICAgdWludDMyX3QgY3B1X2lkOw0KfTsNCg0Kc3RydWN0IGV2ZW50X2hlYWRl cl9jb21wYWN0IHsNCiAgICAgICAgZW51bSA6IHVpbnQ1X3QgeyBjb21wYWN0ID0gMCAuLi4gMzAs IGV4dGVuZGVkID0gMzEgfSBpZDsNCiAgICAgICAgdmFyaWFudCA8aWQ+IHsNCiAgICAgICAgICAg ICAgICBzdHJ1Y3Qgew0KICAgICAgICAgICAgICAgICAgICAgICAgdWludDI3X2Nsb2NrX21vbm90 b25pY190IHRpbWVzdGFtcDsNCiAgICAgICAgICAgICAgICB9IGNvbXBhY3Q7DQogICAgICAgICAg ICAgICAgc3RydWN0IHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGlkOw0KICAg ICAgICAgICAgICAgICAgICAgICAgdWludDY0X2Nsb2NrX21vbm90b25pY190IHRpbWVzdGFtcDsN CiAgICAgICAgICAgICAgICB9IGV4dGVuZGVkOw0KICAgICAgICB9IHY7DQp9IGFsaWduKDgpOw0K DQpzdHJ1Y3QgZXZlbnRfaGVhZGVyX2xhcmdlIHsNCiAgICAgICAgZW51bSA6IHVpbnQxNl90IHsg Y29tcGFjdCA9IDAgLi4uIDY1NTM0LCBleHRlbmRlZCA9IDY1NTM1IH0gaWQ7DQogICAgICAgIHZh cmlhbnQgPGlkPiB7DQogICAgICAgICAgICAgICAgc3RydWN0IHsNCiAgICAgICAgICAgICAgICAg ICAgICAgIHVpbnQzMl9jbG9ja19tb25vdG9uaWNfdCB0aW1lc3RhbXA7DQogICAgICAgICAgICAg ICAgfSBjb21wYWN0Ow0KICAgICAgICAgICAgICAgIHN0cnVjdCB7DQogICAgICAgICAgICAgICAg ICAgICAgICB1aW50MzJfdCBpZDsNCiAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ2NF9jbG9j a19tb25vdG9uaWNfdCB0aW1lc3RhbXA7DQogICAgICAgICAgICAgICAgfSBleHRlbmRlZDsNCiAg ICAgICAgfSB2Ow0KfSBhbGlnbig4KTsNCg0KZXZlbnQgew0KICAgICAgICBuYW1lID0gIm5hcmlj Y190ZXN0X3Byb3ZpZGVyOnRlc3RfZXZlbnQiOw0KICAgICAgICBpZCA9IDA7DQogICAgICAgIHN0 cmVhbV9pZCA9IDA7DQogICAgICAgIGxvZ2xldmVsID0gMTM7DQogICAgICAgIGZpZWxkcyA6PSBz dHJ1Y3Qgew0KICAgICAgICAgICAgICAgIGludGVnZXIgeyBzaXplID0gNjQ7IGFsaWduID0gODsg c2lnbmVkID0gMDsgZW5jb2RpbmcgPSBub25lOyBiYXNlID0gMTA7IH0gX191dGY4X3RleHRfc2Vx dWVuY2VfbGVuZ3RoOw0KICAgICAgICAgICAgICAgIGludGVnZXIgeyBzaXplID0gODsgYWxpZ24g PSA4OyBzaWduZWQgPSAxOyBlbmNvZGluZyA9IFVURjg7IGJhc2UgPSAxMDsgfSBfdXRmOF90ZXh0 X3NlcXVlbmNlWyBfX3V0ZjhfdGV4dF9zZXF1ZW5jZV9sZW5ndGggXTsNCiAgICAgICAgICAgICAg ICBpbnRlZ2VyIHsgc2l6ZSA9IDY0OyBhbGlnbiA9IDg7IHNpZ25lZCA9IDA7IGVuY29kaW5nID0g bm9uZTsgYmFzZSA9IDEwOyB9IF9fd2NoYXJfdGV4dF9zZXF1ZW5jZV9sZW5ndGg7DQogICAgICAg ICAgICAgICAgaW50ZWdlciB7IHNpemUgPSAzMjsgYWxpZ24gPSA4OyBzaWduZWQgPSAxOyBlbmNv ZGluZyA9IFVURjg7IGJhc2UgPSAxMDsgfSBfd2NoYXJfdGV4dF9zZXF1ZW5jZVsgX193Y2hhcl90 ZXh0X3NlcXVlbmNlX2xlbmd0aCBdOw0KICAgICAgICB9Ow0KfTsNCg0Kc3RyZWFtIHsNCiAgICAg ICAgaWQgPSAwOw0KICAgICAgICBldmVudC5oZWFkZXIgOj0gc3RydWN0IGV2ZW50X2hlYWRlcl9s YXJnZTsNCiAgICAgICAgcGFja2V0LmNvbnRleHQgOj0gc3RydWN0IHBhY2tldF9jb250ZXh0Ow0K fTsNCg0KDQpJIHRoaW5rIGN0Zl9zZXF1ZW5jZSB3aWxsIHdvcmsgYXMgYSB3b3JrIGFyb3VuZCwg YWx0aG91Z2ggaXQgd2lsbCBtYWtlIGl0IHNvbWV3aGF0IG1vcmUgYW5ub3lpbmcgZm9yIHRoZSBw cm9ncmFtIGV2ZW50dWFsbHkgcmVhZGluZyB0aGVzZSB0cmFjZXMuDQoNCiAgICAgICAgICAgICAg LS1OYXRoYW4gUmljY2kNCg0KLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCkZyb206IFBoaWxp cHBlIFByb3VseCA8ZWVwcGVsaXRlbG9vcEBnbWFpbC5jb20+DQpTZW50OiBXZWRuZXNkYXksIEph bnVhcnkgMzEsIDIwMjQgMTozOSBQTQ0KVG86IE5hdGhhbiBSaWNjaSA8bmFyaWNjQG1pY3Jvc29m dC5jb20+DQpDYzogbHR0bmctZGV2QGxpc3RzLmx0dG5nLm9yZw0KU3ViamVjdDogW0VYVEVSTkFM XSBSZTogW2x0dG5nLWRldl0gZXJyb3Igd2l0aCBjdGZfc2VxdWVuY2VfdGV4dCB3aGVuIHVzaW5n IG5vbi11dGY4IGVuY29kZWQgc3RyaW5ncw0KDQpbWW91IGRvbid0IG9mdGVuIGdldCBlbWFpbCBm cm9tIGVlcHBlbGl0ZWxvb3BAZ21haWwuY29tLiBMZWFybiB3aHkgdGhpcyBpcyBpbXBvcnRhbnQg YXQgaHR0cHM6Ly9ha2EubXMvTGVhcm5BYm91dFNlbmRlcklkZW50aWZpY2F0aW9uIF0NCg0KT24g V2VkLCBKYW4gMzEsIDIwMjQgYXQgMTI6NTjigK9QTSBOYXRoYW4gUmljY2kgdmlhIGx0dG5nLWRl diA8bHR0bmctZGV2QGxpc3RzLmx0dG5nLm9yZz4gd3JvdGU6DQo+DQo+IEkgYW0gdHJ5aW5nIHRv IGVtaXQgYSB0cmFjZSB0aGF0IGhhcyBhIHdjaGFyIHN0cmluZywgdXNpbmcgYXMgb25lIG9mIHRo ZSBmaWVsZHMgY3RmX3NlcXVlbmNlX3RleHQuIFdoZW4gdGhlIHRyYWNlIGlzIHJlY29yZGVkLCBp dCBzZWVtcyBsaWtlIGV2ZXJ5dGhpbmcgYXQgYnV0IHRoZSBmaXJzdCBjaGFyYWN0ZXIgaXMgdHJ1 bmNhdGVkLCBhbmQgSSB0aGluayB0aGlzIGlzIGJlY2F1c2UgaXQgaXMgYXNzdW1pbmcgVVRGOCBl bmNvZGluZyBhbmQgc3RvcHBpbmcgYXQgdGhlIGZpcnN0IG51bGwgY2hhcmFjdGVyLiAgVGhpcyBp cyBvbiBVYnVudHUgMjIuMDQsIHVzaW5nIHRoaXMgbGlibHR0bmctdXN0IHBhY2thZ2U6DQoNCkhp IE5hdGhhbi4NCg0KSSdkIGxpa2UgdG8gc2VlIHlvdXIgZ2VuZXJhdGVkIHRyYWNlIG1ldGFkYXRh LiBIZXJlJ3MgaG93Og0KDQogICAgJCBiYWJlbHRyYWNlMiAtbyBjdGYtbWV0YWRhdGEgL3BhdGgv dG8vZGlyL2NvbnRhaW5pbmcvbWV0YWRhdGENCg0KSW4geW91ciBjYXNlLCB0aGF0IHBhdGggaXMg c29tZXdoZXJlIHdpdGhpbiBgfi9sdHRuZy10cmFjZXMvbXktdXNlci1zcGFjZS1zZXNzaW9uLTIw MjQwMTMxLTE2MTYzOGAuDQoNCkNURiAxLjggZG9lc24ndCBzdXBwb3J0ICJ3aWRlIGNoYXJhY3Rl cnMiIG9yIGFueSBvdGhlciBzdHJpbmcgZW5jb2RpbmcgdGhhbiBVVEYtOCBhbmQgaXRzIEFTQ0lJ IHN1YnNldC4NCg0KVGhlcmVmb3JlIExUVG5nLVVTVCBhc3N1bWVzIFVURi04IGFuZCBkb2Vzbid0 IGNhcmUgYWJvdXQgYW55dGhpbmcgcGFzdCB0aGUgZmlyc3QgVSswMDAwIGNvZGVwb2ludCAoc2lu Z2xlIHplcm8gYnl0ZSBpbiBVVEYtOCkuDQoNCkkgZG9uJ3QgdGhpbmsgaXQncyBhbiBlcnJvciBw ZXIgc2UsIGJ1dCBtYXliZSB0aGUgY3RmX3NlcXVlbmNlX3RleHQoKSBtYWNybyBjb3VsZCBmYWls IHdpdGggYW4gZWxlbWVudCB0eXBlIGhhdmluZyBhIHNpemUgZ3JlYXRlciB0aGFuIG9uZSBieXRl IChsaWtlIGB3Y2hhcl90YCk/DQoNClRoYXQgYmVpbmcgc2FpZCwgeW91J2xsIGJlIGdsYWQgdG8g bGVhcm4gdGhhdCwgYWx0aG91Z2ggaXQgd29uJ3QgaGVscCBpbiB0aGUgc2hvcnQgdGVybSwgQ1RG IDIgd2lsbCBzdXBwb3J0IFVURi04LSwgVVRGLTE2LSwgYW5kIFVURi0zMi1lbmNvZGVkIHN0cmlu ZyBmaWVsZHM6IDxodHRwczovL2RpYW1vbi5vcmcvY3RmL2ZpbGVzL0NURjItU1BFQ1JDLTkuMHJB Lmh0bWwjc3RyLWZjPi4NCg0KSW4gdGhlIG1lYW50aW1lLCB5b3UgY291bGQgdXNlIHRoZSBjdGZf c2VxdWVuY2UoKSBtYWNybywgYnV0IHlvdXIgc3RyaW5nIHdpbGwgYmVjb21lIGEgZHluYW1pYy1s ZW5ndGggYXJyYXkgb2YgaW50ZWdlcnMgaW4gdGhlIENURiBkYXRhIHN0cmVhbSwgbWVhbmluZyB5 b3UnbGwgbmVlZCB0byBkZWNvZGUgaXQgbWFudWFsbHkgdXNpbmcgdGhlIEJhYmVsdHJhY2UgMiBB UEkuDQoNCkknbGwgd2FpdCBmb3IgeW91ciBtZXRhZGF0YSB0ZXh0Lg0KDQpQaGlsaXBwZSBQcm91 bHgNCg0KPg0KPiBsaWJsdHRuZy11c3QtY29tbW9uMS9qYW1teSxub3cgMi4xMy4xLTF1YnVudHUx DQo+DQo+IEnigJl2ZSBib2lsZWQgdGhpcyBkb3duIHRvIGEgc2ltcGxlIHJlcHJvOyBJ4oCZdmUg aW5jbHVkZWQgdGhlIGNvZGUgYmVsb3csDQo+IGJ1dCB5b3UgY2FuIGFsc28gZ2V0IGl0IGhlcmU6 DQo+IGh0dHBzOi8vZ2l0aC8NCj4gdWIuY29tJTJGbmFyaWNjJTJGbHR0bmctdGVzdCZkYXRhPTA1 JTdDMDIlN0NuYXJpY2MlNDBtaWNyb3NvZnQuY29tJTdDNQ0KPiA3MmFjNjA5MTZiNjQ1NWU1NjYx MDhkYzIyOGMwNDcwJTdDNzJmOTg4YmY4NmYxNDFhZjkxYWIyZDdjZDAxMWRiNDclN0MxDQo+ICU3 QzAlN0M2Mzg0MjMyMzMwMDkxOTkwNTAlN0NVbmtub3duJTdDVFdGcGJHWnNiM2Q4ZXlKV0lqb2lN QzR3TGpBd01EQWkNCj4gTENKUUlqb2lWMmx1TXpJaUxDSkJUaUk2SWsxaGFXd2lMQ0pYVkNJNk1u MCUzRCU3QzYwMDAwJTdDJTdDJTdDJnNkYXRhPQ0KPiBqdWdtVERlQjR1cEdSSUtvdEx1U0ZxZmJJ RXdsYnJwMHo5NkdPTjJyJTJCY0klM0QmcmVzZXJ2ZWQ9MA0KPg0KPiBIZXJlIGlzIHRoZSBtYWlu IGZpbGU6DQo+IC0tLS0tDQo+DQo+ICNpbmNsdWRlIDxzdGRpby5oPg0KPg0KPiAjaW5jbHVkZSA8 dW5pc3RkLmg+DQo+DQo+ICNpbmNsdWRlIDxsdHRuZy9sdHRuZy5oPg0KPg0KPiAjaW5jbHVkZSA8 bHR0bmcvdHJhY2Vwb2ludC5oPg0KPg0KPiAjaW5jbHVkZSA8d2NoYXIuaD4NCj4NCj4gI2luY2x1 ZGUgInJlcHJvLXRyYWNlcG9pbnQuaCINCj4NCj4NCj4NCj4NCj4NCj4NCj4NCj4gaW50IG1haW4o KSB7DQo+DQo+ICAgICBwdXRzKCJIZWxsbywgV29ybGQhXG5QcmVzcyBFbnRlciB0byBjb250aW51 ZS4uLiIpOw0KPg0KPiAgICAgZ2V0Y2hhcigpOw0KPg0KPg0KPg0KPiAgICAgY29uc3QgY2hhciog dXRmOF90ZXh0X3ZhbHVlID0gIkhlbGxvLCBVVEY4IFNlcXVlbmNlIFRleHQhIjsNCj4NCj4gICAg IGNvbnN0IHdjaGFyX3QgKndjaGFyX3RleHRfdmFsdWUgPSBMIkhlbGxvLCBXQ2hhciBTZXF1ZW5j ZSBUZXh0ISI7DQo+DQo+DQo+DQo+ICAgICAvLyBFbWl0IHRoZSB0cmFjZXBvaW50IGV2ZW50IHdp dGggdGhlIHNlcXVlbmNlIHRleHQgZmllbGQNCj4NCj4gICAgIGx0dG5nX3VzdF90cmFjZXBvaW50 KG5hcmljY190ZXN0X3Byb3ZpZGVyLCB0ZXN0X2V2ZW50LA0KPiB1dGY4X3RleHRfdmFsdWUsIHdj aGFyX3RleHRfdmFsdWUpOw0KPg0KPg0KPg0KPiAgICAgcmV0dXJuIDA7DQo+DQo+IH0NCj4NCj4N Cj4NCj4gLS0tLQ0KPg0KPiBIZXJlIGlzIHRoZSB0cmFjZXBvaW50IGhlYWRlciAocmVwcm8tdHJh Y2Vwb2ludC5oKToNCj4gX19fDQo+DQo+ICN1bmRlZiBUUkFDRVBPSU5UX1BST1ZJREVSDQo+DQo+ ICNkZWZpbmUgVFJBQ0VQT0lOVF9QUk9WSURFUiBuYXJpY2NfdGVzdF9wcm92aWRlcg0KPg0KPg0K Pg0KPiAjdW5kZWYgVFJBQ0VQT0lOVF9JTkNMVURFDQo+DQo+ICNkZWZpbmUgVFJBQ0VQT0lOVF9J TkNMVURFICIuL3JlcHJvLXRyYWNlcG9pbnQuaCINCj4NCj4NCj4NCj4gI2lmICFkZWZpbmVkKF9U UF9IKSB8fCBkZWZpbmVkKFRSQUNFUE9JTlRfSEVBREVSX01VTFRJX1JFQUQpDQo+DQo+ICNkZWZp bmUgX1RQX0gNCj4NCj4NCj4NCj4gI2luY2x1ZGUgPGx0dG5nL3RyYWNlcG9pbnQuaD4NCj4NCj4g I2luY2x1ZGUgPHdjaGFyLmg+DQo+DQo+DQo+DQo+IC8vIERlZmluZSB0aGUgdHJhY2Vwb2ludCBl dmVudCB3aXRoIGEgc2VxdWVuY2UgdGV4dCBmaWVsZA0KPg0KPiBUUkFDRVBPSU5UX0VWRU5UKG5h cmljY190ZXN0X3Byb3ZpZGVyLCB0ZXN0X2V2ZW50LA0KPg0KPiAgICAgVFBfQVJHUygNCj4NCj4g ICAgICAgICBjb25zdCBjaGFyKiwgdXRmOF90ZXh0X3ZhbHVlLA0KPg0KPiAgICAgICAgIGNvbnN0 IHdjaGFyX3QqLCB3Y2hhcl90ZXh0X3ZhbHVlDQo+DQo+ICAgICApLA0KPg0KPiAgICAgVFBfRklF TERTKA0KPg0KPiAgICAgICAgIGN0Zl9zZXF1ZW5jZV90ZXh0KGNoYXIsIHV0ZjhfdGV4dF9zZXF1 ZW5jZSwgdXRmOF90ZXh0X3ZhbHVlLA0KPiBzaXplX3QsIHN0cmxlbih1dGY4X3RleHRfdmFsdWUp KQ0KPg0KPiAgICAgICAgIGN0Zl9zZXF1ZW5jZV90ZXh0KHdjaGFyX3QsIHdjaGFyX3RleHRfc2Vx dWVuY2UsDQo+IHdjaGFyX3RleHRfdmFsdWUsIHNpemVfdCwgd2NzbGVuKHdjaGFyX3RleHRfdmFs dWUpICogMiArIDIpDQo+DQo+ICAgICApDQo+DQo+ICkNCj4NCj4NCj4NCj4gI2VuZGlmIC8qIF9U UF9IICovDQo+DQo+DQo+DQo+ICNpbmNsdWRlIDxsdHRuZy90cmFjZXBvaW50LWV2ZW50Lmg+DQo+ DQo+IC0tLS0NCj4gQW5kIGhlcmUgaXMgdGhlIHJlcHJvLXRyYWNlcG9pbnQuY3BwOg0KPiBfX18N Cj4NCj4gI2RlZmluZSBMVFROR19VU1RfVFJBQ0VQT0lOVF9DUkVBVEVfUFJPQkVTDQo+DQo+ICNk ZWZpbmUgTFRUTkdfVVNUX1RSQUNFUE9JTlRfREVGSU5FDQo+DQo+DQo+DQo+ICNpbmNsdWRlICJy ZXByby10cmFjZXBvaW50LmgiDQo+DQo+IC0tLQ0KPg0KPiBJIGJ1aWx0IGl0IGxpa2Ugc286DQo+ DQo+DQo+IGcrKyAtYyAtSS4gcmVwcm8tdHJhY2Vwb2ludC5jcHANCj4NCj4gZysrIC1jIGx0dG5n LXRlc3QuY3BwDQo+DQo+IGcrKyAtbyBsdHRuZy10ZXN0IGx0dG5nLXRlc3QubyByZXByby10cmFj ZXBvaW50Lm8gLWxsdHRuZy11c3QgLWxkbA0KPg0KPiBuYXJpY2NAVERDMjA3NDg5MTQ6L3dvcmtz cGFjZS9sdHRuZy10ZXN0JA0KPg0KPiAtLS0NCj4NCj4gQWZ0ZXIgc3RhcnRpbmcgYSBzZXNzaW9u LCBydW5uaW5nIHRoYXQgcHJvZ3JhbSwgYW5kIGRlc3Ryb3lpbmcgdGhlIHNlc3Npb24sIHRoaXMg aXMgd2hhdCBJIGdldCB3aXRoIGJhYmVsdHJhY2UyOg0KPg0KPiBgYGANCj4gJCBiYWJlbHRyYWNl MiAgfi9sdHRuZy10cmFjZXMvbXktdXNlci1zcGFjZS1zZXNzaW9uLTIwMjQwMTMxLTE2MTYzOA0K PiBbMTY6MTY6NDMuNTUzMjExNDIxXSAoKz8uPz8/Pz8/Pz8/KSBUREMyMDc0ODkxNA0KPiBuYXJp Y2NfdGVzdF9wcm92aWRlcjp0ZXN0X2V2ZW50OiB7IGNwdV9pZCA9IDYgfSwgew0KPiBfdXRmOF90 ZXh0X3NlcXVlbmNlX2xlbmd0aCA9IDI2LCB1dGY4X3RleHRfc2VxdWVuY2UgPSAiSGVsbG8sIFVU RjgNCj4gU2VxdWVuY2UgVGV4dCEiLCBfd2NoYXJfdGV4dF9zZXF1ZW5jZV9sZW5ndGggPSA1Niwg d2NoYXJfdGV4dF9zZXF1ZW5jZQ0KPiA9IFsgWzBdID0gNzIsIFsxXSA9IDAsIFsyXSA9IDAsIFsz XSA9IDAsIFs0XSA9IDAsIFs1XSA9IDAsIFs2XSA9IDAsDQo+IFs3XSA9IDAsIFs4XSA9IDAsIFs5 XSA9IDAsIFsxMF0gPSAwLCBbMTFdID0gMCwgWzEyXSA9IDAsIFsxM10gPSAwLA0KPiBbMTRdID0g MCwgWzE1XSA9IDAsIFsxNl0gPSAwLCBbMTddID0gMCwgWzE4XSA9IDAsIFsxOV0gPSAwLCBbMjBd ID0gMCwNCj4gWzIxXSA9IDAsIFsyMl0gPSAwLCBbMjNdID0gMCwgWzI0XSA9IDAsIFsyNV0gPSAw LCBbMjZdID0gMCwgWzI3XSA9IDAsDQo+IFsyOF0gPSAwLCBbMjldID0gMCwgWzMwXSA9IDAsIFsz MV0gPSAwLCBbMzJdID0gMCwgWzMzXSA9IDAsIFszNF0gPSAwLA0KPiBbMzVdID0gMCwgWzM2XSA9 IDAsIFszN10gPSAwLCBbMzhdID0gMCwgWzM5XSA9IDAsIFs0MF0gPSAwLCBbNDFdID0gMCwNCj4g WzQyXSA9IDAsIFs0M10gPSAwLCBbNDRdID0gMCwgWzQ1XSA9IDAsIFs0Nl0gPSAwLCBbNDddID0g MCwgWzQ4XSA9IDAsDQo+IFs0OV0gPSAwLCBbNTBdID0gMCwgWzUxXSA9IDAsIFs1Ml0gPSAwLCBb NTNdID0gMCwgWzU0XSA9IDAsIFs1NV0gPSAwIF0NCj4gfQ0KPg0KPiBgYGANCj4NCj4gVGhlIHV0 Zjggc2VxdWVuY2UgcHJpbnRzIGZpbmUsIGJ1dCB0aGUgd2NoYXIgb25lIGlzIHRydW5jYXRlZCB0 byBhIHNpbmdsZSBjaGFyYWN0ZXIgYW5kIHRoZW4gemVyb3MuICBUbyBydWxlIG91dCBhbiBlcnJv ciBpbiBiYWJlbGx0cmFjZSwgSSBpbnNwZWN0ZWQgdGhlIGNoYW5uZWwgZmlsZXMgd2l0aCBoZXhl ZGl0IGFuZCBmb3VuZCB0aGlzOg0KPg0KPiBgYGANCj4gODUgNTggIEUxIEMxIDQzIEVFICA5QSA5 MyA5QyA2MCAgNkQgQjcgMkIgQjAgIDAwIDAwIDAwIDAwICAuLi4uLi4uWC4uQy4uLi5gbS4rLi4u Li4NCj4gMDAwMDAwMTggICAwNiAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgIDZBIDMzIERBIEI0ICAy RCBBRCAwMiAwMCAgMDQgNzggMUMgNTYgIDMwIEFEIDAyIDAwICAuLi4uLi4uLmozLi4tLi4uLngu VjAuLi4NCj4gMDAwMDAwMzAgICA2MCAwQiAwMCAwMCAgMDAgMDAgMDAgMDAgIDAwIDgwIDAwIDAw ICAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwICBgLi4uLi4uLi4uLi4uLi4u Li4uLi4uLi4NCj4gMDAwMDAwNDggICAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgIDA2IDAwIDAw IDAwICBGRiBGRiAwMCAwMCAgMDAgMDAgM0MgMTAgIEYyIEUyIDJFIEFEICAuLi4uLi4uLi4uLi4u Li4uLi48Li4uLi4NCj4gMDAwMDAwNjAgICAwMiAwMCAxQSAwMCAgMDAgMDAgMDAgMDAgIDAwIDAw IDQ4IDY1ICA2QyA2QyA2RiAyQyAgMjAgNTUgNTQgNDYgIDM4IDIwIDUzIDY1ICAuLi4uLi4uLi4u SGVsbG8sIFVURjggU2UNCj4gMDAwMDAwNzggICA3MSA3NSA2NSA2RSAgNjMgNjUgMjAgNTQgIDY1 IDc4IDc0IDIxICAzOCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgIDQ4IDAwIDAwIDAwICBxdWVuY2Ug VGV4dCE4Li4uLi4uLkguLi4NCj4gMDAwMDAwOTAgICAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAg IDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwICAuLi4u Li4uLi4uLi4uLi4uLi4uLi4uLi4NCj4NCj4gYGBgDQo+DQo+IFNvIGl0IHNlZW1zIHRoZSBlcnJv ciBpbiB0aGUgdGhlIHJlY29yZGluZyBvZiB0aGUgdHJhY2UsIG5vdCBpbiB0aGUgdmlld2luZy4N Cj4NCj4gTG9va2luZyBpbnRvIHRoZSBsdHRuZy11c3QgY29kZSwgaXQgc2VlbXMgbGlrZSBjdGZf c2VxdWVuY2VfdGV4dCBlbmRzIHVwIG1hcHBlZCB0byB0aGlzOg0KPg0KPiBsdHRuZy11c3QvaW5j bHVkZS9sdHRuZy91c3QtdHJhY2Vwb2ludC1ldmVudC13cml0ZS5oIGF0DQo+IDcxN2MzOGY2NTgy NDhiYzA0Y2NmYzZlN2ZkZjVkMDMwNDBjMmE4NDYgwrcgbHR0bmcvbHR0bmctdXN0IMK3IEdpdEh1 Yg0KPg0KPiBXaGljaCBhc3N1bWVzIHV0ZjggZW5jb2RpbmcsIGFuZCB1bHRpbWF0ZWx5IHdyaXRl cyBpbnRvIGEgcmluZyBidWZmZXIgdGVybWluYXRpbmcgb24gbnVsbDoNCj4NCj4gbHR0bmctdXN0 L3NyYy9jb21tb24vcmluZ2J1ZmZlci9iYWNrZW5kLmggYXQNCj4gNzE3YzM4ZjY1ODI0OGJjMDRj Y2ZjNmU3ZmRmNWQwMzA0MGMyYTg0NiDCtyBsdHRuZy9sdHRuZy11c3QgwrcgR2l0SHViDQo+DQo+ DQo+IElmIHdlIGFncmVlIHRoaXMgaXMgYW4gZXJyb3IsIEkgYmVsaWV2ZSBJIGNhbiBwcm9kdWNl IGEgZml4IGZvciBpdC4gT3IgaWYgSSBhbSBqdXN0IHVzaW5nIHRoZSBBUElzIHdyb25nLCBwbGVh c2UgbGV0IG1lIGtub3cgd2hhdCBJIHNob3VsZCBkbyBpbnN0ZWFkLg0KPg0KPiAgICAgICAgICAg ICAgLS1OYXRoYW4gUmljY2kNCj4NCj4NCj4NCj4NCj4NCj4NCj4gX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCj4gbHR0bmctZGV2IG1haWxpbmcgbGlzdA0K PiBsdHRuZy1kZXZAbGlzdHMubHR0bmcub3JnDQo+IGh0dHBzOi8vbGlzdC8NCj4gcy5sdHRuZy5v cmclMkZjZ2ktYmluJTJGbWFpbG1hbiUyRmxpc3RpbmZvJTJGbHR0bmctZGV2JmRhdGE9MDUlN0Mw MiU3Qw0KPiBuYXJpY2MlNDBtaWNyb3NvZnQuY29tJTdDNTcyYWM2MDkxNmI2NDU1ZTU2NjEwOGRj MjI4YzA0NzAlN0M3MmY5ODhiZjg2DQo+IGYxNDFhZjkxYWIyZDdjZDAxMWRiNDclN0MxJTdDMCU3 QzYzODQyMzIzMzAwOTIwNTQ3NCU3Q1Vua25vd24lN0NUV0ZwYkcNCj4gWnNiM2Q4ZXlKV0lqb2lN QzR3TGpBd01EQWlMQ0pRSWpvaVYybHVNeklpTENKQlRpSTZJazFoYVd3aUxDSlhWQ0k2TW4wJQ0K PiAzRCU3QzYwMDAwJTdDJTdDJTdDJnNkYXRhPWpsZEVtcHlDaDFZUE1GTDhMZTM1OTMyMHJiZlJm UkZ3NVNKd1JFYlhrbTAlDQo+IDNEJnJlc2VydmVkPTANCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCmx0dG5nLWRldiBtYWlsaW5nIGxpc3QKbHR0bmctZGV2 QGxpc3RzLmx0dG5nLm9yZwpodHRwczovL2xpc3RzLmx0dG5nLm9yZy9jZ2ktYmluL21haWxtYW4v bGlzdGluZm8vbHR0bmctZGV2Cg==