From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by mx.groups.io with SMTP id smtpd.web10.12059.1594780741398056391 for ; Tue, 14 Jul 2020 19:39:01 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=T9IezNXp; spf=pass (domain: intel.com, ip: 134.134.136.65, mailfrom: michael.d.kinney@intel.com) IronPort-SDR: YGoZoBKpDsiPmmn8EbB6q4sf94omNTCG+GO/DL3DYILuViJ7rt54WNmiZE2h7/3z3gIE49clxu TsOnuEIwTaug== X-IronPort-AV: E=McAfee;i="6000,8403,9682"; a="149062176" X-IronPort-AV: E=Sophos;i="5.75,353,1589266800"; d="scan'208";a="149062176" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Jul 2020 19:39:00 -0700 IronPort-SDR: VdxiMCHvE2g7/1WiBGxqv8ZRTckERQbqMRdjH1lWHYv/65eth3I1Wgq5OvJn6t0qUFc2lyiiZu C8H6ouP7E49g== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.75,353,1589266800"; d="scan'208";a="317917915" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by fmsmga002.fm.intel.com with ESMTP; 14 Jul 2020 19:39:00 -0700 Received: from fmsmsx607.amr.corp.intel.com (10.18.126.87) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Tue, 14 Jul 2020 19:38:59 -0700 Received: from FMSEDG001.ED.cps.intel.com (10.1.192.133) by fmsmsx607.amr.corp.intel.com (10.18.126.87) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.1713.5 via Frontend Transport; Tue, 14 Jul 2020 19:38:59 -0700 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.174) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (TLS) id 14.3.439.0; Tue, 14 Jul 2020 19:38:59 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NDPvr0yLsvXZWUSiLyhUfVHvjRT6qKvWiiCx1Pc1rUkQDeZm5ZOnUk0pSHH4RFts7AWOzbEsvz8cy7LzoeJ5kUB08XXr47q3ZuMrwZolQQO/wkUElJFnwbEgBBYR0/R3jWyBgQe/1F2s3OWs1VP41hHx+dn4jtfwYUvZ5I33s5m96JhM0aqlZVWy/rcGfXOpQ75uddpoNT1L/IYLGXdc/S6lctBQSzAiTphhVyvLamnOyAdhU9+f6kzxcEdHQk3YCGz1EgErpzxapwhXa9Tq1zcgIguve7sw+ngX87IdZ8tnePLzeAks0VAji3CDeR08nvFK0Vf5Am/Zula1maNUjA== 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=9iMLKspkfZXQYO8BflBAWimeWqxXxLxOsydDGHBItBg=; b=Kx50Sj8XU268zJ5SobpztIrurON53xUpWHAiauzj9utebh3nfDuldnsiTxaZvjz0AfPs+74xwn3OhhzDRWkmzx3rYfqvCvqJqogOwG7cHysPToEgKsWDJyN6hLI4ZToP3yrVfurD/mxOVfQvbiDu+GHwBqKe8atp2dTH/CLwvuFzeoKHdrK6mo0fq2syor9j235+eCU7IxW70f01FxaSyK5SSiav5cOB3P1asZdO4VcS7Acuf1RpQJThgpiNeBiAokgTP9XaZsWl8fau+A+Yr5AOjCL2ju23xCQXEQG1qliAtL+OKv3uhAF7OxOQi1EEbL7YfOc7Ufr9wZz7EAI4iw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=9iMLKspkfZXQYO8BflBAWimeWqxXxLxOsydDGHBItBg=; b=T9IezNXp0TDG86m1FLCO1JdWylXDZqikvFycLrVtnlUCvcPcG8UiHsIagTXxst3Jr3NlzZn3XkfzTM2CG7S3wWtXIootcFo087eyabCS7bazaweLcesLW+UxrquJCPsN9azSDBLGermjBnjaiSEmlHe6HUwdFtVs1HqMfN5AVw0= Received: from MN2PR11MB4461.namprd11.prod.outlook.com (2603:10b6:208:192::29) by MN2PR11MB4302.namprd11.prod.outlook.com (2603:10b6:208:179::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3174.22; Wed, 15 Jul 2020 02:38:56 +0000 Received: from MN2PR11MB4461.namprd11.prod.outlook.com ([fe80::10bc:1a4e:4745:ffc1]) by MN2PR11MB4461.namprd11.prod.outlook.com ([fe80::10bc:1a4e:4745:ffc1%3]) with mapi id 15.20.3174.025; Wed, 15 Jul 2020 02:38:56 +0000 From: "Michael D Kinney" To: "matthewfcarlson@gmail.com" , "devel@edk2.groups.io" , "Kinney, Michael D" CC: Sean Brogan , Bret Barkelew Subject: Re: [PATCH v3 1/3] UnitTestFrameworkPkg : BaseTimerLibPosix: Adds a host-based timer Lib Thread-Topic: [PATCH v3 1/3] UnitTestFrameworkPkg : BaseTimerLibPosix: Adds a host-based timer Lib Thread-Index: AQHWWgvhSS/mmkh1wEa+Yqbi7Py7wKkH7W7w Date: Wed, 15 Jul 2020 02:38:56 +0000 Message-ID: References: <20200714182317.1605-1-matthewfcarlson@gmail.com> <20200714182317.1605-2-matthewfcarlson@gmail.com> In-Reply-To: <20200714182317.1605-2-matthewfcarlson@gmail.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.2.0.6 authentication-results: gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [24.19.191.44] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 41832e97-3e70-4c54-7eaa-08d828683890 x-ms-traffictypediagnostic: MN2PR11MB4302: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8273; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: ov1wBBG5WcktnXSAa63YE+4DBmDh8FfYXS5JOSjFP79AbmIZZz9LqqVPtk2jNMOzPk9E8146i2Zv3YO/mJ+fdYU98Wb7Br7Ha8ZzvqbRNAs6Wi8DsTnAUN4gyk9ntw5PLo/iafMqCu4HKZkpHT3zqscJ1tlr6utuE3sPX3ireU80eY5KREEp3XGZSlF6VcIy5fJyFMkouFE0Yef5j0O6iLvdwtcGwHu6eXawMRWtImRaQxSMJohtq+BPNWkLgBfEsMDTeGY7XBo5arVVYGXf+AWgrTXuZaQIB29LAMWU3sTwOoVpO+3srKC6bcnRxKvt x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MN2PR11MB4461.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(4636009)(396003)(39860400002)(376002)(346002)(136003)(366004)(86362001)(316002)(6506007)(7696005)(5660300002)(26005)(186003)(52536014)(2906002)(53546011)(66446008)(478600001)(9686003)(66556008)(66476007)(4326008)(83380400001)(71200400001)(66946007)(76116006)(55016002)(45080400002)(110136005)(54906003)(64756008)(33656002)(8936002)(8676002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: MvjDdvUxD5GPPUlv8WjlXDrFgP2D0HcVf4PNYz9ng/9S+FqCGw+qFTN2zJI/yfe4v3WiDx3xw1Srjwn0GD478NS9PnvCoTu5wNyIbdoQ1UEf/5L2bIo0Hz8dVqe5r/gwaAflTL2HPRNu58U+Mv1+1rhV6PS0G/MucXSRoWM+fQtMl3rHqm9dbvOYa7aZ+z2VDoGWeUo9EnfQKc7oUGa4pjyMtNfJqx7dbWvnsJicWaSghbWT5GZ3TsOoMMljMbWMb03ZUdw+crw+ffYEaYyFmK465/4VM1EPu/HlOxk6Ir2EL0MazC5gFgICdOyDIrhQ5+X53qe7Vg/ansqi7F+uL2iJclDF4NwBwljyC1A9KfN+5eO3TUSsjEaSy3tu3IajOBuJAXfIr+NK0pqL2rW7vQpvk8Ozjc8YmqMCiVktRjVK4JWfJ0HQvIXBDy2BzIyJm2QWkElGRRkspsVqdKavd+F7sKaHRqqdtx44rmWEluw= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN2PR11MB4461.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 41832e97-3e70-4c54-7eaa-08d828683890 X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Jul 2020 02:38:56.2129 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 05BC+dDx5wlb3rgEUooz5YkzqhPO4gF85vluZxw5IMzWMs9H0CgOs+QgH/L3PnWf2Fl+ZSdsBMTW0iWyiqeNiod/BwpDS6HUjehSS9ouwx8= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB4302 Return-Path: michael.d.kinney@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 TWF0dCwNCg0KUmV2aWV3ZWQtYnk6IE1pY2hhZWwgRCBLaW5uZXkgPG1pY2hhZWwuZC5raW5uZXlA aW50ZWwuY29tPiANCg0KTWlrZQ0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZy b206IG1hdHRoZXdmY2FybHNvbkBnbWFpbC5jb20NCj4gPG1hdHRoZXdmY2FybHNvbkBnbWFpbC5j b20+DQo+IFNlbnQ6IFR1ZXNkYXksIEp1bHkgMTQsIDIwMjAgMTE6MjMgQU0NCj4gVG86IGRldmVs QGVkazIuZ3JvdXBzLmlvDQo+IENjOiBLaW5uZXksIE1pY2hhZWwgRCA8bWljaGFlbC5kLmtpbm5l eUBpbnRlbC5jb20+OyBTZWFuDQo+IEJyb2dhbiA8c2Vhbi5icm9nYW5AbWljcm9zb2Z0LmNvbT47 IEJyZXQgQmFya2VsZXcNCj4gPEJyZXQuQmFya2VsZXdAbWljcm9zb2Z0LmNvbT4NCj4gU3ViamVj dDogW1BBVENIIHYzIDEvM10gVW5pdFRlc3RGcmFtZXdvcmtQa2cgOg0KPiBCYXNlVGltZXJMaWJQ b3NpeDogQWRkcyBhIGhvc3QtYmFzZWQgdGltZXIgTGliDQo+IA0KPiBGcm9tOiBNYXR0aGV3IENh cmxzb24gPG1hY2FybEBtaWNyb3NvZnQuY29tPg0KPiANCj4gVGhpcyBhZGRzIGEgaG9zdCBiYXNl ZCBCYXNlVGltZXJMaWIgdGhhdCB3b24ndCBhc3NlcnQuDQo+IA0KPiBDYzogTWljaGFlbCBEIEtp bm5leSA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+DQo+IENjOiBTZWFuIEJyb2dhbiA8c2Vh bi5icm9nYW5AbWljcm9zb2Z0LmNvbT4NCj4gQ2M6IEJyZXQgQmFya2VsZXcgPEJyZXQuQmFya2Vs ZXdAbWljcm9zb2Z0LmNvbT4NCj4gU2lnbmVkLW9mZi1ieTogTWF0dGhldyBDYXJsc29uDQo+IDxt YXR0aGV3ZmNhcmxzb25AZ21haWwuY29tPg0KPiAtLS0NCj4gDQo+IFVuaXRUZXN0RnJhbWV3b3Jr UGtnL0xpYnJhcnkvUG9zaXgvQmFzZVRpbWVyTGliUG9zaXgvVGltDQo+IGVyTGliUG9zaXguYyAg ICAgICB8IDEzMiArKysrKysrKysrKysrKysrKysrKw0KPiANCj4gVW5pdFRlc3RGcmFtZXdvcmtQ a2cvTGlicmFyeS9Qb3NpeC9CYXNlVGltZXJMaWJQb3NpeC9CYXMNCj4gZVRpbWVyTGliUG9zaXgu aW5mIHwgIDMzICsrKysrDQo+IA0KPiBVbml0VGVzdEZyYW1ld29ya1BrZy9MaWJyYXJ5L1Bvc2l4 L0Jhc2VUaW1lckxpYlBvc2l4L0Jhcw0KPiBlVGltZXJMaWJQb3NpeC51bmkgfCAgMTQgKysrDQo+ IA0KPiBVbml0VGVzdEZyYW1ld29ya1BrZy9UZXN0L1VuaXRUZXN0RnJhbWV3b3JrUGtnSG9zdFRl c3QuZA0KPiBzYyAgICAgICAgICAgICAgICAgfCAgIDEgKw0KPiAgVW5pdFRlc3RGcmFtZXdvcmtQ a2cvVW5pdFRlc3RGcmFtZXdvcmtQa2dIb3N0LmRzYy5pbmMNCj4gfCAgIDEgKw0KPiAgNSBmaWxl cyBjaGFuZ2VkLCAxODEgaW5zZXJ0aW9ucygrKQ0KPiANCj4gZGlmZiAtLWdpdA0KPiBhL1VuaXRU ZXN0RnJhbWV3b3JrUGtnL0xpYnJhcnkvUG9zaXgvQmFzZVRpbWVyTGliUG9zaXgvVA0KPiBpbWVy TGliUG9zaXguYw0KPiBiL1VuaXRUZXN0RnJhbWV3b3JrUGtnL0xpYnJhcnkvUG9zaXgvQmFzZVRp bWVyTGliUG9zaXgvVA0KPiBpbWVyTGliUG9zaXguYw0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0K PiBpbmRleCAwMDAwMDAwMDAwMDAuLjNjMTM5NGUzYjIxYg0KPiAtLS0gL2Rldi9udWxsDQo+ICsr Kw0KPiBiL1VuaXRUZXN0RnJhbWV3b3JrUGtnL0xpYnJhcnkvUG9zaXgvQmFzZVRpbWVyTGliUG9z aXgvVA0KPiBpbWVyTGliUG9zaXguYw0KPiBAQCAtMCwwICsxLDEzMiBAQA0KPiArLyoqIEBmaWxl DQo+IA0KPiArICBBIHNlbWktZnVuY3Rpb25hbCBpbnN0YW5jZSBvZiB0aGUgVGltZXIgTGlicmFy eS4NCj4gDQo+ICsNCj4gDQo+ICsgIENvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9u Lg0KPiANCj4gKw0KPiANCj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVz ZS1QYXRlbnQNCj4gDQo+ICsNCj4gDQo+ICsqKi8NCj4gDQo+ICsNCj4gDQo+ICsjaW5jbHVkZSA8 QmFzZS5oPg0KPiANCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L1RpbWVyTGliLmg+DQo+IA0KPiArI2lu Y2x1ZGUgPExpYnJhcnkvRGVidWdMaWIuaD4NCj4gDQo+ICsjaW5jbHVkZSA8c3RkaW8uaD4NCj4g DQo+ICsjaW5jbHVkZSA8c3RkbGliLmg+DQo+IA0KPiArI2luY2x1ZGUgPHRpbWUuaD4NCj4gDQo+ ICsNCj4gDQo+ICsvKioNCj4gDQo+ICsgIFN0YWxscyB0aGUgQ1BVIGZvciBhdCBsZWFzdCB0aGUg Z2l2ZW4gbnVtYmVyIG9mDQo+IG1pY3Jvc2Vjb25kcy4NCj4gDQo+ICsNCj4gDQo+ICsgIEBwYXJh bSAgTWljcm9TZWNvbmRzICBUaGUgbWluaW11bSBudW1iZXIgb2YNCj4gbWljcm9zZWNvbmRzIHRv IGRlbGF5Lg0KPiANCj4gKyAgQHJldHVybiBUaGUgdmFsdWUgb2YgTWljcm9TZWNvbmRzIGlucHV0 dGVkLg0KPiANCj4gKw0KPiANCj4gKyoqLw0KPiANCj4gK1VJTlRODQo+IA0KPiArRUZJQVBJDQo+ IA0KPiArTWljcm9TZWNvbmREZWxheSAoDQo+IA0KPiArICBJTiAgICAgIFVJTlROICAgICAgICAg ICAgICAgICAgICAgTWljcm9TZWNvbmRzDQo+IA0KPiArICApDQo+IA0KPiArew0KPiANCj4gKyAg Ly8gU2luY2UgdGhpcyBpcyBhIGhvc3QgYmFzZWQgdGVzdCwgd2UgZG9uJ3QgYWN0dWFsbHkNCj4g d2FudCB0byBzdGFsbA0KPiANCj4gKyAgcmV0dXJuIE1pY3JvU2Vjb25kczsNCj4gDQo+ICt9DQo+ IA0KPiArDQo+IA0KPiArLyoqDQo+IA0KPiArICBTdGFsbHMgdGhlIENQVSBmb3IgYXQgbGVhc3Qg dGhlIGdpdmVuIG51bWJlciBvZg0KPiBuYW5vc2Vjb25kcy4NCj4gDQo+ICsNCj4gDQo+ICsgIEBw YXJhbSAgTmFub1NlY29uZHMgVGhlIG1pbmltdW0gbnVtYmVyIG9mIG5hbm9zZWNvbmRzDQo+IHRv IGRlbGF5Lg0KPiANCj4gKyAgQHJldHVybiBUaGUgdmFsdWUgb2YgTmFub1NlY29uZHMgaW5wdXR0 ZWQuDQo+IA0KPiArDQo+IA0KPiArKiovDQo+IA0KPiArVUlOVE4NCj4gDQo+ICtFRklBUEkNCj4g DQo+ICtOYW5vU2Vjb25kRGVsYXkgKA0KPiANCj4gKyAgSU4gICAgICBVSU5UTiAgICAgICAgICAg ICAgICAgICAgIE5hbm9TZWNvbmRzDQo+IA0KPiArICApDQo+IA0KPiArew0KPiANCj4gKyAgLy8g U2luY2UgdGhpcyBpcyBhIGhvc3QgYmFzZWQgdGVzdCwgd2UgZG9uJ3QgYWN0dWFsbHkNCj4gd2Fu dCB0byBzdGFsbA0KPiANCj4gKyAgcmV0dXJuIE5hbm9TZWNvbmRzOw0KPiANCj4gK30NCj4gDQo+ ICsNCj4gDQo+ICsvKioNCj4gDQo+ICsgIFJldHJpZXZlcyB0aGUgY3VycmVudCB2YWx1ZSBvZiBh IDY0LWJpdCBmcmVlIHJ1bm5pbmcNCj4gcGVyZm9ybWFuY2UgY291bnRlci4NCj4gDQo+ICsNCj4g DQo+ICsgIFRoZSBjb3VudGVyIGNhbiBlaXRoZXIgY291bnQgdXAgYnkgMSBvciBjb3VudCBkb3du IGJ5DQo+IDEuIElmIHRoZSBwaHlzaWNhbA0KPiANCj4gKyAgcGVyZm9ybWFuY2UgY291bnRlciBj b3VudHMgYnkgYSBsYXJnZXIgaW5jcmVtZW50LA0KPiB0aGVuIHRoZSBjb3VudGVyIHZhbHVlcw0K PiANCj4gKyAgbXVzdCBiZSB0cmFuc2xhdGVkLiBUaGUgcHJvcGVydGllcyBvZiB0aGUgY291bnRl ciBjYW4NCj4gYmUgcmV0cmlldmVkIGZyb20NCj4gDQo+ICsgIEdldFBlcmZvcm1hbmNlQ291bnRl clByb3BlcnRpZXMoKS4NCj4gDQo+ICsNCj4gDQo+ICsgIEByZXR1cm4gVGhlIGN1cnJlbnQgdmFs dWUgb2YgdGhlIGZyZWUgcnVubmluZw0KPiBwZXJmb3JtYW5jZSBjb3VudGVyLg0KPiANCj4gKw0K PiANCj4gKyoqLw0KPiANCj4gK1VJTlQ2NA0KPiANCj4gK0VGSUFQSQ0KPiANCj4gK0dldFBlcmZv cm1hbmNlQ291bnRlciAoDQo+IA0KPiArICBWT0lEDQo+IA0KPiArICApDQo+IA0KPiArew0KPiAN Cj4gKyAgc3RydWN0IHRpbWVzcGVjIHRzOw0KPiANCj4gKyAgdGltZXNwZWNfZ2V0KCZ0cywgVElN RV9VVEMpOw0KPiANCj4gKyAgLy8gUmV0dXJuIHRoZSBjdXJyZW50IG51bWJlciBvZiBuYW5vc2Vj b25kcyBvbiB0aGUNCj4gY2xvY2sNCj4gDQo+ICsgIHJldHVybiB0cy50dl9uc2VjOw0KPiANCj4g K30NCj4gDQo+ICsNCj4gDQo+ICsvKioNCj4gDQo+ICsgIFJldHJpZXZlcyB0aGUgNjQtYml0IGZy ZXF1ZW5jeSBpbiBIeiBhbmQgdGhlIHJhbmdlIG9mDQo+IHBlcmZvcm1hbmNlIGNvdW50ZXINCj4g DQo+ICsgIHZhbHVlcy4NCj4gDQo+ICsNCj4gDQo+ICsgIElmIFN0YXJ0VmFsdWUgaXMgbm90IE5V TEwsIHRoZW4gdGhlIHZhbHVlIHRoYXQgdGhlDQo+IHBlcmZvcm1hbmNlIGNvdW50ZXIgc3RhcnRz DQo+IA0KPiArICB3aXRoIGltbWVkaWF0ZWx5IGFmdGVyIGlzIGl0IHJvbGxzIG92ZXIgaXMgcmV0 dXJuZWQNCj4gaW4gU3RhcnRWYWx1ZS4gSWYNCj4gDQo+ICsgIEVuZFZhbHVlIGlzIG5vdCBOVUxM LCB0aGVuIHRoZSB2YWx1ZSB0aGF0IHRoZQ0KPiBwZXJmb3JtYW5jZSBjb3VudGVyIGVuZCB3aXRo DQo+IA0KPiArICBpbW1lZGlhdGVseSBiZWZvcmUgaXQgcm9sbHMgb3ZlciBpcyByZXR1cm5lZCBp bg0KPiBFbmRWYWx1ZS4gVGhlIDY0LWJpdA0KPiANCj4gKyAgZnJlcXVlbmN5IG9mIHRoZSBwZXJm b3JtYW5jZSBjb3VudGVyIGluIEh6IGlzIGFsd2F5cw0KPiByZXR1cm5lZC4gSWYgU3RhcnRWYWx1 ZQ0KPiANCj4gKyAgaXMgbGVzcyB0aGFuIEVuZFZhbHVlLCB0aGVuIHRoZSBwZXJmb3JtYW5jZSBj b3VudGVyDQo+IGNvdW50cyB1cC4gSWYgU3RhcnRWYWx1ZQ0KPiANCj4gKyAgaXMgZ3JlYXRlciB0 aGFuIEVuZFZhbHVlLCB0aGVuIHRoZSBwZXJmb3JtYW5jZQ0KPiBjb3VudGVyIGNvdW50cyBkb3du LiBGb3INCj4gDQo+ICsgIGV4YW1wbGUsIGEgNjQtYml0IGZyZWUgcnVubmluZyBjb3VudGVyIHRo YXQgY291bnRzIHVwDQo+IHdvdWxkIGhhdmUgYSBTdGFydFZhbHVlDQo+IA0KPiArICBvZiAwIGFu ZCBhbiBFbmRWYWx1ZSBvZiAweEZGRkZGRkZGRkZGRkZGRkYuIEEgMjQtYml0DQo+IGZyZWUgcnVu bmluZyBjb3VudGVyDQo+IA0KPiArICB0aGF0IGNvdW50cyBkb3duIHdvdWxkIGhhdmUgYSBTdGFy dFZhbHVlIG9mIDB4RkZGRkZGDQo+IGFuZCBhbiBFbmRWYWx1ZSBvZiAwLg0KPiANCj4gKw0KPiAN Cj4gKyAgQHBhcmFtICBTdGFydFZhbHVlICBUaGUgdmFsdWUgdGhlIHBlcmZvcm1hbmNlIGNvdW50 ZXINCj4gc3RhcnRzIHdpdGggd2hlbiBpdA0KPiANCj4gKyAgICAgICAgICAgICAgICAgICAgICBy b2xscyBvdmVyLg0KPiANCj4gKyAgQHBhcmFtICBFbmRWYWx1ZSAgICBUaGUgdmFsdWUgdGhhdCB0 aGUgcGVyZm9ybWFuY2UNCj4gY291bnRlciBlbmRzIHdpdGggYmVmb3JlDQo+IA0KPiArICAgICAg ICAgICAgICAgICAgICAgIGl0IHJvbGxzIG92ZXIuDQo+IA0KPiArDQo+IA0KPiArICBAcmV0dXJu IFRoZSBmcmVxdWVuY3kgaW4gSHouDQo+IA0KPiArDQo+IA0KPiArKiovDQo+IA0KPiArVUlOVDY0 DQo+IA0KPiArRUZJQVBJDQo+IA0KPiArR2V0UGVyZm9ybWFuY2VDb3VudGVyUHJvcGVydGllcyAo DQo+IA0KPiArICBPVVQgICAgICBVSU5UNjQgICAgICAgICAgICAgICAgICAgICpTdGFydFZhbHVl LA0KPiBPUFRJT05BTA0KPiANCj4gKyAgT1VUICAgICAgVUlOVDY0ICAgICAgICAgICAgICAgICAg ICAqRW5kVmFsdWUNCj4gT1BUSU9OQUwNCj4gDQo+ICsgICkNCj4gDQo+ICt7DQo+IA0KPiArICBp ZiAoIEVuZFZhbHVlICE9IE5VTEwgKSB7DQo+IA0KPiArICAgICpFbmRWYWx1ZSA9IE1BWF9VSU5U NjQ7DQo+IA0KPiArICB9DQo+IA0KPiArICBpZiAoIFN0YXJ0VmFsdWUgIT0gTlVMTCApIHsNCj4g DQo+ICsgICAgKlN0YXJ0VmFsdWUgPSAwOw0KPiANCj4gKyAgfQ0KPiANCj4gKyAgLy8gUmV0dXJu IHRoZSBudW1iZXIgb2YgbmFub3NlY29uZHMgaW4gYSBzZWNvbmQNCj4gDQo+ICsgIHJldHVybiAx MDAwMDAwMDAwOw0KPiANCj4gK30NCj4gDQo+ICsNCj4gDQo+ICsvKioNCj4gDQo+ICsgIENvbnZl cnRzIGVsYXBzZWQgdGlja3Mgb2YgcGVyZm9ybWFuY2UgY291bnRlciB0byB0aW1lDQo+IGluIG5h bm9zZWNvbmRzLg0KPiANCj4gKw0KPiANCj4gKyAgVGhpcyBmdW5jdGlvbiBjb252ZXJ0cyB0aGUg ZWxhcHNlZCB0aWNrcyBvZiBydW5uaW5nDQo+IHBlcmZvcm1hbmNlIGNvdW50ZXIgdG8NCj4gDQo+ ICsgIHRpbWUgdmFsdWUgaW4gdW5pdCBvZiBuYW5vc2Vjb25kcy4NCj4gDQo+ICsNCj4gDQo+ICsg IEBwYXJhbSAgVGlja3MgICAgIFRoZSBudW1iZXIgb2YgZWxhcHNlZCB0aWNrcyBvZg0KPiBydW5u aW5nIHBlcmZvcm1hbmNlIGNvdW50ZXIuDQo+IA0KPiArDQo+IA0KPiArICBAcmV0dXJuIFRoZSBl bGFwc2VkIHRpbWUgaW4gbmFub3NlY29uZHMuDQo+IA0KPiArDQo+IA0KPiArKiovDQo+IA0KPiAr VUlOVDY0DQo+IA0KPiArRUZJQVBJDQo+IA0KPiArR2V0VGltZUluTmFub1NlY29uZCAoDQo+IA0K PiArICBJTiAgICAgIFVJTlQ2NCAgICAgICAgICAgICAgICAgICAgIFRpY2tzDQo+IA0KPiArICAp DQo+IA0KPiArew0KPiANCj4gKyAgcmV0dXJuIFRpY2tzOw0KPiANCj4gK30NCj4gDQo+IGRpZmYg LS1naXQNCj4gYS9Vbml0VGVzdEZyYW1ld29ya1BrZy9MaWJyYXJ5L1Bvc2l4L0Jhc2VUaW1lckxp YlBvc2l4L0INCj4gYXNlVGltZXJMaWJQb3NpeC5pbmYNCj4gYi9Vbml0VGVzdEZyYW1ld29ya1Br Zy9MaWJyYXJ5L1Bvc2l4L0Jhc2VUaW1lckxpYlBvc2l4L0INCj4gYXNlVGltZXJMaWJQb3NpeC5p bmYNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMDAwLi43OTdmMDRi YjEyNWINCj4gLS0tIC9kZXYvbnVsbA0KPiArKysNCj4gYi9Vbml0VGVzdEZyYW1ld29ya1BrZy9M aWJyYXJ5L1Bvc2l4L0Jhc2VUaW1lckxpYlBvc2l4L0INCj4gYXNlVGltZXJMaWJQb3NpeC5pbmYN Cj4gQEAgLTAsMCArMSwzMyBAQA0KPiArIyMgQGZpbGUNCj4gDQo+ICsjICBBbiBpbnN0YW5jZSBv ZiBUaW1lciBMaWJyYXJ5IGZvciBwb3NpeCBjb21wbGlhbnQNCj4gaG9zdHMuDQo+IA0KPiArIw0K PiANCj4gKyMgIEEgc2VtaS1mdW5jdGlvbmFsIGluc3RhbmNlIG9mIHRoZSBUaW1lciBMaWJyYXJ5 IHRoYXQNCj4gY2FuIGJlIHVzZWQgZm9yDQo+IA0KPiArIyAgaG9zdCBiYXNlZCB0ZXN0aW5nIGFz IGEgZnVuY3Rpb25hbCB0aW1lciBsaWJyYXJ5DQo+IGluc3RhbmNlLg0KPiANCj4gKyMNCj4gDQo+ ICsjICBDb3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi4NCj4gDQo+ICsjDQo+IA0K PiArIyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gDQo+ ICsjDQo+IA0KPiArIw0KPiANCj4gKyMjDQo+IA0KPiArDQo+IA0KPiArW0RlZmluZXNdDQo+IA0K PiArICBJTkZfVkVSU0lPTiAgICAgICAgICAgICAgICAgICAgPSAweDAwMDEwMDA1DQo+IA0KPiAr ICBCQVNFX05BTUUgICAgICAgICAgICAgICAgICAgICAgPSBCYXNlVGltZXJMaWJQb3NpeA0KPiAN Cj4gKyAgTU9EVUxFX1VOSV9GSUxFICAgICAgICAgICAgICAgID0NCj4gQmFzZVRpbWVyTGliUG9z aXgudW5pDQo+IA0KPiArICBGSUxFX0dVSUQgICAgICAgICAgICAgICAgICAgICAgPSBhMmE0MTNi OC00M2MzLTQwY2MtDQo+IGEyOTgtYmU3YTIxNGQzNTY0DQo+IA0KPiArICBNT0RVTEVfVFlQRSAg ICAgICAgICAgICAgICAgICAgPSBCQVNFDQo+IA0KPiArICBWRVJTSU9OX1NUUklORyAgICAgICAg ICAgICAgICAgPSAxLjANCj4gDQo+ICsgIExJQlJBUllfQ0xBU1MgICAgICAgICAgICAgICAgICA9 DQo+IFRpbWVyTGlifEhPU1RfQVBQTElDQVRJT04NCj4gDQo+ICsjDQo+IA0KPiArIyAgVkFMSURf QVJDSElURUNUVVJFUyAgICAgICAgICAgPSBIT1NUDQo+IA0KPiArIw0KPiANCj4gKw0KPiANCj4g K1tTb3VyY2VzXQ0KPiANCj4gKyAgVGltZXJMaWJQb3NpeC5jDQo+IA0KPiArDQo+IA0KPiArW1Bh Y2thZ2VzXQ0KPiANCj4gKyAgTWRlUGtnL01kZVBrZy5kZWMNCj4gDQo+ICsNCj4gDQo+ICtbTGli cmFyeUNsYXNzZXNdDQo+IA0KPiArICBEZWJ1Z0xpYg0KPiANCj4gZGlmZiAtLWdpdA0KPiBhL1Vu aXRUZXN0RnJhbWV3b3JrUGtnL0xpYnJhcnkvUG9zaXgvQmFzZVRpbWVyTGliUG9zaXgvQg0KPiBh c2VUaW1lckxpYlBvc2l4LnVuaQ0KPiBiL1VuaXRUZXN0RnJhbWV3b3JrUGtnL0xpYnJhcnkvUG9z aXgvQmFzZVRpbWVyTGliUG9zaXgvQg0KPiBhc2VUaW1lckxpYlBvc2l4LnVuaQ0KPiBuZXcgZmls ZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwMDAuLmE2ODU5YTBmYzg4YQ0KPiAtLS0g L2Rldi9udWxsDQo+ICsrKw0KPiBiL1VuaXRUZXN0RnJhbWV3b3JrUGtnL0xpYnJhcnkvUG9zaXgv QmFzZVRpbWVyTGliUG9zaXgvQg0KPiBhc2VUaW1lckxpYlBvc2l4LnVuaQ0KPiBAQCAtMCwwICsx LDE0IEBADQo+ICsvLyBAZmlsZQ0KPiANCj4gKy8vIEFuIGluc3RhbmNlIG9mIFRpbWVyIExpYnJh cnkgZm9yIHBvc2l4IGNvbXBsaWFudA0KPiBob3N0cy4NCj4gDQo+ICsvLw0KPiANCj4gKy8vIEEg c2VtaS1mdW5jdGlvbmFsIGluc3RhbmNlIG9mIHRoZSBUaW1lciBMaWJyYXJ5IHRoYXQNCj4gY2Fu IGJlIHVzZWQNCj4gDQo+ICsvLyBmb3IgaG9zdCBiYXNlZCB1bml0IHRlc3RzIG9uIHBvc2l4IGNv bXBsaWFudA0KPiBtYWNoaW5lcy4NCj4gDQo+ICsvLw0KPiANCj4gKy8vIENvcHlyaWdodCAoYykg TWljcm9zb2Z0IENvcnBvcmF0aW9uLg0KPiANCj4gKy8vDQo+IA0KPiArLy8gU1BEWC1MaWNlbnNl LUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gDQo+ICsvLw0KPiANCj4gKw0KPiAN Cj4gKyNzdHJpbmcgU1RSX01PRFVMRV9BQlNUUkFDVCAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4t VVMNCj4gIkhvc3QgaW5zdGFuY2Ugb2YgVGltZXIgTGlicmFyeSINCj4gDQo+ICsNCj4gDQo+ICsj c3RyaW5nIFNUUl9NT0RVTEVfREVTQ1JJUFRJT04gICAgICAgICAgI2xhbmd1YWdlIGVuLVVTDQo+ ICJBbiBpbnN0YW5jZSBvZiB0aGUgVGltZXIgTGlicmFyeSB0aGF0IGNhbiBiZSB1c2VkIGZvcg0K PiBob3N0IGJhc2VkIHVuaXQgdGVzdHMuIg0KPiANCj4gZGlmZiAtLWdpdA0KPiBhL1VuaXRUZXN0 RnJhbWV3b3JrUGtnL1Rlc3QvVW5pdFRlc3RGcmFtZXdvcmtQa2dIb3N0VGVzdA0KPiAuZHNjDQo+ IGIvVW5pdFRlc3RGcmFtZXdvcmtQa2cvVGVzdC9Vbml0VGVzdEZyYW1ld29ya1BrZ0hvc3RUZXN0 DQo+IC5kc2MNCj4gaW5kZXggNzAxZTcyOTlkNzY3Li5mODJiM2I3YTMyM2UgMTAwNjQ0DQo+IC0t LQ0KPiBhL1VuaXRUZXN0RnJhbWV3b3JrUGtnL1Rlc3QvVW5pdFRlc3RGcmFtZXdvcmtQa2dIb3N0 VGVzdA0KPiAuZHNjDQo+ICsrKw0KPiBiL1VuaXRUZXN0RnJhbWV3b3JrUGtnL1Rlc3QvVW5pdFRl c3RGcmFtZXdvcmtQa2dIb3N0VGVzdA0KPiAuZHNjDQo+IEBAIC0zMCw0ICszMCw1IEBADQo+ICAg IFVuaXRUZXN0RnJhbWV3b3JrUGtnL0xpYnJhcnkvQ21vY2thTGliL0Ntb2NrYUxpYi5pbmYNCj4g DQo+IA0KPiBVbml0VGVzdEZyYW1ld29ya1BrZy9MaWJyYXJ5L1Bvc2l4L0RlYnVnTGliUG9zaXgv RGVidWdMaQ0KPiBiUG9zaXguaW5mDQo+IA0KPiANCj4gVW5pdFRlc3RGcmFtZXdvcmtQa2cvTGli cmFyeS9Qb3NpeC9NZW1vcnlBbGxvY2F0aW9uTGliUG8NCj4gc2l4L01lbW9yeUFsbG9jYXRpb25M aWJQb3NpeC5pbmYNCj4gDQo+ICsNCj4gVW5pdFRlc3RGcmFtZXdvcmtQa2cvTGlicmFyeS9Qb3Np eC9CYXNlVGltZXJMaWJQb3NpeC9CYXMNCj4gZVRpbWVyTGliUG9zaXguaW5mDQo+IA0KPiANCj4g VW5pdFRlc3RGcmFtZXdvcmtQa2cvTGlicmFyeS9Vbml0VGVzdExpYi9Vbml0VGVzdExpYkNtb2MN Cj4ga2EuaW5mDQo+IA0KPiBkaWZmIC0tZ2l0DQo+IGEvVW5pdFRlc3RGcmFtZXdvcmtQa2cvVW5p dFRlc3RGcmFtZXdvcmtQa2dIb3N0LmRzYy5pbmMNCj4gYi9Vbml0VGVzdEZyYW1ld29ya1BrZy9V bml0VGVzdEZyYW1ld29ya1BrZ0hvc3QuZHNjLmluYw0KPiBpbmRleCBlOTU0OTY4ZWZjNTIuLjc2 ZjBhNzE5ZGVkMyAxMDA2NDQNCj4gLS0tDQo+IGEvVW5pdFRlc3RGcmFtZXdvcmtQa2cvVW5pdFRl c3RGcmFtZXdvcmtQa2dIb3N0LmRzYy5pbmMNCj4gKysrDQo+IGIvVW5pdFRlc3RGcmFtZXdvcmtQ a2cvVW5pdFRlc3RGcmFtZXdvcmtQa2dIb3N0LmRzYy5pbmMNCj4gQEAgLTEzLDYgKzEzLDcgQEAN Cj4gDQo+IFVuaXRUZXN0TGlifFVuaXRUZXN0RnJhbWV3b3JrUGtnL0xpYnJhcnkvVW5pdFRlc3RM aWIvVW5pDQo+IHRUZXN0TGliQ21vY2thLmluZg0KPiANCj4gDQo+IERlYnVnTGlifFVuaXRUZXN0 RnJhbWV3b3JrUGtnL0xpYnJhcnkvUG9zaXgvRGVidWdMaWJQb3NpDQo+IHgvRGVidWdMaWJQb3Np eC5pbmYNCj4gDQo+IA0KPiBNZW1vcnlBbGxvY2F0aW9uTGlifFVuaXRUZXN0RnJhbWV3b3JrUGtn L0xpYnJhcnkvUG9zaXgvTQ0KPiBlbW9yeUFsbG9jYXRpb25MaWJQb3NpeC9NZW1vcnlBbGxvY2F0 aW9uTGliUG9zaXguaW5mDQo+IA0KPiArDQo+IFRpbWVyTGlifFVuaXRUZXN0RnJhbWV3b3JrUGtn L0xpYnJhcnkvUG9zaXgvQmFzZVRpbWVyTGliDQo+IFBvc2l4L0Jhc2VUaW1lckxpYlBvc2l4Lmlu Zg0KPiANCj4gDQo+IA0KPiAgW0J1aWxkT3B0aW9uc10NCj4gDQo+ICAgIEdDQzoqXypfKl9DQ19G TEFHUyA9IC1mbm8tcGllDQo+IA0KPiAtLQ0KPiAyLjI3LjAud2luZG93cy4xDQoNCg==