From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 99E97A034F; Fri, 7 May 2021 08:36:22 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 44FB140686; Fri, 7 May 2021 08:36:21 +0200 (CEST) Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-eopbgr150087.outbound.protection.outlook.com [40.107.15.87]) by mails.dpdk.org (Postfix) with ESMTP id 3977F40040; Fri, 7 May 2021 08:36:19 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=pjyhYOO3A5dmXRX43lyrH71vvCDv10cywzu/SFlC8tg=; b=D4OZem2xoDUuXAi5pR1a+QWrLGaoySIzAMb0oeeL8oXYis4bg99xU2N2eokiefIm81vaK6vGPqtOyALVgir+mdmAHGo+w7F/EG7l2FvALSSwtZ0jJAet9HWx/ihzeXyVBUeSIll403CrN1cwaCaqPGHNHdRBHBGdDJraJz6xtc0= Received: from AS8PR05CA0011.eurprd05.prod.outlook.com (2603:10a6:20b:311::16) by DU2PR08MB7239.eurprd08.prod.outlook.com (2603:10a6:10:2d2::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4108.25; Fri, 7 May 2021 06:36:16 +0000 Received: from VE1EUR03FT031.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:311:cafe::4) by AS8PR05CA0011.outlook.office365.com (2603:10a6:20b:311::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4108.25 via Frontend Transport; Fri, 7 May 2021 06:36:16 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dpdk.org; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;dpdk.org; dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by VE1EUR03FT031.mail.protection.outlook.com (10.152.18.69) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4108.25 via Frontend Transport; Fri, 7 May 2021 06:36:16 +0000 Received: ("Tessian outbound 9a5bb9d11315:v91"); Fri, 07 May 2021 06:36:15 +0000 X-CR-MTA-TID: 64aa7808 Received: from 6d0c45eaf9f1.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 002673A8-3062-46A7-B53A-75F89C6E8A34.1; Fri, 07 May 2021 06:36:09 +0000 Received: from EUR05-VI1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 6d0c45eaf9f1.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Fri, 07 May 2021 06:36:09 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=aHUPRnjg4EyDFrNdpgk4pbcg/Z1TbUp3TsLUPgcp3lF/OfVdjksj9j5zk5FATb6FonDekM5qHF5OruZ1p2NMMJXUV92w8OoOZdNNO7sS5j/oYc/jJwi00cmR1DUSy4KNSPX48bDctkvn/L4/+WSg4fsNazGB8zAOQZK1ARflSX7PlKLGLhP/UvkNrmBt7k/g2DlMtDB0lYELhBWIDWez/sRcuzY50scs5LBCGgvYIm9TgxjG7k4yndvv/qR9+O35yahdX62g2z3D4BNlZP7SX72ZRVb3N8WDHv859wTugzGyGAwdLBy2zSX7jMzN3hx2YuNIC947DXaLtdYsA5ZBaA== 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-SenderADCheck; bh=pjyhYOO3A5dmXRX43lyrH71vvCDv10cywzu/SFlC8tg=; b=LW7B0+9lNaoKQ8xkV5BAHCaKGSGGu4Jjkn9nh+Adn3eK+dWkj8CVRtVOrmpldiAmZOPocKGrI+7Vdn7YNb9qn4ORsDYKSo4PtxvPXskZf7XdTnLJ/jrvFVIyTrAdiE913UmxuwIt9D0Awt/sAsN/IO3JDYQUgazTPNUIF3e+AzTdk0Q6knOYt+OXDgEKJfFmotF8A7xULcyccN8YauWbA8OhATHB3ZZ7OTyvmoJDTu5ip8Uk36aLfmwEuQpM3OXVImSo9pAh5uMmhXu/yY8vhot1fGKrldvsVx1pRUbkEpzYoGHC++lCoxsswR78aDP87aztDd1WuEv3pModsLh9pQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=pjyhYOO3A5dmXRX43lyrH71vvCDv10cywzu/SFlC8tg=; b=D4OZem2xoDUuXAi5pR1a+QWrLGaoySIzAMb0oeeL8oXYis4bg99xU2N2eokiefIm81vaK6vGPqtOyALVgir+mdmAHGo+w7F/EG7l2FvALSSwtZ0jJAet9HWx/ihzeXyVBUeSIll403CrN1cwaCaqPGHNHdRBHBGdDJraJz6xtc0= Received: from DB9PR08MB6923.eurprd08.prod.outlook.com (2603:10a6:10:2ac::6) by DB7PR08MB4617.eurprd08.prod.outlook.com (2603:10a6:10:75::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4108.26; Fri, 7 May 2021 06:36:06 +0000 Received: from DB9PR08MB6923.eurprd08.prod.outlook.com ([fe80::25e2:6eb9:f211:fa18]) by DB9PR08MB6923.eurprd08.prod.outlook.com ([fe80::25e2:6eb9:f211:fa18%7]) with mapi id 15.20.4108.027; Fri, 7 May 2021 06:36:06 +0000 From: Feifei Wang To: Slava Ovsiienko , Matan Azrad , Shahaf Shuler CC: "dev@dpdk.org" , nd , "stable@dpdk.org" , Ruifeng Wang , nd Thread-Topic: [PATCH v1 3/4] net/mlx5: fix rebuild bug for Memory Region cache Thread-Index: AQHXG8b7HnA5AJfI/UGBdB2hbGP3xaqws80AgAEoGSCACoZUgIAAtmJQgAAa2oCAAAmfAIAAAbAggBi7LuCAAKKLgIAA7scA Date: Fri, 7 May 2021 06:36:06 +0000 Message-ID: References: <20210318071840.359957-1-feifei.wang2@arm.com> <20210318071840.359957-4-feifei.wang2@arm.com> In-Reply-To: Accept-Language: zh-CN, en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ts-tracking-id: 4D2CB7E62CB6F242B8C431B09DA47A96.0 x-checkrecipientchecked: true Authentication-Results-Original: nvidia.com; dkim=none (message not signed) header.d=none;nvidia.com; dmarc=none action=none header.from=arm.com; x-originating-ip: [203.126.0.111] x-ms-publictraffictype: Email X-MS-Office365-Filtering-Correlation-Id: 187b5ec1-c702-45ea-85b4-08d911226a80 x-ms-traffictypediagnostic: DB7PR08MB4617:|DU2PR08MB7239: x-ms-exchange-transport-forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true nodisclaimer: true x-ms-oob-tlc-oobclassifiers: OLM:10000;OLM:10000; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: s4JXcLLzgqy1EA3Na7WZC7uS9KJ+ZegYJcj5xJNgwHJuIrcTcfVp6klOWyu2yalOeARNCakuXLcpoKhc9t5BarFMgSU/kzJ9xFZkHzb0b0L9d1NbZH5mY9OF8H00/vS+nbAyIavrhXuWPBFJG+hrAx/gBB9p2q4DA6F6eoGaV6lm2RGGv/eQanEh3c0deN8QrlIkTl6wxzFtWhnAXSoqwcYt3rbVZbgwVF6m96kHc5dIq5RX2Tu/lT7zO/9rHHJ6UzNZWNMdYsJqVx0+2ZkJtA6zvFOod7HxcY/x1SWPkVmFenvFgpZ/648Nx1Y6lsjtFZdWYZozg6b7HqHH4PXAkE8lDBhjW6AWsAsVf5fydzZKkR3KwrdQjoPXOpkejETTbGfnbRImNRKgjsjcyEqGH6GjVb6HQQUMAmBhQ8zkxs3Clq5Lcx0J1+A5QINr1ZWiUeqlMF1U2vj6BqI8p7Vnpsta8+PK7+QEfB5TJiQf59tbU6aHvbuOSCPntnjVtjw+ublkHDKRF/TDWSdM66o6rBDWEd4dkO/LfQj6toBUU0ZUqznI0lUXom231Xu8VawMyOqoTCdyH/VQbMfmnYV+0oSpbR8f4P5bhHNsX6fUHoc= X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB9PR08MB6923.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(346002)(136003)(39860400002)(366004)(376002)(396003)(54906003)(110136005)(6506007)(38100700002)(52536014)(55016002)(83380400001)(66476007)(26005)(4326008)(66556008)(64756008)(86362001)(53546011)(76116006)(186003)(66446008)(66946007)(478600001)(224303003)(33656002)(71200400001)(7696005)(9686003)(316002)(2906002)(8936002)(5660300002)(122000001)(30864003)(579004); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: =?utf-8?B?eU9qbmFGZGJLeG5HWDJvQmdXMWsxMW1iY1M1YkNxSkR3Z2wwZkcybFRPR3lQ?= =?utf-8?B?NWFyZTUrUlozbnJxcS9EOHJhWnlzQjd3a1VnRjlzbGJmRVg2blVqNldmakJk?= =?utf-8?B?djlEakd1ZHBUSmVldXRGRU1zU0dYczROZEVGU2ZMVnIxenVkbjdqR1QwY29z?= =?utf-8?B?N2ZxMDdDYkttUVFmREFMc2pxUTg2dmZKczJERnVMRHhXUUhCeVdPdG44Ukg4?= =?utf-8?B?ckRhQnFPWmNCQURxVW52ZkVnVDJzZHJGbkVYeE5Fdk1PL0JFWkxkeEx2Qkd1?= =?utf-8?B?QmhlbXRDVndlU3dRN003RU5xQjI0L3BHTkpyZGFsaUViY0tvZlhqZHZoakpF?= =?utf-8?B?cE5XRHFjem9mWGpvdDdFNjV0cDF0Qmphc2ZiYXNpZ1ZQTXQyeXJFb2g3cmN5?= =?utf-8?B?Mk5nay94d2ptNjRmMENwNFJwaTJVZlYzZXYxbUE2d0ZFblNEZm45cEpVNUoz?= =?utf-8?B?RFdzajMrRFVQRkVSdlllYjgrVXIyM1YyWnRQWmV4M29taTVJeWJyWUx6ZW8v?= =?utf-8?B?b094VVU2Qnd2YUhwQjdQQ3NwSzVrK2RPM0o1MnIzbTQ1M0Zza3JxUExFZWtW?= =?utf-8?B?b25GTW5UQndUVjlIbjBqVXR0UnpSM01EUXd1MEt5ckRycW9KWHpQMDd2cWJ3?= =?utf-8?B?N0paMmJ6VDdnc2MreGJDRkdabko2S3RUakdKcTNMbU5OdlFueHBKNjk2dTAw?= =?utf-8?B?bzY2OFlrSE1VbEZ4ekYvdit5dzZJSXFYVzIrUGFHYnozSG5BZGlVOHhUS29D?= =?utf-8?B?ci9jVThQTFp0TWxFU0VwNjloekdPNEVuRjNLeGFRek9DK2J1a3d5SzhBV2dE?= =?utf-8?B?UE9ML09KaXZ0UEd1YW00UHpGVXBBcEdYTHc1NU1UWHN2d2J5dVVHTW5LMi9F?= =?utf-8?B?R1N4aEt2aUJWdW5VK3FxekIzT0Mxc29VMVkyUnhsK2hqR2pRTlJ4c2JOajJS?= =?utf-8?B?eS9ORXZUUmREN2VvUFBiQk8zOC9aYjdLOWg1allNeEpMSmxsVUVKTlN0Yzc5?= =?utf-8?B?QWtFM3Y5V1M3NXpWSDhwcExVeUJCcGRCZU55a0sxK1h4NmNWYlZUQzhYV0cy?= =?utf-8?B?K0R3VUg3NFlBNmptS05CcTFsMzFFeklOakNrU3ZvSGdONFdHSThDRWJKUkdR?= =?utf-8?B?anNnYUdaT0Yxa01nQTJuZ0lPZis1b0pramszdVd6ZmZxZzhvM3VITWZlTG1z?= =?utf-8?B?T3VyWVFPQnFCM3U0NDAySFdqeXhWZUdFWEsvN052YXpCc0hQTW96NFZsM2RS?= =?utf-8?B?WVBIcTVlVXY1cm91ODhRS0Q4Y0VteGZDc2MzclpyQjM1QkxFZHVXRGxuUjJn?= =?utf-8?B?KzhlMlp5Qld5eUhJMEV3Vzl0VWo2Q3p0TnI2S3hPWWV4VmJXdW9yZkhSUFVr?= =?utf-8?B?alQxSUE4SWhxUjJrWFZpTXFtdEVNdTFYbDcyQTE3KyswMGlwb1FDcCtaVTNS?= =?utf-8?B?dFhodVVKNThGVVVIbWErNGpvZzVSa1BnQ2pOQk9GUzVMVG1iOHQ4T0h1bHd2?= =?utf-8?B?aDRad2ZFcWo0SEFhRG50a2p2RmpVL0RMVjJXZUJVc0J3cUN3ajFHZzIyaUYw?= =?utf-8?B?MUIyT3cwOUhiNytCUEU5N0tVclZYL1JsSnZISGxRWnVLdmtLSFRudERoQml1?= =?utf-8?B?cFBjYXdPbWdyeXJzWmpoWnB3dURXNXQ5R2o1R004UGJ6Vk1BQzhTYnpacDQz?= =?utf-8?B?R0lOUk95TWZhbkNINkdWZjZuK0JvUGZNeE5ja0s5STlXVUFORUZsQitKQjNO?= =?utf-8?Q?dbQQ01vuKlXZhc1p7p+mAHp+NVSDZ6P0aJBw9/w?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR08MB4617 Original-Authentication-Results: nvidia.com; dkim=none (message not signed) header.d=none;nvidia.com; dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: VE1EUR03FT031.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: dc434c04-9127-4673-bb07-08d9112264a7 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: vDjhJIPU2ZuVj7ggwLCu012PGbekYn5O0JZXEwVj7pJLBMVyL5wU/gQouirM7igniQX9TI0dQlQh0TYO8GkJB8R3q+gesFqhHJAZlubFhNDt5R6ypIibh2XbAPaNL7uFP/k0YVzqR1CuF3Z2f4m6wHEuP0XB9byk36dAGhqshWKpss8CD3uWyx92Q28N03pLjUwJNXI/tBEQ/qUBwYTKfCeqaJfqP437XKzqj1H1o9ZnUt39I/tWcoJEVEmncSwA9VvzFM0SlV/PegBhEP7GUA3ABSLg5WDHLq9yWNxmpuVKmx3PxpDDisGUnPP9jRMHULVW5CyVWDFFFI97+KrbYMYXBRTLG5MZqny9hDJNM72sA0xroZgZUPjtfNqX1JhcpCHlTVwLBMlIfj8hqp5phWlhXHEjkLGxefAwA3fpZ3HKXKG9112N6i+A82bRNef2CZpbSDIH0mEAaAcnVLyKEa2peX5YooQhM4uQF2FMw7uNoS8UEK9yzCacwtN7b8cuwitoJ0wedJenTUcd7uv09X7bEKk9zLSOWVxIUJ6cmUUPict0jU7Qwd+S7XXwd8jraobz4fv1cyQitmroI0rERguSZs2tZyDYYPr6rXPQqNbA+xOm69IXYYehbD3WcskzkzWS/VN3lFpVbEDOBx0gJe6uwTAPHC6IXrMGg8tBnio= X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(4636009)(396003)(136003)(376002)(346002)(39860400002)(36840700001)(46966006)(2906002)(52536014)(82310400003)(316002)(4326008)(9686003)(6506007)(450100002)(5660300002)(82740400003)(186003)(54906003)(55016002)(53546011)(26005)(7696005)(110136005)(81166007)(86362001)(30864003)(8936002)(70206006)(478600001)(224303003)(70586007)(47076005)(36860700001)(356005)(83380400001)(33656002)(336012); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 May 2021 06:36:16.0834 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 187b5ec1-c702-45ea-85b4-08d911226a80 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: VE1EUR03FT031.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR08MB7239 Subject: [dpdk-dev] =?utf-8?b?5Zue5aSNOiBbUEFUQ0ggdjEgMy80XSBuZXQvbWx4?= =?utf-8?q?5=3A_fix_rebuild_bug_for_Memory_Region_cache?= X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" SGksIFNsYXZhDQoNClRoYW5rcyB2ZXJ5IG11Y2ggZm9yIHlvdXIgcmVwbHkuDQoNCj4gLS0tLS3p gq7ku7bljp/ku7YtLS0tLQ0KPiDlj5Hku7bkuro6IFNsYXZhIE92c2lpZW5rbyA8dmlhY2hlc2xh dm9AbnZpZGlhLmNvbT4NCj4g5Y+R6YCB5pe26Ze0OiAyMDIx5bm0NeaciDbml6UgMTk6MjINCj4g 5pS25Lu25Lq6OiBGZWlmZWkgV2FuZyA8RmVpZmVpLldhbmcyQGFybS5jb20+OyBNYXRhbiBBenJh ZA0KPiA8bWF0YW5AbnZpZGlhLmNvbT47IFNoYWhhZiBTaHVsZXIgPHNoYWhhZnNAbnZpZGlhLmNv bT4NCj4g5oqE6YCBOiBkZXZAZHBkay5vcmc7IG5kIDxuZEBhcm0uY29tPjsgc3RhYmxlQGRwZGsu b3JnOyBSdWlmZW5nIFdhbmcNCj4gPFJ1aWZlbmcuV2FuZ0Bhcm0uY29tPjsgbmQgPG5kQGFybS5j b20+DQo+IOS4u+mimDogUkU6IFtQQVRDSCB2MSAzLzRdIG5ldC9tbHg1OiBmaXggcmVidWlsZCBi dWcgZm9yIE1lbW9yeSBSZWdpb24gY2FjaGUNCj4gDQo+IEhpLCBGZWlmZWkNCj4gDQo+IFNvcnJ5 LCBJIGRvIG5vdCBmb2xsb3cgd2h5IHdlIHNob3VsZCBnZXQgcmlkIG9mIHRoZSBsYXN0IChhZnRl ciBkZXZfZ2VuIHVwZGF0ZSkNCj4gd21iLg0KPiBXZSd2ZSByZWJ1aWx0IHRoZSBnbG9iYWwgY2Fj aGUsIHdlIHNob3VsZCBub3RpZnkgb3RoZXIgYWdlbnRzIGl0J3MgaGFwcGVuZWQNCj4gYW5kIHRo ZXkgc2hvdWxkIGZsdXNoIGxvY2FsIGNhY2hlcy4gU28sIGRldl9nZW4gY2hhbmdlIHNob3VsZCBi ZSBtYWRlDQo+IHZpc2libGUgdG8gb3RoZXIgYWdlbnRzIHRvIHRyaWdnZXIgdGhpcyBhY3Rpdml0 eSBhbmQgdGhlIHNlY29uZCB3bWIgaXMgaGVyZSB0bw0KPiBlbnN1cmUgdGhpcy4NCg0KMS4gRm9y IHRoZSBmaXJzdCBwcm9ibGVtIHdoeSB3ZSBzaG91bGQgZ2V0IHJpZCBvZiB0aGUgbGFzdCB3bWIg YW5kIG1vdmUgaXQgYmVmb3JlDQpkZXZfZ2VuIHVwZGF0ZWQsIEkgdGhpbmsgb3VyIGF0dGVudGlv biBpcyBob3cgdGhlIHdtYiBpbXBsZW1lbnRzIHRoZQ0Kc3luY2hyb25pemF0aW9uIGJldHdlZW4g bXVsdGlwbGUgYWdlbnRzLg0KCQkJCQlGaWcxDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQ0KVGltZXNsb3QgICAgICAgIAkJYWdlbnRfMSAgICAgICAgICAgICAg IAkJICAgYWdlbnRfMg0KMSAgICAgICAgICAJCXJlYnVpbGQgZ2xvYmFsIGNhY2hlDQoyICAgICAg ICAgICAgICAgICAgICAgICAJCXdtYiAgICAgICAgICAgCQkNCjMgICAgICAgICAgICAJCSAgICAg dXBkYXRlIGRldl9nZW4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gbG9hZCBjaGFuZ2VkIGRldl9n ZW4NCjQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQkJICAgICAgICAJICAgICAg ICAgICByZWJ1aWxkIGxvY2FsIGNhY2hlDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQ0KDQpGaXJzdCwgd21iIGlzIG9ubHkgZm9yIGxvY2FsIHRocmVhZCB0byBr ZWVwIHRoZSBvcmRlciBiZXR3ZWVuIGxvY2FsIHdyaXRlLXdyaXRlIDoNCkJhc2VkIG9uIHRoZSBw aWN0dXJlIGFib3ZlLCBmb3IgYWdlbnRfMSwgd21iIGtlZXBzIHRoZSBvcmRlciB0aGF0IHJlYnVp bGRpbmcgZ2xvYmFsDQpjYWNoZSBpcyBhbHdheXMgYmVmb3JlIHVwZGF0aW5nIGRldl9nZW4uIA0K DQpTZWNvbmQsIGFnZW50XzEgY29tbXVuaWNhdGVzIHdpdGggYWdlbnRfMiBieSB0aGUgZ2xvYmFs IHZhcmlhYmxlICJkZXZfZ2VuIiA6DQpJZiBhZ2VudF8xIHVwZGF0ZXMgZGV2X2dlbiwgYWdlbnRf MiB3aWxsIGxvYWQgaXQgYW5kIHRoZW4gaXQga25vd3MgaXQgc2hvdWxkIHJlYnVpbGQNCmxvY2Fs IGNhY2hlDQoNCkZpbmFsbHksIGFnZW50XzIgcmVidWlsZHMgbG9jYWwgY2FjaGUgYWNjb3JkaW5n IHRvIHdoZXRoZXIgYWdlbnRfMSBoYXMgcmVidWlsdCBnbG9iYWwNCmNhY2hlLCBhbmQgYWdlbnRf MiBrbm93cyB0aGlzIGluZm9ybWF0aW9uIGJ5IHRoZSB2YXJpYWJsZSAiZGV2X2dlbiIuIA0KCQkJ CQlGaWcyDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KVGlt ZXNsb3QgICAgICAgIAkJYWdlbnRfMSAgICAgICAgICAgICAgIAkJICAgYWdlbnRfMg0KMQkJICAg ICAgICB1cGRhdGUgZGV2X2dlbg0KMgkJCQkJCSAgICAgIGxvYWQgY2hhbmdlZCBkZXZfZ2VuDQoz CQkJCQkJICAgICAgICAgIHJlYnVpbGQgbG9jYWwgY2FjaGUNCjQgICAgICAgIAkJICAgIHJlYnVp bGQgZ2xvYmFsIGNhY2hlDQo1CQkJIHdtYgkJDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQ0KDQpIb3dldmVyLCBpbiBhcm0gcGxhdGZvcm0sIGlmIHdtYiBpcyBh ZnRlciBkZXZfZ2VuIHVwZGF0ZWQsICJkZXZfZ2VuIiBtYXkgYmUNCnVwZGF0ZWQgYmVmb3JlIGFn ZW50XzEgcmVidWlsZGluZyBnbG9iYWwgY2FjaGUsIHRoZW4gYWdlbnRfMiBtYXliZSByZWNlaXZl DQplcnJvciBtZXNzYWdlIGFuZCByZWJ1aWxkIGl0cyBsb2NhbCBjYWNoZSBpbiBhZHZhbmNlLg0K DQpUbyBzdW1tYXJpemUsIGl0IGlzIG5vdCBpbXBvcnRhbnQgd2hpY2ggdGltZSBvdGhlciBhZ2Vu dHMgY2FuIHNlZSB0aGUgY2hhbmdlZA0KZ2xvYmFsIHZhcmlhYmxlICJkZXZfZ2VuIi4NCihBY3R1 YWxseSwgd21iIGFmdGVyICJkZXZfZ2VuIiBjYW5ub3QgZW5zdXJlIGNoYW5nZWQgImRldl9nZW4i IGlzIGNvbW1pdHRlZCB0byB0aGUgZ2xvYmFsKS4gDQpJdCBpcyBtb3JlIGltcG9ydGFudCB0aGF0 IGlmIG90aGVyIGFnZW50cyBzZWUgdGhlIGNoYW5nZWQgImRldl9nZW4iLCB0aGV5IGFsc28gY2Fu DQprbm93IGdsb2JhbCBjYWNoZSBoYXMgYmVlbiB1cGRhdGVkLg0KIA0KPiBPbmUgbW9yZSBwb2lu dCwgZHVlIHRvIHJlZ2lzdGVyaW5nIG5ldy9kZXN0cm95aW5nIGV4aXN0aW5nIE1SIGludm9sdmVz IEZXDQo+ICh2aWEga2VybmVsKSBjYWxscywgaXQgdGFrZXMgc28gbWFueSBDUFUgY3ljbGVzIHRo YXQgd2UgY291bGQgbmVnbGVjdCB3bWINCj4gb3ZlcmhlYWQgYXQgYWxsLg0KDQpXZSBqdXN0IG1v dmUgdGhlIGxhc3Qgd21iIGludG8gdGhlIHJpZ2h0IHBsYWNlLCBhbmQgbm90IGRlbGV0ZSBpdCBm b3IgcGVyZm9ybWFuY2UuDQoNCj4gDQo+IEFsc28sIHJlZ2FyZGluZyB0aGlzOg0KPiANCj4gID4g PiBBbm90aGVyIHF1ZXN0aW9uIHN1ZGRlbmx5IG9jY3VycmVkIHRvIG1lLCBpbiBvcmRlciB0byBr ZWVwIHRoZSAgPiA+DQo+IG9yZGVyIHRoYXQgcmVidWlsZGluZyBnbG9iYWwgY2FjaGUgYmVmb3Jl IHVwZGF0aW5nIOKAnWRldl9nZW7igJwsIHRoZSAgPiA+IHdtYg0KPiBzaG91bGQgYmUgYmVmb3Jl IHVwZGF0aW5nICJkZXZfZ2VuIiByYXRoZXIgdGhhbiBhZnRlciBpdC4NCj4gID4gPiBPdGhlcndp c2UsIGluIHRoZSBvdXQtb2Ytb3JkZXIgcGxhdGZvcm1zLCBjdXJyZW50IG9yZGVyIGNhbm5vdCBi ZSBrZXB0Lg0KPiANCj4gaXQgaXMgbm90IGNsZWFyIHdoeSBvcmRlcmluZyBpcyBpbXBvcnRhbnQg LSBnbG9iYWwgY2FjaGUgdXBkYXRlIGFuZCBkZXZfZ2VuDQo+IGNoYW5nZSBoYXBwZW4gdW5kZXIg c3BpbmxvY2sgcHJvdGVjdGlvbiwgc28gb25seSB0aGUgbGFzdCB3bWIgIGlzDQo+IG1lYW5pbmdm dWwuDQo+IA0KDQoyLiBUaGUgc2Vjb25kIGZ1bmN0aW9uIG9mIHdtYiBiZWZvcmUgImRldl9nZW4i IHVwZGF0ZWQgaXMgZm9yIHBlcmZvcm1hbmNlDQphY2NvcmRpbmcgdG8gb3VyIHByZXZpb3VzIGRp c2N1c3Npb24uICANCkFjY29yZGluZyB0byBGaWcyLCBpZiB0aGVyZSBpcyBubyB3bWIgYmV0d2Vl biAiZ2xvYmFsIGNhY2hlIHVwZGF0ZWQiIGFuZA0KImRldl9nZW4gdXBkYXRlZCIsICJkZXZfZ2Vu IiBtYXkgdXBkYXRlIGJlZm9yZSBnbG9iYWwgY2FjaGUgdXBkYXRlZC4gDQoNClRoZW4gYWdlbnRf MiBtYXkgc2VlIHRoZSBjaGFuZ2VkICJkZXZfZ2VuIiBhbmQgZmx1c2ggZW50aXJlIGxvY2FsIGNh Y2hlDQppbiBhZHZhbmNlLg0KIA0KVGhpcyBlbnRpcmUgZmx1c2ggY2FuIGRlZ3JhZGUgdGhlIHBl cmZvcm1hbmNlOg0KInRoZSBsb2NhbCBjYWNoZSBpcyBnZXR0aW5nIGVtcHR5IGFuZCBjYW4ndCBw cm92aWRlIHRyYW5zbGF0aW9uIGZvciBvdGhlciB2YWxpZCANCihub3QgYmVpbmcgcmVtb3ZlZCkg TVJzLCBhbmQgdGhlIHRyYW5zbGF0aW9uIGhhcyB0byBsb29rIHVwIGluIHRoZSBnbG9iYWwgY2Fj aGUsDQp0aGF0IGlzIGxvY2tlZCBub3cgZm9yIHJlYnVpbGRpbmcsIHRoaXMgY2F1c2VzIHRoZSBk ZWxheXMgaW4gZGF0YSBwYXRoIG9uIGFjcXVpcmluZyANCmdsb2JhbCBjYWNoZSBsb2NrLiIgDQoN CkZ1cnRoZXJtb3JlLCBzcGlubG9jayBpcyBqdXN0IGZvciBnbG9iYWwgY2FjaGUsIG5vdCBmb3Ig ZGV2X2dlbiBhbmQgbG9jYWwgY2FjaGUuDQoNCj4gVG8gc3VtbWFyaXplLCBpbiBteSBvcGluaW9u Og0KPiAtIGlmIHlvdSBzZWUgc29tZSBpc3N1ZSB3aXRoIG9yZGVyaW5nIG9mIGdsb2JhbCBjYWNo ZSB1cGRhdGUvZGV2X2dlbg0KPiBzaWduYWxsaW5nLA0KPiAgIGNvdWxkIHlvdSwgcGxlYXNlLCBl bGFib3JhdGU/IEknbSBub3Qgc3VyZSB3ZSBzaG91bGQgbWFpbnRhaW4gYW4gb3JkZXIgKGR1ZQ0K PiB0byBzcGlubG9jayBwcm90ZWN0aW9uKQ0KPiAtIHRoZSBsYXN0IHJ0ZV9zbXBfd21iKCkgYWZ0 ZXIgZGV2X2dlbiBpbmNyZW1lbnRpbmcgc2hvdWxkIGJlIGtlcHQgaW50YWN0DQo+IA0KDQpBdCBs YXN0LCBmb3IgbXkgdmlldywgdGhlcmUgYXJlIHR3byBmdW5jdGlvbnMgdGhhdCBtb3Zpbmcgd21i IGJlZm9yZSAiZGV2X2dlbiINCmZvciB0aGUgd3JpdGUtd3JpdGUgb3JkZXI6DQotLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KYSkgcmVidWlsZCBnbG9iYWwgY2FjaGU7DQpiKSBydGVf c21wX3dtYigpOw0KYykgdXBkYXRpbmcgZGV2X2dlbg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0NCjEuIEFjaGlldmUgc3luY2hyb25pemF0aW9uIGJldHdlZW4gbXVsdGlwbGUgdGhy ZWFkcyBpbiB0aGUgcmlnaHQgd2F5DQoyLiBQcmV2ZW50IG90aGVyIGFnZW50cyBmcm9tIGZsdXNo aW5nIGxvY2FsIGNhY2hlIGVhcmx5IHRvIGVuc3VyZSBwZXJmb3JtYW5jZQ0KDQpCZXN0IFJlZ2Fy ZHMNCkZlaWZlaQ0KIA0KPiBXaXRoIGJlc3QgcmVnYXJkcywNCj4gU2xhdmENCj4gDQo+ID4gLS0t LS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiBGcm9tOiBGZWlmZWkgV2FuZyA8RmVpZmVpLldh bmcyQGFybS5jb20+DQo+ID4gU2VudDogVGh1cnNkYXksIE1heSA2LCAyMDIxIDU6NTINCj4gPiBU bzogU2xhdmEgT3ZzaWllbmtvIDx2aWFjaGVzbGF2b0BudmlkaWEuY29tPjsgTWF0YW4gQXpyYWQN Cj4gPiA8bWF0YW5AbnZpZGlhLmNvbT47IFNoYWhhZiBTaHVsZXIgPHNoYWhhZnNAbnZpZGlhLmNv bT4NCj4gPiBDYzogZGV2QGRwZGsub3JnOyBuZCA8bmRAYXJtLmNvbT47IHN0YWJsZUBkcGRrLm9y ZzsgUnVpZmVuZyBXYW5nDQo+ID4gPFJ1aWZlbmcuV2FuZ0Bhcm0uY29tPjsgbmQgPG5kQGFybS5j b20+DQo+ID4gU3ViamVjdDog5Zue5aSNOiBbUEFUQ0ggdjEgMy80XSBuZXQvbWx4NTogZml4IHJl YnVpbGQgYnVnIGZvciBNZW1vcnkNCj4gPiBSZWdpb24gY2FjaGUNCj4gPg0KPiA+IEhpLCBTbGF2 YQ0KPiA+DQo+ID4gV291bGQgeW91IGhhdmUgbW9yZSBjb21tZW50cyBhYm91dCB0aGlzIHBhdGNo Pw0KPiA+IEZvciBteSBzaWdodCwgb25seSBvbmUgd21iIGJlZm9yZSAiZGV2X2dlbiIgdXBkYXRp bmcgaXMgZW5vdWdoIHRvDQo+ID4gc3luY2hyb25pemUuDQo+ID4NCj4gPiBUaGFua3MgdmVyeSBt dWNoIGZvciB5b3VyIGF0dGVudGlvbi4NCj4gPg0KPiA+DQo+ID4gQmVzdCBSZWdhcmRzDQo+ID4g RmVpZmVpDQo+ID4NCj4gPiA+IC0tLS0t6YKu5Lu25Y6f5Lu2LS0tLS0NCj4gPiA+IOWPkeS7tuS6 ujogRmVpZmVpIFdhbmcNCj4gPiA+IOWPkemAgeaXtumXtDogMjAyMeW5tDTmnIgyMOaXpSAxNjo0 Mg0KPiA+ID4g5pS25Lu25Lq6OiBTbGF2YSBPdnNpaWVua28gPHZpYWNoZXNsYXZvQG52aWRpYS5j b20+OyBNYXRhbiBBenJhZA0KPiA+ID4gPG1hdGFuQG52aWRpYS5jb20+OyBTaGFoYWYgU2h1bGVy IDxzaGFoYWZzQG52aWRpYS5jb20+DQo+ID4gPiDmioTpgIE6IGRldkBkcGRrLm9yZzsgbmQgPG5k QGFybS5jb20+OyBzdGFibGVAZHBkay5vcmc7IFJ1aWZlbmcNCj4gV2FuZw0KPiA+ID4gPFJ1aWZl bmcuV2FuZ0Bhcm0uY29tPjsgbmQgPG5kQGFybS5jb20+DQo+ID4gPiDkuLvpopg6IOWbnuWkjTog W1BBVENIIHYxIDMvNF0gbmV0L21seDU6IGZpeCByZWJ1aWxkIGJ1ZyBmb3IgTWVtb3J5IFJlZ2lv bg0KPiA+ID4gY2FjaGUNCj4gPiA+DQo+ID4gPiBIaSwgU2xhdmENCj4gPiA+DQo+ID4gPiBJIHRo aW5rIHRoZSBzZWNvbmQgd21iIGNhbiBiZSByZW1vdmVkLg0KPiA+ID4gQXMgSSBrbm93LCB3bWIg aXMganVzdCBhIGJhcnJpZXIgdG8ga2VlcCB0aGUgb3JkZXIgYmV0d2VlbiB3cml0ZSBhbmQNCj4g d3JpdGUuDQo+ID4gPiBhbmQgaXQgY2Fubm90IHRlbGwgdGhlIENQVSB3aGVuIGl0IHNob3VsZCBj b21taXQgdGhlIGNoYW5nZXMuDQo+ID4gPg0KPiA+ID4gSXQgaXMgdXN1YWxseSB1c2VkIGJlZm9y ZSBndWFyZCB2YXJpYWJsZSB0byBrZWVwIHRoZSBvcmRlciB0aGF0DQo+ID4gPiB1cGRhdGluZyBn dWFyZCB2YXJpYWJsZSBhZnRlciBzb21lIGNoYW5nZXMsIHdoaWNoIHlvdSB3YW50IHRvDQo+ID4g PiByZWxlYXNlLA0KPiA+IGhhdmUgYmVlbiBkb25lLg0KPiA+ID4NCj4gPiA+IEZvciBleGFtcGxl LCBmb3IgdGhlIHdtYiAgYWZ0ZXIgZ2xvYmFsIGNhY2hlIHVwZGF0ZS9iZWZvcmUgYWx0ZXJpbmcN Cj4gPiA+IGRldl9nZW4sIGl0IGNhbiBlbnN1cmUgdGhlIG9yZGVyIHRoYXQgdXBkYXRpbmcgZ2xv YmFsIGNhY2hlIGJlZm9yZQ0KPiA+ID4gYWx0ZXJpbmcNCj4gPiA+IGRldl9nZW46DQo+ID4gPiAx KUlmIG90aGVyIGFnZW50IGxvYWQgdGhlIGNoYW5nZWQgImRldl9nZW4iLCBpdCBjYW4ga25vdyB0 aGUgZ2xvYmFsDQo+ID4gPiBjYWNoZSBoYXMgYmVlbiB1cGRhdGVkLg0KPiA+ID4gMilJZiBvdGhl ciBhZ2VudHMgbG9hZCB0aGUgdW5jaGFuZ2VkLCAiZGV2X2dlbiIsIGl0IG1lYW5zIHRoZSBnbG9i YWwNCj4gPiA+IGNhY2hlIGhhcyBub3QgYmVlbiB1cGRhdGVkLCBhbmQgdGhlIGxvY2FsIGNhY2hl IHdpbGwgbm90IGJlIGZsdXNoZWQuDQo+ID4gPg0KPiA+ID4gQXMgYSByZXN1bHQsIHdlIHVzZSAg d21iIGFuZCBndWFyZCB2YXJpYWJsZSAiZGV2X2dlbiIgdG8gZW5zdXJlIHRoZQ0KPiA+ID4gZ2xv YmFsIGNhY2hlIHVwZGF0aW5nIGlzICJ2aXNpYmxlIi4NCj4gPiA+IFRoZSAidmlzaWJsZSIgbWVh bnMgd2hlbiB1cGRhdGluZyBndWFyZCB2YXJpYWJsZSAiZGV2X2dlbiIgaXMga25vd24NCj4gPiA+ IGJ5IG90aGVyIGFnZW50cywgdGhleSBhbHNvIGNhbiBjb25maXJtIGdsb2JhbCBjYWNoZSBoYXMg YmVlbiB1cGRhdGVkDQo+ID4gPiBpbiB0aGUgbWVhbndoaWxlLiBUaHVzLCBqdXN0IG9uZSB3bWIg YmVmb3JlIGFsdGVyaW5nICBkZXZfZ2VuIGNhbg0KPiA+ID4gZW5zdXJlDQo+ID4gdGhpcy4NCj4g PiA+DQo+ID4gPiBCZXN0IFJlZ2FyZHMNCj4gPiA+IEZlaWZlaQ0KPiA+ID4NCj4gPiA+ID4gLS0t LS3pgq7ku7bljp/ku7YtLS0tLQ0KPiA+ID4gPiDlj5Hku7bkuro6IFNsYXZhIE92c2lpZW5rbyA8 dmlhY2hlc2xhdm9AbnZpZGlhLmNvbT4NCj4gPiA+ID4g5Y+R6YCB5pe26Ze0OiAyMDIx5bm0NOac iDIw5pelIDE1OjU0DQo+ID4gPiA+IOaUtuS7tuS6ujogRmVpZmVpIFdhbmcgPEZlaWZlaS5XYW5n MkBhcm0uY29tPjsgTWF0YW4gQXpyYWQNCj4gPiA+ID4gPG1hdGFuQG52aWRpYS5jb20+OyBTaGFo YWYgU2h1bGVyIDxzaGFoYWZzQG52aWRpYS5jb20+DQo+ID4gPiA+IOaKhOmAgTogZGV2QGRwZGsu b3JnOyBuZCA8bmRAYXJtLmNvbT47IHN0YWJsZUBkcGRrLm9yZzsgUnVpZmVuZw0KPiA+IFdhbmcN Cj4gPiA+ID4gPFJ1aWZlbmcuV2FuZ0Bhcm0uY29tPjsgbmQgPG5kQGFybS5jb20+OyBuZCA8bmRA YXJtLmNvbT47DQo+IG5kDQo+ID4gPiA+IDxuZEBhcm0uY29tPg0KPiA+ID4gPiDkuLvpopg6IFJF OiBbUEFUQ0ggdjEgMy80XSBuZXQvbWx4NTogZml4IHJlYnVpbGQgYnVnIGZvciBNZW1vcnkgUmVn aW9uDQo+ID4gPiA+IGNhY2hlDQo+ID4gPiA+DQo+ID4gPiA+IEhpLCBGZWlmZWkNCj4gPiA+ID4N Cj4gPiA+ID4gSW4gbXkgb3BpbmlvbiwgdGhlcmUgc2hvdWxkIGJlIDIgYmFycmllcnM6DQo+ID4g PiA+ICAtIGFmdGVyIGdsb2JhbCBjYWNoZSB1cGRhdGUvYmVmb3JlIGFsdGVyaW5nIGRldl9nZW4s IHRvIGVuc3VyZQ0KPiA+ID4gPiB0aGUgY29ycmVjdCBvcmRlcg0KPiA+ID4gPiAgLSBhZnRlciBh bHRlcmluZyBkZXZfZ2VuIHRvIG1ha2UgdGhpcyBjaGFuZ2UgdmlzaWJsZSBmb3Igb3RoZXINCj4g PiA+ID4gYWdlbnRzIGFuZCB0byB0cmlnZ2VyIGxvY2FsIGNhY2hlIHVwZGF0ZQ0KPiA+ID4gPg0K PiA+ID4gPiBXaXRoIGJlc3QgcmVnYXJkcywNCj4gPiA+ID4gU2xhdmENCj4gPiA+ID4NCj4gPiA+ ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gPiA+IEZyb206IEZlaWZlaSBX YW5nIDxGZWlmZWkuV2FuZzJAYXJtLmNvbT4NCj4gPiA+ID4gPiBTZW50OiBUdWVzZGF5LCBBcHJp bCAyMCwgMjAyMSAxMDozMA0KPiA+ID4gPiA+IFRvOiBTbGF2YSBPdnNpaWVua28gPHZpYWNoZXNs YXZvQG52aWRpYS5jb20+OyBNYXRhbiBBenJhZA0KPiA+ID4gPiA+IDxtYXRhbkBudmlkaWEuY29t PjsgU2hhaGFmIFNodWxlciA8c2hhaGFmc0BudmlkaWEuY29tPg0KPiA+ID4gPiA+IENjOiBkZXZA ZHBkay5vcmc7IG5kIDxuZEBhcm0uY29tPjsgc3RhYmxlQGRwZGsub3JnOyBSdWlmZW5nDQo+ID4g V2FuZw0KPiA+ID4gPiA+IDxSdWlmZW5nLldhbmdAYXJtLmNvbT47IG5kIDxuZEBhcm0uY29tPjsg bmQgPG5kQGFybS5jb20+Ow0KPiA+IG5kDQo+ID4gPiA+ID4gPG5kQGFybS5jb20+DQo+ID4gPiA+ ID4gU3ViamVjdDog5Zue5aSNOiBbUEFUQ0ggdjEgMy80XSBuZXQvbWx4NTogZml4IHJlYnVpbGQg YnVnIGZvciBNZW1vcnkNCj4gPiA+ID4gPiBSZWdpb24gY2FjaGUNCj4gPiA+ID4gPg0KPiA+ID4g PiA+IEhpLCBTbGF2YQ0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gQW5vdGhlciBxdWVzdGlvbiBzdWRk ZW5seSBvY2N1cnJlZCB0byBtZSwgaW4gb3JkZXIgdG8ga2VlcCB0aGUNCj4gPiA+ID4gPiBvcmRl ciB0aGF0IHJlYnVpbGRpbmcgZ2xvYmFsIGNhY2hlIGJlZm9yZSB1cGRhdGluZyDigJ1kZXZfZ2Vu 4oCcLA0KPiA+ID4gPiA+IHRoZSB3bWIgc2hvdWxkIGJlIGJlZm9yZSB1cGRhdGluZyAiZGV2X2dl biIgcmF0aGVyIHRoYW4gYWZ0ZXIgaXQuDQo+ID4gPiA+ID4gT3RoZXJ3aXNlLCBpbiB0aGUgb3V0 LW9mLW9yZGVyIHBsYXRmb3JtcywgY3VycmVudCBvcmRlciBjYW5ub3QgYmUNCj4ga2VwdC4NCj4g PiA+ID4gPg0KPiA+ID4gPiA+IFRodXMsIHdlIHNob3VsZCBjaGFuZ2UgdGhlIGNvZGUgYXM6DQo+ ID4gPiA+ID4gYSkgcmVidWlsZCBnbG9iYWwgY2FjaGU7DQo+ID4gPiA+ID4gYikgcnRlX3NtcF93 bWIoKTsNCj4gPiA+ID4gPiBjKSB1cGRhdGluZyBkZXZfZ2VuDQo+ID4gPiA+ID4NCj4gPiA+ID4g PiBCZXN0IFJlZ2FyZHMNCj4gPiA+ID4gPiBGZWlmZWkNCj4gPiA+ID4gPiA+IC0tLS0t6YKu5Lu2 5Y6f5Lu2LS0tLS0NCj4gPiA+ID4gPiA+IOWPkeS7tuS6ujogRmVpZmVpIFdhbmcNCj4gPiA+ID4g PiA+IOWPkemAgeaXtumXtDogMjAyMeW5tDTmnIgyMOaXpSAxMzo1NA0KPiA+ID4gPiA+ID4g5pS2 5Lu25Lq6OiBTbGF2YSBPdnNpaWVua28gPHZpYWNoZXNsYXZvQG52aWRpYS5jb20+OyBNYXRhbiBB enJhZA0KPiA+ID4gPiA+ID4gPG1hdGFuQG52aWRpYS5jb20+OyBTaGFoYWYgU2h1bGVyIDxzaGFo YWZzQG52aWRpYS5jb20+DQo+ID4gPiA+ID4gPiDmioTpgIE6IGRldkBkcGRrLm9yZzsgbmQgPG5k QGFybS5jb20+OyBzdGFibGVAZHBkay5vcmc7DQo+IFJ1aWZlbmcNCj4gPiA+ID4gV2FuZw0KPiA+ ID4gPiA+ID4gPFJ1aWZlbmcuV2FuZ0Bhcm0uY29tPjsgbmQgPG5kQGFybS5jb20+OyBuZCA8bmRA YXJtLmNvbT4NCj4gPiA+ID4gPiA+IOS4u+mimDog5Zue5aSNOiBbUEFUQ0ggdjEgMy80XSBuZXQv bWx4NTogZml4IHJlYnVpbGQgYnVnIGZvciBNZW1vcnkNCj4gPiA+IFJlZ2lvbg0KPiA+ID4gPiA+ ID4gY2FjaGUNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiBIaSwgU2xhdmENCj4gPiA+ID4gPiA+ DQo+ID4gPiA+ID4gPiBUaGFua3MgdmVyeSBtdWNoIGZvciB5b3VyIGV4cGxhbmF0aW9uLg0KPiA+ ID4gPiA+ID4NCj4gPiA+ID4gPiA+IEkgY2FuIHVuZGVyc3RhbmQgdGhlIGFwcCBjYW4gd2FpdCBh bGwgbWJ1ZnMgYXJlIHJldHVybmVkIHRvDQo+ID4gPiA+ID4gPiB0aGUgbWVtb3J5IHBvb2wsIGFu ZCB0aGVuIGl0IGNhbiBmcmVlIHRoaXMgbWJ1ZnMsIEkgYWdyZWUgd2l0aCB0aGlzLg0KPiA+ID4g PiA+ID4NCj4gPiA+ID4gPiA+IEFzIGEgcmVzdWx0LCBJIHdpbGwgcmVtb3ZlIHRoZSBidWcgZml4 IHBhdGNoIGZyb20gdGhpcyBzZXJpZXMNCj4gPiA+ID4gPiA+IGFuZCBqdXN0IHJlcGxhY2UgdGhl IHNtcCBiYXJyaWVyIHdpdGggQzExIHRocmVhZCBmZW5jZS4gVGhhbmtzDQo+ID4gPiA+ID4gPiB2 ZXJ5IG11Y2ggZm9yIHlvdXIgcGF0aWVudCBleHBsYW5hdGlvbiBhZ2Fpbi4NCj4gPiA+ID4gPiA+ DQo+ID4gPiA+ID4gPiBCZXN0IFJlZ2FyZHMNCj4gPiA+ID4gPiA+IEZlaWZlaQ0KPiA+ID4gPiA+ ID4NCj4gPiA+ID4gPiA+ID4gLS0tLS3pgq7ku7bljp/ku7YtLS0tLQ0KPiA+ID4gPiA+ID4gPiDl j5Hku7bkuro6IFNsYXZhIE92c2lpZW5rbyA8dmlhY2hlc2xhdm9AbnZpZGlhLmNvbT4NCj4gPiA+ ID4gPiA+ID4g5Y+R6YCB5pe26Ze0OiAyMDIx5bm0NOaciDIw5pelIDI6NTENCj4gPiA+ID4gPiA+ ID4g5pS25Lu25Lq6OiBGZWlmZWkgV2FuZyA8RmVpZmVpLldhbmcyQGFybS5jb20+OyBNYXRhbiBB enJhZA0KPiA+ID4gPiA+ID4gPiA8bWF0YW5AbnZpZGlhLmNvbT47IFNoYWhhZiBTaHVsZXIgPHNo YWhhZnNAbnZpZGlhLmNvbT4NCj4gPiA+ID4gPiA+ID4g5oqE6YCBOiBkZXZAZHBkay5vcmc7IG5k IDxuZEBhcm0uY29tPjsgc3RhYmxlQGRwZGsub3JnOw0KPiA+IFJ1aWZlbmcNCj4gPiA+ID4gPiBX YW5nDQo+ID4gPiA+ID4gPiA+IDxSdWlmZW5nLldhbmdAYXJtLmNvbT47IG5kIDxuZEBhcm0uY29t Pg0KPiA+ID4gPiA+ID4gPiDkuLvpopg6IFJFOiBbUEFUQ0ggdjEgMy80XSBuZXQvbWx4NTogZml4 IHJlYnVpbGQgYnVnIGZvciBNZW1vcnkNCj4gPiA+ID4gPiA+ID4gUmVnaW9uIGNhY2hlDQo+ID4g PiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+IEhpLCBGZWlmZWkNCj4gPiA+ID4gPiA+ID4NCj4gPiA+ ID4gPiA+ID4gUGxlYXNlLCBzZWUgYmVsb3cNCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4g Li4uLg0KPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4gSGksIEZlaWZlaQ0KPiA+ID4g PiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiA+IFNvcnJ5LCBJIGRvIG5vdCBmb2xsb3cgd2hh dCB0aGlzIHBhdGNoIGZpeGVzLiBEbyB3ZSBoYXZlDQo+ID4gPiA+ID4gPiA+ID4gPiBzb21lIGlz c3VlL2J1ZyB3aXRoIE1SIGNhY2hlIGluIHByYWN0aWNlPw0KPiA+ID4gPiA+ID4gPiA+DQo+ID4g PiA+ID4gPiA+ID4gVGhpcyBwYXRjaCBmaXhlcyB0aGUgYnVnIHdoaWNoIGlzIGJhc2VkIG9uIGxv Z2ljYWwNCj4gPiA+ID4gPiA+ID4gPiBkZWR1Y3Rpb24sIGFuZCBpdCBkb2Vzbid0IGFjdHVhbGx5 IGhhcHBlbi4NCj4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ ID4gPiA+IEVhY2ggVHggcXVldWUgaGFzIGl0cyBvd24gZGVkaWNhdGVkICJsb2NhbCIgY2FjaGUg Zm9yDQo+ID4gPiA+ID4gPiA+ID4gPiBNUnMgdG8gY29udmVydCBidWZmZXIgYWRkcmVzcyBpbiBt YnVmcyBiZWluZyB0cmFuc21pdHRlZA0KPiA+ID4gPiA+ID4gPiA+ID4gdG8gTEtleXMgKEhXLXJl bGF0ZWQgZW50aXR5DQo+ID4gPiA+ID4gPiA+ID4gPiBoYW5kbGUpIGFuZCB0aGUgImdsb2JhbCIg Y2FjaGUgZm9yIGFsbCBNUiByZWdpc3RlcmVkIG9uDQo+ID4gPiA+ID4gPiA+ID4gPiB0aGUNCj4g PiBkZXZpY2UuDQo+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4gQUZBSUssIGhv dyBjb252ZXJzaW9uIGhhcHBlbnMgaW4gZGF0YXBhdGg6DQo+ID4gPiA+ID4gPiA+ID4gPiAtIGNo ZWNrIHRoZSBsb2NhbCBxdWV1ZSBjYWNoZSBmbHVzaCByZXF1ZXN0DQo+ID4gPiA+ID4gPiA+ID4g PiAtIGxvb2t1cCBpbiBsb2NhbCBjYWNoZQ0KPiA+ID4gPiA+ID4gPiA+ID4gLSBpZiBub3QgZm91 bmQ6DQo+ID4gPiA+ID4gPiA+ID4gPiAtIGFjcXVpcmUgbG9jayBmb3IgZ2xvYmFsIGNhY2hlIHJl YWQgYWNjZXNzDQo+ID4gPiA+ID4gPiA+ID4gPiAtIGxvb2t1cCBpbiBnbG9iYWwgY2FjaGUNCj4g PiA+ID4gPiA+ID4gPiA+IC0gcmVsZWFzZSBsb2NrIGZvciBnbG9iYWwgY2FjaGUNCj4gPiA+ID4g PiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPiBIb3cgY2FjaGUgdXBkYXRlIG9uIG1lbW9yeSBm cmVlaW5nL3VucmVnaXN0ZXJpbmcgaGFwcGVuczoNCj4gPiA+ID4gPiA+ID4gPiA+IC0gYWNxdWly ZSBsb2NrIGZvciBnbG9iYWwgY2FjaGUgd3JpdGUgYWNjZXNzDQo+ID4gPiA+ID4gPiA+ID4gPiAt IFthXSByZW1vdmUgcmVsZXZhbnQgTVJzIGZyb20gdGhlIGdsb2JhbCBjYWNoZQ0KPiA+ID4gPiA+ ID4gPiA+ID4gLSBbYl0gc2V0IGxvY2FsIGNhY2hlcyBmbHVzaCByZXF1ZXN0DQo+ID4gPiA+ID4g PiA+ID4gPiAtIGZyZWUgZ2xvYmFsIGNhY2hlIGxvY2sNCj4gPiA+ID4gPiA+ID4gPiA+DQo+ID4g PiA+ID4gPiA+ID4gPiBJZiBJIHVuZGVyc3RhbmQgY29ycmVjdGx5LCB5b3VyIHBhdGNoIHN3YXBz IFthXSBhbmQgW2JdLA0KPiA+ID4gPiA+ID4gPiA+ID4gYW5kIGxvY2FsIGNhY2hlcyBmbHVzaCBp cyByZXF1ZXN0ZWQgZWFybGllci4gV2hhdA0KPiA+ID4gPiA+ID4gPiA+ID4gcHJvYmxlbSBkb2Vz IGl0DQo+ID4gc29sdmU/DQo+ID4gPiA+ID4gPiA+ID4gPiBJdCBpcyBub3Qgc3VwcG9zZWQgdGhl cmUgYXJlIGluIGRhdGFwYXRoIHNvbWUgbWJ1ZnMNCj4gPiA+ID4gPiA+ID4gPiA+IHJlZmVyZW5j aW5nIHRvIHRoZSBtZW1vcnkgYmVpbmcgZnJlZWQuIEFwcGxpY2F0aW9uIG11c3QNCj4gPiA+ID4g PiA+ID4gPiA+IGVuc3VyZSB0aGlzIGFuZCBtdXN0IG5vdCBhbGxvY2F0ZSBuZXcgbWJ1ZnMgZnJv bSB0aGlzDQo+ID4gPiA+ID4gPiA+ID4gPiBtZW1vcnkgcmVnaW9ucw0KPiA+ID4gPiBiZWluZyBm cmVlZC4NCj4gPiA+ID4gPiA+ID4gPiA+IEhlbmNlLCB0aGUgbG9va3VwcyBmb3IgdGhlc2UgTVJz IGluIGNhY2hlcyBzaG91bGQgbm90IG9jY3VyLg0KPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4g PiA+ID4gRm9yIHlvdXIgZmlyc3QgcG9pbnQgdGhhdCwgYXBwbGljYXRpb24gY2FuIHRha2UgY2hh cmdlIG9mDQo+ID4gPiA+ID4gPiA+ID4gcHJldmVudGluZyBNUiBmcmVlZCBtZW1vcnkgYmVpbmcg YWxsb2NhdGVkIHRvIGRhdGEgcGF0aC4NCj4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ IERvZXMgaXQgbWVhbnMgdGhhdCBJZiB0aGVyZSBpcyBhbiBlbWVyZ2VuY3kgb2YgTVINCj4gPiA+ ID4gPiA+ID4gPiBmcmFnbWVudCwgc3VjaCBhcyBob3RwbHVnLCB0aGUgYXBwbGljYXRpb24gbXVz dCBpbmZvcm0NCj4gPiA+ID4gPiA+ID4gPiB0aGVkYXRhIHBhdGggaW4gYWR2YW5jZSwgYW5kIHRo aXMgbWVtb3J5IHdpbGwgbm90IGJlDQo+ID4gPiA+ID4gPiA+ID4gYWxsb2NhdGVkLCBhbmQgdGhl biB0aGUgY29udHJvbCBwYXRoIHdpbGwgZnJlZSB0aGlzDQo+ID4gPiA+ID4gPiA+ID4gbWVtb3J5 PyBJZiBhcHBsaWNhdGlvbiAgY2FuIGRvIGxpa2UgdGhpcywgSSBhZ3JlZSB0aGF0DQo+ID4gPiA+ ID4gPiA+ID4gdGhpcyBidWcNCj4gPiA+ID4gPiA+IGNhbm5vdCBoYXBwZW4uDQo+ID4gPiA+ID4g PiA+DQo+ID4gPiA+ID4gPiA+IEFjdHVhbGx5LCAgdGhpcyBpcyB0aGUgb25seSBjb3JyZWN0IHdh eSBmb3IgYXBwbGljYXRpb24gdG8gb3BlcmF0ZS4NCj4gPiA+ID4gPiA+ID4gTGV0J3Mgc3VwcG9z ZSB3ZSBoYXZlIHNvbWUgbWVtb3J5IGFyZWEgdGhhdCBhcHBsaWNhdGlvbg0KPiA+ID4gPiA+ID4g PiB3YW50cyB0bw0KPiA+ID4gPiBmcmVlLg0KPiA+ID4gPiA+ID4gPiBBTEwgcmVmZXJlbmNlcyB0 byB0aGlzIGFyZWEgbXVzdCBiZSByZW1vdmVkLiBJZiB3ZSBoYXZlIHNvbWUNCj4gPiA+ID4gPiA+ ID4gbWJ1ZnMgYWxsb2NhdGVkIGZyb20gdGhpcyBhcmVhLCBpdCBtZWFucyB0aGF0IHdlIGhhdmUg bWVtb3J5DQo+ID4gPiA+ID4gPiA+IHBvb2wgY3JlYXRlZA0KPiA+ID4gPiA+IHRoZXJlLg0KPiA+ ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiBXaGF0IGFwcGxpY2F0aW9uIHNob3VsZCBkbzoNCj4g PiA+ID4gPiA+ID4gLSBub3RpZnkgYWxsIGl0cyBjb21wb25lbnRzL2FnZW50cyB0aGUgbWVtb3J5 IGFyZWEgaXMgZ29pbmcNCj4gPiA+ID4gPiA+ID4gdG8gYmUgZnJlZWQNCj4gPiA+ID4gPiA+ID4g LSBhbGwgY29tcG9uZW50cy9hZ2VudHMgZnJlZSB0aGUgbWJ1ZnMgdGhleSBtaWdodCBvd24NCj4g PiA+ID4gPiA+ID4gLSBQTUQgbWlnaHQgbm90IHN1cHBvcnQgZnJlZWluZyBmb3Igc29tZSBtYnVm cyAoZm9yIGV4YW1wbGUNCj4gPiA+ID4gPiA+ID4gYmVpbmcgc2VudCBhbmQgYXdhaXRpbmcgZm9y IGNvbXBsZXRpb24pLCBzbyBhcHAgc2hvdWxkIGp1c3QNCj4gPiA+ID4gPiA+ID4gd2FpdA0KPiA+ ID4gPiA+ID4gPiAtIHdhaXQgdGlsbCBhbGwgbWJ1ZnMgYXJlIHJldHVybmVkIHRvIHRoZSBtZW1v cnkgcG9vbCAoYnkNCj4gPiA+ID4gPiA+ID4gbW9uaXRvcmluZyBhdmFpbGFibGUgb2JqID09IHBv b2wgc2l6ZSkNCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gT3RoZXJ3aXNlIC0gaXQgaXMg ZGFuZ2Vyb3VzIHRvIGZyZWUgdGhlIG1lbW9yeS4gVGhlcmUgYXJlDQo+ID4gPiA+ID4gPiA+IGp1 c3Qgc29tZSBtYnVmcyBzdGlsbCBhbGxvY2F0ZWQsIGl0IGlzIHJlZ2FyZGxlc3MgdG8gYnVmDQo+ ID4gPiA+ID4gPiA+IGFkZHJlc3MgdG8gTVIgdHJhbnNsYXRpb24uIFdlIGp1c3QgY2FuJ3QgZnJl ZSB0aGUgbWVtb3J5IC0NCj4gPiA+ID4gPiA+ID4gdGhlIG1hcHBpbmcgd2lsbCBiZSBkZXN0cm95 ZWQgYW5kIG1pZ2h0IGNhdXNlIHRoZQ0KPiA+ID4gPiA+ID4gPiBzZWdtZW50YXRpb24gZmF1bHQg YnkgU1cgb3Igc29tZSBIVyBpc3N1ZXMgb24gRE1BIGFjY2VzcyB0bw0KPiA+ID4gPiA+ID4gPiB1 bm1hcHBlZCBtZW1vcnkuICBJdCBpcyB2ZXJ5IGdlbmVyaWMgc2FmZXR5IGFwcHJvYWNoIC0gZG8N Cj4gPiA+ID4gPiA+ID4gbm90IGZyZWUgdGhlIG1lbW9yeSB0aGF0IGlzIHN0aWxsIGluDQo+ID4g dXNlLg0KPiA+ID4gPiA+ID4gPiBIZW5jZSwgYXQgdGhlIG1vbWVudCBvZiBmcmVlaW5nIGFuZCB1 bnJlZ2lzdGVyaW5nIHRoZSBNUiwNCj4gPiA+ID4gPiA+ID4gdGhlcmUgTVVTVCBCRSBOTyBhbnkN Cj4gPiA+ID4gPiA+IG1idWZzIGluIGZsaWdodCByZWZlcmVuY2luZyB0byB0aGUgYWRkcmVzc2Vz IGJlaW5nIGZyZWVkLg0KPiA+ID4gPiA+ID4gPiBObyB0cmFuc2xhdGlvbiB0byBNUiBiZWluZyBp bnZhbGlkYXRlZCBjYW4gaGFwcGVuLg0KPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+DQo+ ID4gPiA+ID4gPiA+ID4gPiBGb3Igb3RoZXIgc2lkZSwgdGhlIGNhY2hlIGZsdXNoIGhhcyBuZWdh dGl2ZSBlZmZlY3QgLQ0KPiA+ID4gPiA+ID4gPiA+ID4gdGhlIGxvY2FsIGNhY2hlIGlzIGdldHRp bmcgZW1wdHkgYW5kIGNhbid0IHByb3ZpZGUNCj4gPiA+ID4gPiA+ID4gPiA+IHRyYW5zbGF0aW9u IGZvciBvdGhlciB2YWxpZCAobm90IGJlaW5nIHJlbW92ZWQpIE1ScywgYW5kDQo+ID4gPiA+ID4g PiA+ID4gPiB0aGUgdHJhbnNsYXRpb24gaGFzIHRvIGxvb2sgdXAgaW4gdGhlIGdsb2JhbCBjYWNo ZSwgdGhhdA0KPiA+ID4gPiA+ID4gPiA+ID4gaXMgbG9ja2VkIG5vdyBmb3IgcmVidWlsZGluZywg dGhpcyBjYXVzZXMgdGhlIGRlbGF5cyBpbg0KPiA+ID4gPiA+ID4gPiA+ID4gZGF0YXBhdGNoDQo+ ID4gPiA+ID4gPiA+ID4gb24gYWNxdWlyaW5nIGdsb2JhbCBjYWNoZSBsb2NrLg0KPiA+ID4gPiA+ ID4gPiA+ID4gU28sIEkgc2VlIHNvbWUgcG90ZW50aWFsIHBlcmZvcm1hbmNlIGltcGFjdC4NCj4g PiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+IElmIGFib3ZlIGFzc3VtcHRpb24gaXMgdHJ1 ZSwgd2UgY2FuIGdvIHRvIHlvdXIgc2Vjb25kIHBvaW50Lg0KPiA+ID4gPiA+ID4gPiA+IEkgdGhp bmsgdGhpcyBpcyBhIHByb2JsZW0gb2YgdGhlIHRyYWRlb2ZmIGJldHdlZW4gY2FjaGUNCj4gPiA+ ID4gPiA+ID4gPiBjb2hlcmVuY2UgYW5kDQo+ID4gPiA+ID4gPiA+IHBlcmZvcm1hbmNlLg0KPiA+ ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gSSBjYW4gdW5kZXJzdGFuZCB5b3VyIG1lYW5p bmcgdGhhdCB0aG91Z2ggZ2xvYmFsIGNhY2hlIGhhcw0KPiA+ID4gPiA+ID4gPiA+IGJlZW4gY2hh bmdlZCwgd2Ugc2hvdWxkIGtlZXAgdGhlIHZhbGlkIE1SIGluIGxvY2FsIGNhY2hlDQo+ID4gPiA+ ID4gPiA+ID4gYXMgbG9uZyBhcyBwb3NzaWJsZSB0byBlbnN1cmUgdGhlIGZhc3Qgc2VhcmNoaW5n IHNwZWVkLg0KPiA+ID4gPiA+ID4gPiA+IEluIHRoZSBtZWFud2hpbGUsIHRoZSBsb2NhbCBjYWNo ZSBjYW4gYmUgcmVidWlsdCBsYXRlciB0bw0KPiA+ID4gPiA+ID4gPiA+IHJlZHVjZSBpdHMgd2Fp dGluZyB0aW1lIGZvciBhY3F1aXJpbmcgdGhlIGdsb2JhbCBjYWNoZSBsb2NrLg0KPiA+ID4gPiA+ ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gSG93ZXZlciwgIHRoaXMgbWVjaGFuaXNtIGp1c3QgZW5z dXJlcyB0aGUgcGVyZm9ybWFuY2UNCj4gPiA+ID4gPiA+ID4gPiB1bmNoYW5nZWQgZm9yIHRoZSBm aXJzdCBmZXcgbWJ1ZnMuDQo+ID4gPiA+ID4gPiA+ID4gRHVyaW5nIHRoZSBuZXh0IG1idWZzIGxr ZXkgc2VhcmNoaW5nIGFmdGVyICdkZXZfZ2VuJw0KPiA+ID4gPiA+ID4gPiA+IHVwZGF0ZWQsIGl0 IGlzIHN0aWxsIG5lY2Vzc2FyeSB0byB1cGRhdGUgdGhlIGxvY2FsIGNhY2hlLg0KPiA+ID4gPiA+ ID4gPiA+IEFuZCB0aGUgcGVyZm9ybWFuY2UgY2FuIGZpcnN0bHkgcmVkdWNlIGFuZCB0aGVuIHJl dHVybnMuDQo+ID4gPiA+ID4gPiA+ID4gVGh1cywgbm8gbWF0dGVyIHdoZXRoZXIgdGhlcmUgaXMg dGhpcyBwYXRjaCBvciBub3QsICB0aGUNCj4gPiA+ID4gPiA+ID4gPiBwZXJmb3JtYW5jZSB3aWxs IGppdHRlciBpbiBhIGNlcnRhaW4gcGVyaW9kIG9mDQo+ID4gPiA+ID4gdGltZS4NCj4gPiA+ID4g PiA+ID4NCj4gPiA+ID4gPiA+ID4gTG9jYWwgY2FjaGUgc2hvdWxkIGJlIHVwZGF0ZWQgdG8gcmVt b3ZlIE1ScyBubyBsb25nZXIgdmFsaWQuDQo+ID4gPiA+ID4gPiA+IEJ1dCB3ZSBqdXN0IGZsdXNo IHRoZSBlbnRpcmUgY2FjaGUuDQo+ID4gPiA+ID4gPiA+IExldCdzIHN1cHBvc2Ugd2UgaGF2ZSB2 YWxpZCBNUjAsIE1SMSwgYW5kIG5vdCB2YWxpZCBNUlggaW4NCj4gPiA+ID4gPiA+ID4gbG9jYWwN Cj4gPiA+IGNhY2hlLg0KPiA+ID4gPiA+ID4gPiBBbmQgdGhlcmUgYXJlIHRyYWZmaWMgaW4gdGhl IGRhdGFwYXRoIGZvciBNUjAgYW5kIE1SMSwgYW5kDQo+ID4gPiA+ID4gPiA+IG5vIHRyYWZmaWMg Zm9yIE1SWCBhbnltb3JlLg0KPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiAxKSBJZiB3ZSBk byBhcyB5b3UgcHJvcG9zZToNCj4gPiA+ID4gPiA+ID4gYSkgdGFrZSBhIGxvY2sNCj4gPiA+ID4g PiA+ID4gYikgcmVxdWVzdCBmbHVzaCBsb2NhbCBjYWNoZSBmaXJzdCAtIGFsbCBNUjAsIE1SMSwg TVJYIHdpbGwNCj4gPiA+ID4gPiA+ID4gYmUgcmVtb3ZlZCBvbiB0cmFuc2xhdGlvbiBpbiBkYXRh cGF0aA0KPiA+ID4gPiA+ID4gPiBjKSB1cGRhdGUgZ2xvYmFsIGNhY2hlLA0KPiA+ID4gPiA+ID4g PiBkKSBmcmVlIGxvY2sNCj4gPiA+ID4gPiA+ID4gQWxsIHRoZSB0cmFmZmljIGZvciB2YWxpZCBN UjAsIE1SMSBBTFdBWVMgd2lsbCBiZSBibG9ja2VkIG9uDQo+ID4gPiA+ID4gPiA+IGxvY2sgdGFr ZW4gZm9yIGNhY2hlIHVwZGF0ZSBzaW5jZSBwb2ludCBiKSB0aWxsIHBvaW50IGQpLg0KPiA+ID4g PiA+ID4gPg0KPiA+ID4gPiA+ID4gPiAyKSBJZiB3ZSBkbyBhcyBpdCBpcyBpbXBsZW1lbnRlZCBu b3c6DQo+ID4gPiA+ID4gPiA+IGEpIHRha2UgYSBsb2NrDQo+ID4gPiA+ID4gPiA+IGIpIHVwZGF0 ZSBnbG9iYWwgY2FjaGUNCj4gPiA+ID4gPiA+ID4gYykgcmVxdWVzdCBmbHVzaCBsb2NhbCBjYWNo ZQ0KPiA+ID4gPiA+ID4gPiBkKSBmcmVlIGxvY2sNCj4gPiA+ID4gPiA+ID4gVGhlIHRyYWZmaWMg TUlHSFQgYmUgbG9ja2VkIE9OTFkgZm9yIE1ScyBub24tZXhpc3RpbmcgaW4NCj4gPiA+ID4gPiA+ ID4gbG9jYWwgY2FjaGUgKG5vdCBoYXBwZW5zIGZvciBNUjAgYW5kIE1SMSwgbXVzdCBub3QgaGFw cGVuDQo+ID4gPiA+ID4gPiA+IGZvciBNUlgpLCBhbmQgcHJvYmFiaWxpdHkgc2hvdWxkIGJlIG1p bm9yLiBBbmQgbG9jayBtaWdodA0KPiA+ID4gPiA+ID4gPiBoYXBwZW4gc2luY2UNCj4gPiA+ID4g PiA+ID4gYykgdGlsbA0KPiA+ID4gPiA+ID4gPiBkKQ0KPiA+ID4gPiA+ID4gPiAtIHF1aXRlIHNo b3J0IHBlcmlvZCBvZiB0aW1lDQo+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+IFN1bW1hcnks IHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gMSkgYW5kIDIpDQo+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ ID4gPiA+IExvY2sgcHJvYmFiaWxpdHk6DQo+ID4gPiA+ID4gPiA+IC0gMSkgbG9jayBBTFdBWVMg aGFwcGVuIGZvciBBTlkgTVIgdHJhbnNsYXRpb24gYWZ0ZXIgYiksDQo+ID4gPiA+ID4gPiA+ICAg MikgbG9jayBNSUdIVCBoYXBwZW4sIGZvciBjYWNoZSBtaXNzIE9OTFksIGFmdGVyIGMpDQo+ID4g PiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+IExvY2sgZHVyYXRpb246DQo+ID4gPiA+ID4gPiA+IC0g MSkgbG9jayBzaW5jZSBiKSB0aWxsIGQpLA0KPiA+ID4gPiA+ID4gPiAgIDIpIGxvY2sgc2luY2Ug YykgdGlsbCBkKSwgdGhhdCBzZWVtcyB0byBiZSAgbXVjaCBzaG9ydGVyLg0KPiA+ID4gPiA+ID4g Pg0KPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gRmluYWxseSwgaW4gY29uY2x1c2lv biwgSSB0ZW5kIHRvIHRoaW5rIHRoYXQgdGhlIGJvdHRvbQ0KPiA+ID4gPiA+ID4gPiA+IGxheWVy IGNhbiBkbyBtb3JlIHRoaW5ncyB0byBlbnN1cmUgdGhlIGNvcnJlY3QgZXhlY3V0aW9uDQo+ID4g PiA+ID4gPiA+ID4gb2YgdGhlIHByb2dyYW0sIHdoaWNoIG1heSBoYXZlIGEgbmVnYXRpdmUgaW1w YWN0IG9uIHRoZQ0KPiA+ID4gPiA+ID4gPiA+IHBlcmZvcm1hbmNlIGluIGEgc2hvcnQgdGltZSwg YnV0IGluIHRoZSBsb25nIHJ1biwgdGhlDQo+ID4gPiA+ID4gPiA+ID4gcGVyZm9ybWFuY2Ugd2ls bCBldmVudHVhbGx5DQo+ID4gPiA+IGNvbWUgYmFjay4NCj4gPiA+ID4gPiA+ID4gPiBGdXJ0aGVy bW9yZSwgbWF5YmUgd2Ugc2hvdWxkIHBheSBhdHRlbnRpb24gdG8gdGhlDQo+ID4gPiA+ID4gPiA+ ID4gcGVyZm9ybWFuY2UgaW4gdGhlIHN0YWJsZSBwZXJpb2QsIGFuZCB0cnkgb3VyIGJlc3QgdG8N Cj4gPiA+ID4gPiA+ID4gPiBlbnN1cmUgdGhlIGNvcnJlY3RuZXNzIG9mIHRoZSBwcm9ncmFtIGlu IGNhc2Ugb2YNCj4gPiA+ID4gPiA+ID4gZW1lcmdlbmNpZXMuDQo+ID4gPiA+ID4gPiA+DQo+ID4g PiA+ID4gPiA+IElmIHdlIGhhdmUgc29tZSBtYnVmcyBzdGlsbCBhbGxvY2F0ZWQgaW4gbWVtb3J5 IGJlaW5nIGZyZWVkDQo+ID4gPiA+ID4gPiA+IC0gdGhlcmUgaXMgbm90aGluZyB0byBzYXkgYWJv dXQgY29ycmVjdG5lc3MsIGl0IGlzIHRvdGFsbHkNCj4gPiA+ID4gPiA+ID4gaW5jb3JyZWN0LiBJ biBteSBvcGluaW9uLCB3ZSBzaG91bGQgbm90IHRoaW5rIGhvdyB0bw0KPiA+ID4gPiA+ID4gPiBt aXRpZ2F0ZSB0aGlzIGluY29ycmVjdCBiZWhhdmlvciwgd2Ugc2hvdWxkIG5vdCBlbmNvdXJhZ2UN Cj4gPiA+ID4gPiA+ID4gYXBwbGljYXRpb24gZGV2ZWxvcGVycyB0byBmb2xsb3cgdGhlIHdyb25n DQo+ID4gPiA+ID4gPiBhcHByb2FjaGVzLg0KPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiBX aXRoIGJlc3QgcmVnYXJkcywNCj4gPiA+ID4gPiA+ID4gU2xhdmENCj4gPiA+ID4gPiA+ID4NCj4g PiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+IEJlc3QgUmVnYXJkcw0KPiA+ID4gPiA+ID4g PiA+IEZlaWZlaQ0KPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPiBXaXRoIGJlc3Qg cmVnYXJkcywNCj4gPiA+ID4gPiA+ID4gPiA+IFNsYXZhDQo=