Received: by 2002:a05:6358:45e:b0:b5:b6eb:e1f9 with SMTP id 30csp315810rwe; Wed, 31 Aug 2022 23:02:02 -0700 (PDT) X-Google-Smtp-Source: AA6agR733F2Utens3Gu23I2xNQo8820gyOGLh/HQZlq6wI5MvOrDOF00Z23rzc32U6ihVKYlLwDG X-Received: by 2002:a17:907:b013:b0:73d:c708:3f22 with SMTP id fu19-20020a170907b01300b0073dc7083f22mr21868931ejc.608.1662012121719; Wed, 31 Aug 2022 23:02:01 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1662012121; cv=pass; d=google.com; s=arc-20160816; b=PxWfFYqnT45vfH9c6tatPLQPNFHqHd1ki6B4GC/sbglHn89VtSmvf/i2I2qUHk5Mff cG8FWt5O5yDC3k5sNxTqgSdNQCz9ERZxsk4KO66WIdh1tjknMBcHZAVNbE3ThOH1r8Fb FAbyHeOfWEXu3EnJkuyCHI5odnBxxtMPt7FrPBe5wZCHtLc7qypp7+mF0DnPJKRjkffH I0+bW3vpwCjPRLVXM3lSjlkoPwUVF1/CxOmjY3TnWKUAOLWH47qIAOF2QdoQh4q6TrFg y3CPhK2q3PrXm424l7rL7pYqRyRVudSooh16yjmeUrO+qjyePWeZikIT6gynD7mB8w73 PAfA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-id:user-agent:content-language:accept-language:in-reply-to :references:message-id:date:thread-index:thread-topic:subject:cc:to :from:dkim-signature; bh=LAMow6eUBby/2Rpy2sXXbKp0zSl2X+SQhM7Chem8+Ts=; b=Ny61lpjE9iWK3alJkFAYdhTr3wXQ1U7P99jsHgjH1MzeQrjIPNjCujzByi1Z/8DPin wQQtf9PSwlJs7eUmVWkRljePkpS34gZ5lupYLxm3fvQ+bztCyKXD9GDuzQB64euQ60z+ TIFQXwG/jTjJMyrVOp4+lHCLfw1NmFlEA+DMzL2mLvNFdZuiVJA6MlTzOMyjzU6luiPd UMVVNiRkViD7dWxHaBs/l8CxNqWfYgKN8B1Vei/QPDS7hz6z2Oz8r+gLya6iNBg4YOaZ yMh5nlWdAxXx/O36M8QyfS4mnCTAtGKVqyJO9llzpVo4/pqm6jNM5kI9RMfe9qqBB4l+ 5OjA== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@csgroup.eu header.s=selector1 header.b=U4clVhxV; arc=pass (i=1 spf=pass spfdomain=csgroup.eu dkim=pass dkdomain=csgroup.eu dmarc=pass fromdomain=csgroup.eu); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id b11-20020aa7cd0b000000b0043d476f96c1si924740edw.86.2022.08.31.23.01.03; Wed, 31 Aug 2022 23:02:01 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@csgroup.eu header.s=selector1 header.b=U4clVhxV; arc=pass (i=1 spf=pass spfdomain=csgroup.eu dkim=pass dkdomain=csgroup.eu dmarc=pass fromdomain=csgroup.eu); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232989AbiIAFWl (ORCPT + 99 others); Thu, 1 Sep 2022 01:22:41 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60778 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232975AbiIAFWg (ORCPT ); Thu, 1 Sep 2022 01:22:36 -0400 Received: from FRA01-MR2-obe.outbound.protection.outlook.com (mail-eopbgr90083.outbound.protection.outlook.com [40.107.9.83]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9E3C61090B9 for ; Wed, 31 Aug 2022 22:22:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=UY4szxixDy9NcFItW2ABAlPCae/go/DjGASPLpRWUJMGpKmjL3ixZEMKu8tRxBJo71OvWzaCzm3vdE0LbwlWt2SEGDrJ3T7bWiPLfxd1mA88LUM6yWmWYxUu5eBSGxgPxfHyEJ5EuTZ55ZHN6d7lHR4dNlkR2Qb5jn69WNIx45J6FmFk3J+4qp7tJklmK3w/TMPvQJ/AiUjDE3OTUwU/Sjp8MpRacAv1WfFGFcyzruGHce1CnrbMfU76xivGggYPumoywTjy+RBXa0GsW4p5AY86peUOL8te4BB7QBjVjW2KrRhMbjTyiJrTy2ysh+s3b7bMH1nfP1c/qrfthUkqxg== 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=LAMow6eUBby/2Rpy2sXXbKp0zSl2X+SQhM7Chem8+Ts=; b=E7951jHSBN7+UtMoImrAQuJ+GoyqvqH3SVoqAiSRoGv0Fi5Ylu/SU4zh/g6umg+gINSnrUTB81ok6BaEARhDt7VLq1JcXohejEEVwvAcPsT18b69MpS+K7LkRdS3EF4tavNsAq12xCpLtljoAMOpQmt0+eI8XRb9rfYpF2mttypcNU6jbG8w/9YIQOozKeKgxQNEOxPfrg5vJkIH67wlSHmW4Wjje3rVWXvJJpXeZYNHIyqKEUFMqeOsfB2dBCKSL/VwIuwTY86F0h5+PgtnQhccr2i/N8CeOxODCePNZ+XhQKQHzqc/pcXEuXDKOGhN52oq4p099nv49JEtbyvESg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=csgroup.eu; dmarc=pass action=none header.from=csgroup.eu; dkim=pass header.d=csgroup.eu; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=csgroup.eu; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=LAMow6eUBby/2Rpy2sXXbKp0zSl2X+SQhM7Chem8+Ts=; b=U4clVhxV4yUX+C+f1mqNL9PJIZH70T0EyLojL9DMkFHd1TDC7+5o9BpClh46ZuEL6XntjxGEbGOAHLecxd7ao8gxoz/q8mokqdKVRUX0WGj7rscGEKWAAEbTYoHlHIHvipt06ekpyUIOavlfRiBX465MA5hpOvF1uPgdPtzUB3CzanEDeoXS7u+0EIweRaAg6q26/ZFfV4kgL4x7Kabrg4ig86Rhn7C4yC0I9OG5C7DBaSpySqQL7Y0qFOyOsMx3rwQ1NfbKlMDcUKUCf/3ZVMwiyGU/PetXyLKIcH7tZ+wJ5mpVNVnWr3c7+qyCQwRei4VBbiPuCnIuHayFiFWPRw== Received: from MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:31::15) by PR0P264MB3306.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:147::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5588.10; Thu, 1 Sep 2022 05:22:32 +0000 Received: from MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM ([fe80::382a:ed3b:83d6:e5d8]) by MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM ([fe80::382a:ed3b:83d6:e5d8%4]) with mapi id 15.20.5588.010; Thu, 1 Sep 2022 05:22:32 +0000 From: Christophe Leroy To: Segher Boessenkool , Michael Ellerman CC: Nicholas Piggin , "linux-kernel@vger.kernel.org" , "linuxppc-dev@lists.ozlabs.org" , Zhouyi Zhou Subject: Re: [PATCH v2] powerpc: Fix irq_soft_mask_set() and irq_soft_mask_return() with sanitizer Thread-Topic: [PATCH v2] powerpc: Fix irq_soft_mask_set() and irq_soft_mask_return() with sanitizer Thread-Index: AQHYtw7tEe9N/+CAqU6ZnvEJZB4bTq3G8M2AgAACxICAADyMgIAAAlUAgAJ2JACAAG71AA== Date: Thu, 1 Sep 2022 05:22:32 +0000 Message-ID: References: <7c11b659-5b8e-256c-508e-39395041fccb@csgroup.eu> <20220831224522.GX25951@gate.crashing.org> In-Reply-To: <20220831224522.GX25951@gate.crashing.org> Accept-Language: fr-FR, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.2.0 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=csgroup.eu; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: d3e34881-ac45-4e0e-9a0f-08da8bd9f8ae x-ms-traffictypediagnostic: PR0P264MB3306:EE_ x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: rlmMkSUwqxFdU/DAbUW+PbUDq2TYyHToShpkieXEapp5xWLt1HMpwhGwlmWq2w/PR3GxVU0djTR5IUP2H7oRjzAtWbfp/CeH477pFxzOqmoscoeMnqp/GBl7+wOvDzlvom46o8fzTR6JUtYpiMcK2AYuZsKPxvSV4DHgDoEbNvZFQVHuubAGvcHwgKDo9zSyhElDW80ilCkTxZZuYL6oftsCuBRh4zMJlBPQpCNqmnKAxNcZeVtyZ5ViAvueJg01vPVdBorQHoOJwFhxesMMogPMKCOIqtE3i/6yjSj6QnHBWiG9YskT9b+QsdO0rv7KLTsjM73VAl0J+L8zvj8EQ0lHUbDPQxblLRJZThJkzRQcRTTWuzTt4e/fsmsC007UxNf6SJr+4YXTseHeQe64rkuLSKDsQqxzLvjdXo7qBssw9GosTz+vyaph0Nj9gm8PQM0/VkHDn/OCOomsapr3kn2fu+lFZD/gSaBJqvG6tRmCt6FIJ9STrMvhgFszL1XDlRJbFSjhc5yhFWas8qy2xYQAJPJwGVfcZSOKD610Vr+R4ekpfFO/y1fCqupQip+thXX8180Yfgdytl/F2z2AX18BRHHJcZkLG0kbDZ3DKAYIvzl4d3DHHHh6SP0jk0jW4EC5JTQFKqWpq3typwA6ZPA3zWI6a8REzOH4vptL/4yIj0gO+PctmtWVTYEwOOvRRL6uATuYSJUXnmU40//xjgyWUbT3S4YD257N650FvTLLsZNkimM+Hcaw2+lbsB1scrtX2vL10hj54cCTe5W7Gmp3LEBjuCKNYQcpUJ5h33/5w6edTShPuXiqXRh+EVd4e73qXp4AsM03y9hKSjq1xA== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230016)(4636009)(376002)(39850400004)(366004)(396003)(136003)(346002)(31696002)(316002)(38100700002)(2906002)(6512007)(26005)(83380400001)(122000001)(186003)(66574015)(31686004)(36756003)(6506007)(86362001)(2616005)(478600001)(71200400001)(54906003)(44832011)(8936002)(110136005)(41300700001)(66946007)(64756008)(8676002)(4326008)(66446008)(66476007)(66556008)(38070700005)(6486002)(76116006)(5660300002)(91956017)(45980500001)(43740500002);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?M3ZVNUhCNm9YZkZCTGZ5VGVpcFlOKzJDOGtGMENsZzNCRjdla05JVVNVczFx?= =?utf-8?B?YUlqMnRWeTJIWlBObzBIeEM0bkU5anUxS05pN0FZRWx6ZVpwOXArOG9DVmpH?= =?utf-8?B?T2J6UFBrVWZxZHFkVWluQ2hrU0FFTUtpMU53VlhLbHlFN3pRa0VlZkxBNUpY?= =?utf-8?B?RFpSQ1hSK083ajRRL2F5WU1CV1NRQlhSa0RCa0U0dFRjNmVDY0NBSU1seHFS?= =?utf-8?B?VU1rcjhvVk9TSXlsU3o0aHNQdzc0cE5TVHpFakVnRkU0NUJLZXBuNkNnazlT?= =?utf-8?B?S0hyMEpUTk1nbVpkVmlsRENDOXFkUU9qRnBxUXhZUDNYTzE5UG1PRHNBZnR5?= =?utf-8?B?TWltWWhLc1JWRGxvNmV1elZxY2pBRll3cVMrWXdxUDdoSXhiYzJ0dVoyMGRs?= =?utf-8?B?MmFzWFRSUzZhNWJ2WFFzcnlIUGpRamhxZG83Y3dXRW80TU1yajlLWnNodFM2?= =?utf-8?B?aC90NHBxVkJPNjNJTW5jTVhPSlBDbytGa3JodHovU1FpT1ZSY1FLblgrWHUr?= =?utf-8?B?SHRURXdvQU0wRGxTUFVMaG1wRUE0Qm5OUENIbFlHam92VmlYd20wK29namNo?= =?utf-8?B?b090L1VKMmVkRlgwanp6SVhxb3BLMyszLzlCbjZtYTlpZHVSMmpjZU5uTGxU?= =?utf-8?B?dmh3Z29waEROSzk5akVhUmFxcktyVzBMcVNVQnpTM1FFYW11ODNvOEE0MVFp?= =?utf-8?B?Y2FJUVRBTEg4cjBVTDRueHZUR1ZuTUJaeVJ1ZURvV0VualpXQ01td1JXUU1B?= =?utf-8?B?RUJuSWMzVDZjMU43NzhPNEtwQm1LQzZleTNQMms5SEtXU2UrNFY1Qi9PTy8x?= =?utf-8?B?WHkxYWg2SGtNVGI3UzYzb2E3aUJldllWSm5VWjlpUHVseEw4ck9DSlQ3K2J1?= =?utf-8?B?TWVQdHk3MDBhRHY3Y1YwNndEWlltbk5xd0hGcjdkSWVwR2U4cGcraWgyWnBG?= =?utf-8?B?L0ZUekh4eHZDNStpRkxzK05PaDBsSVJmOWhCL1V5eW4wbURzakI0OWRSbFFL?= =?utf-8?B?anJDdktSWGVSZGxXb3lmcFF6R0RLZ1pkcmpzRngrL3QwbFh2YzJUSW90azUx?= =?utf-8?B?Q09BMHYzZ2R6MmJ4dllyb1Ezam40bHpZOXJHeUt3Tk5zaE9ERUx3V05tZDlM?= =?utf-8?B?dldqS0dRbzE4Z3psbGlDdHI1c0t1V0cyVzZyUU56bnJZRWpqNERsQi9hNi9i?= =?utf-8?B?bTMwbjV5QVd4RFdkZ0NVeUdadkFSdTg0b0cwR0tmSVoxdGFEdU84RGZvRjBH?= =?utf-8?B?cCs0Y2NIRzllZUJ6ZG9qenF5TVdPY05CejJsNmYyNWRNUDdTYUdpeE9ibUxo?= =?utf-8?B?NXd6VHlmbm5pSXJGRnVWV0l0ZHZIZHNsZ3pORTFBV2FQUFN1aGhxSGFab0M1?= =?utf-8?B?MlVNRVVJS1hDODhFRnlMcTBCWkNoK2dVUXJoUVhzRmhmRjBobWhIcUY5Q2tC?= =?utf-8?B?NmErMXlHaEd4OWx5Z0FvNS9TUE52MVo3YUZlR1N3aXpQVm1ZRFJXRUJIN1VD?= =?utf-8?B?VkxmQ3JXZEpFSUhqQWd4WGdkZHZJUHkybXZQZDYzVDhiMHVwQlc2UTRqcnR4?= =?utf-8?B?TXZFOEx3U3drWm04NXQvRDc3Y01GcTZ2OURQODVxRTVBTUZJK2Nldmxmb1BG?= =?utf-8?B?OW45YktqakcveWttb0UzUU1UYVo2UGxldTVjWWNlK2svRlplSkpNNUx4TTB0?= =?utf-8?B?eWhzcm9XVnlBK2o0R3BVckc4Y2RpWE9NVW5wZEpnTVhjeW5UdjdBc0h0cm9O?= =?utf-8?B?THpZTE5kYmdQVlJEOTNLYnBWdVhXT0ZVRS9SSmV6ci9NN3lMUkRKbGExenE1?= =?utf-8?B?U1kwTS9ndi9nNTJ4THRhRHRWb1hTRGtqcEVYMTBQTUxNNS9SYmdUUi8waElI?= =?utf-8?B?bzJUL0doOXhGQSt6a0loRm8xQnNoQmVlQkF0QVRlYmg0THIxZjVpY1JXTzBN?= =?utf-8?B?K2FuRTZTTmtSdnVWV1NNSnBJYlFxOStuNWcwZWJWYWgxY2FwaFcwU0VYc1ZW?= =?utf-8?B?c0ZGYUp4RjRsRmhMSXdFVyt1QjFxVlB2Y0F0V3MzeGFXemgrQlJIeTBXOWVj?= =?utf-8?B?TjFVZVZHOVk5S0l3RkltNHdueFZEVVJvdWZjTHIxdEdLRzhMS21Lb3FvYkl6?= =?utf-8?B?Q2x2cVcybWxkZmVIMWtvTHZUS0ZoZHNvS1lTVFprcjJNRGlGbnZ3MktMZllG?= =?utf-8?B?UGc9PQ==?= Content-Type: text/plain; charset="utf-8" Content-ID: <5A11255B4717FF44B3E33DF078064EFC@FRAP264.PROD.OUTLOOK.COM> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: csgroup.eu X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: d3e34881-ac45-4e0e-9a0f-08da8bd9f8ae X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Sep 2022 05:22:32.2425 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 9914def7-b676-4fda-8815-5d49fb3b45c8 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: juFLgWQMGBV9vJAXl5aa40vusEVDfWU20NT1S6JB/c7h7+glt1OeelD0/8cSVJkmh63owfvsc/wAqL0Wgl3Ba3meImcTxUxEStwr9XRwltc= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR0P264MB3306 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,NICE_REPLY_A,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org DQoNCkxlIDAxLzA5LzIwMjIgw6AgMDA6NDUsIFNlZ2hlciBCb2Vzc2Vua29vbCBhIMOpY3JpdMKg Og0KPiBIaSENCj4gDQo+IE9uIFR1ZSwgQXVnIDMwLCAyMDIyIGF0IDA5OjEwOjAyQU0gKzAwMDAs IENocmlzdG9waGUgTGVyb3kgd3JvdGU6DQo+PiBMZSAzMC8wOC8yMDIyIMOgIDExOjAxLCBOaWNo b2xhcyBQaWdnaW4gYSDDqWNyaXTCoDoNCj4+PiBPbiBUdWUgQXVnIDMwLCAyMDIyIGF0IDM6MjQg UE0gQUVTVCwgQ2hyaXN0b3BoZSBMZXJveSB3cm90ZToNCj4+Pj4+IFRoaXMgaXMgc3RpbGwgc2xp Z2h0bHkgY29uY2VybmluZyB0byBtZS4gSXMgdGhlcmUgYW55IGd1YXJhbnRlZSB0aGF0IHRoZQ0K Pj4+Pj4gY29tcGlsZXIgd291bGQgbm90IHVzZSBhIGRpZmZlcmVudCBzZXF1ZW5jZSBmb3IgdGhl IGFkZHJlc3MgaGVyZT8NCj4+Pj4+DQo+Pj4+PiBNYXliZSBleHBsaWNpdCByMTMgaXMgcmVxdWly ZWQuDQo+Pj4+Pg0KPj4+Pg0KPj4+PiBsb2NhbF9wYWNhIGlzIGRlZmluZWQgYXM6DQo+Pj4+DQo+ Pj4+IAlyZWdpc3RlciBzdHJ1Y3QgcGFjYV9zdHJ1Y3QgKmxvY2FsX3BhY2EgYXNtKCJyMTMiKTsN Cj4gDQo+IEFuZCB0aGlzIGlzIGluIGdsb2JhbCBzY29wZSwgbWFraW5nIGl0IGEgZ2xvYmFsIHJl Z2lzdGVyIHZhcmlhYmxlLg0KPiANCj4+Pj4gV2h5IHdvdWxkIHRoZSBjb21waWxlciB1c2UgYW5v dGhlciByZWdpc3RlciA/DQo+Pj4NCj4+PiBIb3BlZnVsbHkgaXQgZG9lc24ndC4gSXMgaXQgZ3Vh cmFudGVlZCB0aGF0IGl0IHdvbid0Pw0KPiANCj4gWWVzLCB0aGlzIGlzIGd1YXJhbnRlZWQuDQo+ IA0KPiBGb3IgYSBsb2NhbCByZWdpc3RlciB2YXJpYWJsZSB0aGlzIGlzIGd1YXJhbnRlZWQgb25s eSBmb3Igb3BlcmFuZHMgdG8gYW4NCj4gZXh0ZW5kZWQgaW5saW5lIGFzbTsgYW55IG90aGVyIGFj Y2VzcyB0byB0aGUgdmFyaWFibGUgZG9lcyBub3QgaGF2ZSB0bw0KPiBwdXQgaXQgaW4gdGhlIHNw ZWNpZmllZCByZWdpc3Rlci4NCj4gDQo+IEJ1dCB0aGlzIGlzIGEgZ2xvYmFsIHJlZ2lzdGVyIHZh cmlhYmxlLiAgVGhlIG9ubHkgdGhpbmcgdGhhdCB3b3VsZCBtYWtlDQo+IHRoaXMgY3Jhc2ggYW5k IGJ1cm4gaXMgaWYgKmFueSogdHJhbnNsYXRpb24gdW5pdCBkaWQgbm90IHNlZSB0aGlzDQo+IGRl Y2xhcmF0aW9uOiBpdCBjb3VsZCB0aGVuIHVzZSByMTMgKGlmIHRoYXQgd2FzIGFsbG93ZWQgYnkg dGhlIEFCSSBpbg0KPiBlZmZlY3QsIGhlaCkuDQo+IA0KPj4+IEknbSBzdXJlIFNlZ2hlciB3aWxs IGJlIGRlbGlnaHRlZCB3aXRoIHRoZSBjcmVhdGl2ZSBhc20gaW4gX19kb19JUlENCj4+PiBhbmQg Y2FsbF9kb19pcnEgOikgKkdyYWJzIHBvcGNvcm4qDQo+IA0KPiBBbGwgdGhhdCAlJSBpcyBibGlu ZGluZywgeWVzLg0KPiANCj4gSW5saW5lIHRhYnMgYXJlIGJhZCB0YXN0ZS4NCj4gDQo+IE9wZXJh bmQgbmFtZXMgaW5zdGVhZCBvZiBudW1iZXJzIGFyZSBncmVhdCBmb3Igb2JmdXNjYXRpb24sIGFu ZCBub3RoaW5nDQo+IGVsc2UgLS0gdW5sZXNzIHlvdSBoYXZlIG1vcmUgdGhhbiBmb3VyIG9yIGZp dmUgb3BlcmFuZHMsIGluIHdoaWNoIGNhc2UNCj4geW91IGhhdmUgYmlnZ2VyIHByb2JsZW1zIGFs cmVhZHkuDQo+IA0KPiBPaCwgdGhpcyBmdW5jdGlvbiBpcyBhIGdvb2QgZXhhbXBsZSBvZiBwcm9w ZXIgdXNlIG9mIGxvY2FsIHJlZ2lzdGVyIGFzbSwNCj4gYnR3Lg0KPiANCj4gQ29tbWVudHMgbGlr ZSAiLy8gSW5wdXRzIiBhcmUganVzdCBoYXJtZnVsLiAgQXMgaXMgdGhlICJjcmVhdGl2ZSINCj4g aW5kZW50YXRpb24gaGVyZS4gIEJvdGggaGFybSByZWFkYWJpbGl0eSBhbmQgZG8gbm90IGhlbHAg dW5kZXJzdGFuZGluZw0KPiBpbiBhbnkgb3RoZXIgd2F5IGVpdGhlci4NCj4gDQo+IFRoZSB0aGlu ZyBhYm91dCBpbmxpbmUgYXNtIGlzIHRoZSBzbWFsbGVzdCBkZXRhaWxzIGNoYW5nZSBtZWFuaW5n IG9mIHRoZQ0KPiB3aG9sZSwgaXQgaXMgYSB2ZXJ5IGhhcnNoIGVudmlyb25tZW50LCB5b3UgYXJl IHByb2dyYW1taW5nIGJvdGggaW4gQyBhbmQNCj4gZGlyZWN0bHkgYXNzZW1ibGVyIGNvZGUgYXMg d2VsbCwgYW5kIHRoaW5ncyBoYXZlIHRvIGJlIHZhbGlkIGZvciBib3RoLA0KPiBhbHRob3VnaCBv biB0aGUgb3RoZXIgaGFuZCB0aGVyZSBpcyBhbG1vc3Qgbm8gZXJyb3IgY2hlY2tpbmcuICBLZWVw aW5nDQo+IGl0IHNtYWxsLCBzaW1wbGUsIHJlYWRhYmxlIGlzIHBhcmFtb3VudC4NCj4gDQo+IFRo ZSBydWxlcyBmb3IgdXNpbmcgaW5saW5lIGFzbToNCj4gDQo+IDApIERvIG5vIHVzZSBpbmxpbmUg YXNtLg0KPiAxKSBVc2UgZXh0ZW5kZWQgYXNtLCB1bmxlc3MgeW91IGtub3cgYWxsIGRpZmZlcmVu Y2VzIHdpdGggYmFzaWMgYXNtLCBhbmQNCj4gICAgIHlvdSBrbm93IHlvdSB3YW50IHRoYXQuICBB bmQgaWYgeW91IGFuc3dlciAieWVzIEkgZG8iIHRvIHRoZSBsYXR0ZXIsDQo+ICAgICB5b3UgYW5z d2VyZWQgd3JvbmcgdG8gdGhlIGZvcm1lci4NCj4gMikgRG8gbm90IHVzZSB0b3BsZXZlbCBhc20u DQo+IDMpIERvIG5vIHVzZSBpbmxpbmUgYXNtLg0KPiA0KSBEbyBubyB1c2UgaW5saW5lIGFzbS4N Cj4gNSkgRG8gbm8gdXNlIGlubGluZSBhc20uDQo+IA0KPiBJbmxpbmUgYXNtIGlzIGEgdmVyeSBw b3dlcmZ1bCBlc2NhcGUgaGF0Y2guICBMaWtlIGFsbCBlbWVyZ2VuY3kgZXhpdHMsDQo+IHlvdSBz aG91bGQgbm90IHVzZSB0aGVtIGlmIHlvdSBkbyBub3QgbmVlZCB0aGVtISAgOi0pDQo+IA0KPiBC dXQsIHlvdSBhcmUgdGFsa2luZyBhYm91dCB0aGUgZnVuY3Rpb24gY2FsbGluZyBhbmQgdGhlIGZy YW1lIGNoYW5nZSBJDQo+IGJldCA6LSkgIEJvdGggb2YgdGhlc2UgYXJlIG9ubHkgb2theSBiZWNh dXNlIGV2ZXJ5dGhpbmcgaXMgYmFjayBhcyBpdA0KPiB3YXMgd2hlbiB0aGlzIChzaW5nbGUhKSBh c20gaXMgZG9uZSwgYW5kIHRoZSBzdGF0ZSBjcmVhdGVkIGlzIHBlcmZlY3RseQ0KPiBmaW5lICh0 aGlzIGlzIHZlcnkgZGVwZW5kZW50IG9uIGV4YWN0IEFCSSB1c2VkLCBldGMuKQ0KPiANCj4gSSB3 b3VsZCBoYXZlIHVzZWQgcmVhbCBhc3NlbWJsZXIgY29kZSBoZXJlIChpbiBhIC5zIGZpbGUpLiAg QnV0IHRoZXJlDQo+IHByb2JhYmx5IGFyZSByZWFzb25zIHRvIGRvIHRoaW5ncyB0aGlzIHdheSwg cGVyZm9ybWFuY2UgcHJvYmFibHk/DQoNCldlIGNoYW5nZWQgaXQgdG8gaW5saW5lIGFzbSBpbiBv cmRlciB0byAuLi4gaW5saW5lIGl0IGluIHRoZSBjYWxsZXIuDQoNCkkgYWxzbyBmaW5kIHRoYXQg dGhvc2Ugb3BlcmFuZCBuYW1lcyBtYWtlIGl0IGF3dWxsIG1vcmUgZGlmZmljdWx0IHRvIA0KcmVh ZCB0aGF0IHRyYWRpdGlvbmFsIG51bWJlcmluZy4gSSByZWFsbHkgZGlzbGlrZSB0aGF0IG5ldyB0 cmVuZC4NCkFuZCBzYW1lIHdpdGggdGhvc2UgLy8gY29tbWVudHMsIGJldHRlciB1c2UgbWVhbmlu Z2Z1bGwgQyB2YXJpYWJsZSBuYW1lcy4NCg0KQ2hyaXN0b3BoZQ==