From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by mx.groups.io with SMTP id smtpd.web10.7500.1649432645893762439 for ; Fri, 08 Apr 2022 08:44:06 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=dcys2Osa; spf=pass (domain: intel.com, ip: 134.134.136.31, mailfrom: michael.d.kinney@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1649432645; x=1680968645; h=from:to:subject:date:message-id:references:in-reply-to: content-transfer-encoding:mime-version; bh=MBbw1P0Q8MXIZwxtnrxcdRKEwlCe0H4f/FktLrqfr/8=; b=dcys2OsaGcpd4Xb25tG9mlfr14Wva2xvn6/dcbffQLDKR9KGOckhB1GQ Cf/xcRlCh8sy+i2r1NUVx5sapXXzbcqJmEoP+7pxXJ3g1s+n40C3y09WQ dMYsIeuBJZylS2pEWZwmltBzKax6NFCB+bKCesYfS9etzh3u6FfbRWrMC IVy4WAGP2ILXe9E04TiLeyTxQ6GwPehSF9kYv/B48K4qi3Mz4AU3OGOO2 G4OPVj6qFIRRkJynVzZrPELPghNI8rl0cxMDt4R6D0z6ODdB8PTFVd/mB iRluH0eG7Cx9WLPyQ5hmBT401Bl3gXFyEyey4ls2RhqcBmkOE5nLtneDM w==; X-IronPort-AV: E=McAfee;i="6400,9594,10310"; a="322308957" X-IronPort-AV: E=Sophos;i="5.90,245,1643702400"; d="scan'208";a="322308957" Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Apr 2022 08:43:45 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,245,1643702400"; d="scan'208";a="557819102" Received: from orsmsx605.amr.corp.intel.com ([10.22.229.18]) by fmsmga007.fm.intel.com with ESMTP; 08 Apr 2022 08:43:45 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX605.amr.corp.intel.com (10.22.229.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27; Fri, 8 Apr 2022 08:43:45 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27 via Frontend Transport; Fri, 8 Apr 2022 08:43:45 -0700 Received: from NAM04-BN8-obe.outbound.protection.outlook.com (104.47.74.48) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2308.27; Fri, 8 Apr 2022 08:43:44 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dfCk3zQaAIo2APUBM2LZ7pz9Uja0gJYGBPYCDhpaDE5YcGMS81Ulxve2W08ZH7txzlVsGJDm7kRCso6Pj87wGIrXmlbY2XTzlwWIID3EHCBFbG+IwgkaAAU++QZ8wlfSASTuM0eJmOSP3n6owae0CQmiPLi7RPI0xImp4wTLH5DT6/0rLJS949Wa3uN1KhyrU1H4xMY9Uc+1kujsBlcVTjO/Lh5zLq5P66E6+NNxI3CG9Cpcjgx/DM9fXUD1iHAnMi6SditZCVWSD3/5+wEVVVbD0ejkmLwyZW9Lg/JPqIrKKQcD581tRUpybKYH+VYyft7cUloHqTsZjvWA6WojaA== 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=MBbw1P0Q8MXIZwxtnrxcdRKEwlCe0H4f/FktLrqfr/8=; b=CAaULYyHJvAyuekPwNDHiaA5bxXr6czLMGcXW+C77sMKmnXMXBhahVcvfrJ2IyRAGQxuddmCDsZUixr6cUsTnvGCH/JTyaL6ReHvHoY/F7PwOcc30upo0ouW4wjXD9QbQEcMp4rJ/L2uZLXIIImWzcK9x/ctTAXP3+mY5opOT9zcYhXiU+PPAl6Zxbi3eAI2ACRprcJeDqAvJejOQNqlqyXXZUkFeYPqxfJqYeflZtnVHlTgSpSjUxOr2Vh4AbxKHut9vSDCyeXU82HFVkCJDfHoBNpLna9obuDjinMsvm5ZLg5L3I45HyYoL+TPc+vyaEJnCWB5pGpgSsgMgSZf0w== 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 Received: from CO1PR11MB4929.namprd11.prod.outlook.com (2603:10b6:303:6d::19) by SN6PR11MB2557.namprd11.prod.outlook.com (2603:10b6:805:56::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5144.26; Fri, 8 Apr 2022 15:43:42 +0000 Received: from CO1PR11MB4929.namprd11.prod.outlook.com ([fe80::5411:79c7:11ac:683a]) by CO1PR11MB4929.namprd11.prod.outlook.com ([fe80::5411:79c7:11ac:683a%3]) with mapi id 15.20.5144.022; Fri, 8 Apr 2022 15:43:42 +0000 From: "Michael D Kinney" To: "devel@edk2.groups.io" , "Jayaprakash, N" , "Kinney, Michael D" Subject: Re: [edk2-devel] [edk2-libc Patch 1/1] AppPkg\Applications\Python\Python-3.6.8\Lib: uuid.py module port for UEFI environment Thread-Topic: [edk2-devel] [edk2-libc Patch 1/1] AppPkg\Applications\Python\Python-3.6.8\Lib: uuid.py module port for UEFI environment Thread-Index: AQHYSz8/1F4DNYuihEG9Zde3b4fFR6zmJ/GQ Date: Fri, 8 Apr 2022 15:43:42 +0000 Message-ID: References: <20220408115209.2002-1-n.jayaprakash@intel.com> <20220408115209.2002-2-n.jayaprakash@intel.com> In-Reply-To: <20220408115209.2002-2-n.jayaprakash@intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.6.401.20 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: b13d1483-9600-4597-8f32-08da19768f61 x-ms-traffictypediagnostic: SN6PR11MB2557:EE_ x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 9Xe7WUyjSWV4lXfKcScxJ9TmskZCyaSfblEt1x7aNb3l7iik7ixHWvKsXI0itR6Kcymom0oSSNf8euL09XsiU1ltQUUCYgf2sQ4GIbXWfq4EnYnNasdJjYH4iTeEzIWOt5i9uvorsqan/aWmli2XX/Fv8P+ZgSFfq/bT339WkHAgf+krjZ0PKXILaPGbaN60ogAy4KS1p+zsRM6+Lif1uT+pEkysc2WP1q4cJOsnHY7i203vo1fka6G0Uso9bzHZF6URgyLE1591cPC/P/Otw8RDgJqz9B94Hg9/d1jmCfL5OWUQZY1yfYHiGO3fW/8K8g3Yu81iFWSEKprx7Nchr/27cKXbEYI/ByfMWyv01EeSCbfwJzr00OAka3aZaPvSAnMDuyHZXhcpfqJFN9Lb8sJjl1X97uvyfhZwyzECPX81Y1xY6B1hRUWdsW2v9NNdBtTO2wTfFgGfLNSozJLAHTwNh+HnhnKx5uh7qrynE2iHAOykDI4XBUW5Mx3r30MxbeuQGaftNHAu2yzmJ/PAVXurpWthmm2Go24Vu5xS4kjnHMwILnLJLPxUqkewVGVaWCu/B9BplRqMwBN2q1RJtnisP9aCxLyNr1y5H/5OHYdL9VJxw1TZiqfPCePGh0VmLnIgSh4519cpPfP+emXBNEQ51F7Ot5Oc+xZx2cEhTEqzCMM7S5ULAoy/Fl36j2XqlJt2OaD5LYeSeM/WTlYGirucXKvoQs4p+rOMeEhlq2UehU2XVAGc+INn4fub5Zt8BEZSEaJfge439elhmrwXpaux3VyyW7j9oX030k3xhsPJFgLiaNaiiwCZuR4dEPsVeRj6vO1Y7J5GMlC7FlXyySrSVhBYnhFxG+/8dSlcGUE= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO1PR11MB4929.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(19627235002)(316002)(83380400001)(64756008)(110136005)(66556008)(66946007)(76116006)(66446008)(9686003)(8676002)(66476007)(33656002)(86362001)(2906002)(38100700002)(82960400001)(55016003)(122000001)(26005)(186003)(38070700005)(52536014)(8936002)(5660300002)(6506007)(7696005)(53546011)(508600001)(966005)(71200400001)(21314003);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?ZUJFMmlNTmgya2hnYUlSRU4ydmh2T3R5Q2o2bzdONDNqVld2ZUphYU0wczQz?= =?utf-8?B?YzEvVE82ZUVtaHNpR2k3NHVSMUVZY1RYU3JmUjluZHFhSCtjNTNHOHU5ZS9E?= =?utf-8?B?cVBPU1VzRkxiSG9nZGpoVUJnNU5JOE9KbzgyMDNrc1Y4MklWeUJjTXRJRXhl?= =?utf-8?B?OSt6VkFmRG5OaDlDdU1Mc1lSaDJVdmhuS1BFbDZmWGlIR2xzdVRSTnVYWlZG?= =?utf-8?B?aWtOSGJ4T0V6SmZNTHF6ejBGLzBLcXJFNk9QNC9NNHUxNGR0U0ZqUkJHVDBu?= =?utf-8?B?ZE9uVnlQY3pKWkdEcXlFWHRKWU9XMldVQ0hvN2I2L2lubzhOMG4rbDlSazEz?= =?utf-8?B?cXF1S1hYMWFPeWhHd2tXeUhvQXkyM2ZGTzVOSEFFQ2NMY3o0UXVpemZJWnFq?= =?utf-8?B?K0h4UzB4N0tEWXRpcG8ySEtTci9BWnlZZkFuSEI0b200S0RVdERGZnppNVVz?= =?utf-8?B?dS9qNTVnTm9MUjU1eEZ1TFBLQldpYUx4c2pjVWphV2RJREFNYjNsZzRlN05F?= =?utf-8?B?bnM1QlJZSGlLeHNVOGtlaVF6RklUSTFJcjFRQmxKWmhhY3ZDQlVrR2h6aGhN?= =?utf-8?B?TENpbjkzUTdVY0hxczlZcCttZDVSTFJiMTRVZFcyc0lGeTh5Z1N0c2VZSFgv?= =?utf-8?B?UGhYYWUrbVJ2WWVqSlRPY0ZWcnNLeHU1WWtmOUk3TEM3eWhydjNhaU8rcUVI?= =?utf-8?B?RU5oTzZuSDl4ekhraGVwRlZ0UUJJMkYzMXM0TFFDcVdTdmhsd2lLcElHZFZz?= =?utf-8?B?azlTVDViL2JPaS9PMjlHSG5SWUgxaTZ5bm1hVCtKQ2JRU3U5MXBoUENHSTE5?= =?utf-8?B?cWNXVCtVN0pqRHg2VXRoby9uWjNDWmRnS0dlZXFGYnY2RGdja2ZaT2dUUm1j?= =?utf-8?B?THFwUVhtUnhBU3dMWFJPa0swUi9uUkYxczdQRlhyT3lsZFU1NWZ5Z2FCYkdj?= =?utf-8?B?QmhuL3VHZmEzaUtEVEtpUW5OQkRJYkw5QVFveXFkM3RuOVNtRnpERFNUYnlR?= =?utf-8?B?eHZqcmxSd2pTZkpmYitBVU53Wms4L2ZsUGsxYllud0VMcjdpWVhxaTdGV0pm?= =?utf-8?B?OGtBY09Xckg3b04wUEF5QTB6SnNDcksvSXpRSzZaRFpFT1g2aFRNU1NiVWU0?= =?utf-8?B?ZTEwVC9McDlWbDlmdG8yK2I1WDQrd3N5aHN1ZDBIbitYV09ydnJRclg3NFFH?= =?utf-8?B?MGp5cWpRbmI1Z1pJaWZKbmgxS1UzZEdET0JaWW5BdTFXQzU2amlKUDF0UDk1?= =?utf-8?B?ZFQxbWJoZkVjSHFCcUtmYllWaXFOWXAzUUUyMlExUko4eXp4NExVUzRRbEZ6?= =?utf-8?B?THI0S3Fob0VrSStvYndwMUNHMERpRWVxcjdLcTVlTlJlUFlDREZkQmpLY3F6?= =?utf-8?B?SUYyaUdobW5hbVY1Zzhra0UvcVBxY0t2MzNFQ3FmYkJJMjV1cjNUZjlWUm1V?= =?utf-8?B?VFVOWG9OeHMxUHdRREhIRUtOdjcwMUdTb1c2dnd2UGVCaGRRVndEQjBPZ05W?= =?utf-8?B?cVF1eTlHYTRjZFJpK1JRUHBST1ArN3h0QWtVWHRDRG9ubUc5Q2FmdnVCcGhi?= =?utf-8?B?OVlsTm95VS9LRzFyQXo5d3BEdzBXckdabm12bitBVWZaa2ZWUXFBNXlFdEx1?= =?utf-8?B?Mi9nTElWbnVTN1BuR2pYTloxVEdJS3RLeW5kQ3pxbnBQMWlENEZtVm5qK1Z4?= =?utf-8?B?TFJHRllaRnlxVkpVT3UxWktWK2U4UitKdGhhUVl6RVNFUUhyTlZvM0hPT1Vs?= =?utf-8?B?MWhwNEsrcXZFMk9nc2dRaENrK2d2c013Z3JjQzhFNmNuYWgyT0RqSVVFZWJj?= =?utf-8?B?SmdpMkxEckpMLzFaR09BRHB4NzZCYy9JQUxOTG1aM1BvUytGcUJWdXNUSEhE?= =?utf-8?B?dlNEOGhjR1F1d1VNYjZtb1NQazd3NWF5RlV0UTRBbDNLdFRMQVB3a3FxNVZQ?= =?utf-8?B?MzlaNXp6aUhKSXUxYnRGanJSNTk4ZG9vUFpzMExMbjlUK3dITitZMGUzNWtH?= =?utf-8?B?elVvWlB4K2hTdTNnR0pxanVIWTZJRG5MWXAvUzJveWk0SEFoQ1hUVk5sSXRY?= =?utf-8?B?LzNsaHlzYWFPV1FXUXZVOUFoNWlGZXlpZHQ4dEhFT1pxWnM3dHh6d3pSYWFk?= =?utf-8?B?Mlhwck1nc3dQQ3BJWkJ2YlcxbHVLWEQ0bjZzcFNQdTlrN1RTQThETGJneUMw?= =?utf-8?B?ZkNTbXhxa2FJaENUekRCdis3anNYQk1lR29YT1czQlY1S0RkbVZNQ1NHUjR6?= =?utf-8?B?ZlFDSUZjQmZneUtpdHZmamUxYUlLYjJvSlY2UTBsZmlHUDdzQXE5MDRiWlFz?= =?utf-8?B?TkRnL2U2dzFydlA3VG5qUkhzZXF6ZkZUb2U2UjdVU2N1V3RZcW40eHNyNlp1?= =?utf-8?Q?MQhKDOwCi2tFqBfo=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CO1PR11MB4929.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: b13d1483-9600-4597-8f32-08da19768f61 X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Apr 2022 15:43:42.8248 (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: 3m/zqlwiXM43DjRi9j8i+pwH7bF6hBODfS7C+oavbiIiM5aOcAqZU+uepvEaoRzNpgne0Yv8Pv4nKeOU89gh8JCLZfOkZ9wZXMXPqOl3UoY= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN6PR11MB2557 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 SG93IGlzIGEgVVVJRCBnZW5lcmF0ZWQgaW4gVUVGSSBlbnY/ICBJcyB0aGVyZSBhIGRlcGVuZGVu Y3kgb24gTUFDIGFkZHJlc3Mgb3IgcmFuZG9tIG51bWJlciBnZW5lcmF0b3I/DQoNCkNhbiB5b3Ug YWRkIGEgZGVzY3JpcHRpb24gb2YgdGhlIHRlY2huaXF1ZSB0byB0aGUgQlogYW5kIHRoZSBjb21t aXQgbWVzc2FnZT8NCg0KVGhhbmtzLA0KDQpNaWtlDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdl LS0tLS0NCj4gRnJvbTogZGV2ZWxAZWRrMi5ncm91cHMuaW8gPGRldmVsQGVkazIuZ3JvdXBzLmlv PiBPbiBCZWhhbGYgT2YgSmF5YXByYWthc2gsIE4NCj4gU2VudDogRnJpZGF5LCBBcHJpbCA4LCAy MDIyIDQ6NTIgQU0NCj4gVG86IGRldmVsQGVkazIuZ3JvdXBzLmlvDQo+IFN1YmplY3Q6IFtlZGsy LWRldmVsXSBbZWRrMi1saWJjIFBhdGNoIDEvMV0gQXBwUGtnXEFwcGxpY2F0aW9uc1xQeXRob25c UHl0aG9uLTMuNi44XExpYjogdXVpZC5weSBtb2R1bGUgcG9ydCBmb3IgVUVGSQ0KPiBlbnZpcm9u bWVudA0KPiANCj4gIFJFRjogaHR0cHM6Ly9idWd6aWxsYS50aWFub2NvcmUub3JnL3Nob3dfYnVn LmNnaT9pZD0zODk5DQo+IA0KPiAgVGhpcyBpcyBjb21taXQgY29udGFpbnMgdGhlIFVFRkkgcG9y dCBvZiB1dWlkLnB5IG1vZHVsZS4gTWFkZSBuZWNlc3NhcnkNCj4gIGNoYW5nZXMgcmVxdWlyZWQg dG8gdXVpZC5weSBtb2R1bGUgdG8gc3VwcG9ydCBVRUZJIGVudmlyb25tZW50Lg0KPiAgUG9ydGlu ZyBvZiB0aGlzIG1vZHVsZSB0byBVRUZJIGlzIHJlcXVpcmVkIGZvciBvcGVuIHNvdXJjZSB0b29s cyBzdWNoDQo+ICBhcyBDaGlwc2VjIHRvIGZ1bmN0aW9uIHByb3Blcmx5Lg0KPiANCj4gIENjOiBS ZWJlY2NhIENyYW4gPHJlYmVjY2FAbnV2aWFpbmMuY29tPg0KPiAgQ2M6IE1pY2hhZWwgRCBLaW5u ZXkgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPg0KPiAgU2lnbmVkLW9mZi1ieTogSmF5YXBy YWthc2ggTiA8bi5qYXlhcHJha2FzaEBpbnRlbC5jb20+DQo+IC0tLQ0KPiAgLi4uL1B5dGhvbi9Q eXRob24tMy42LjgvTGliL3V1aWQucHkgICAgICAgICAgIHwgOTQgKysrKysrKysrKy0tLS0tLS0t LQ0KPiAgMSBmaWxlIGNoYW5nZWQsIDUwIGluc2VydGlvbnMoKyksIDQ0IGRlbGV0aW9ucygtKQ0K PiANCj4gZGlmZiAtLWdpdCBhL0FwcFBrZy9BcHBsaWNhdGlvbnMvUHl0aG9uL1B5dGhvbi0zLjYu OC9MaWIvdXVpZC5weSBiL0FwcFBrZy9BcHBsaWNhdGlvbnMvUHl0aG9uL1B5dGhvbi0zLjYuOC9M aWIvdXVpZC5weQ0KPiBpbmRleCBkYjhiMmVmLi44NGVkMGI4IDEwMDY0NA0KPiAtLS0gYS9BcHBQ a2cvQXBwbGljYXRpb25zL1B5dGhvbi9QeXRob24tMy42LjgvTGliL3V1aWQucHkNCj4gKysrIGIv QXBwUGtnL0FwcGxpY2F0aW9ucy9QeXRob24vUHl0aG9uLTMuNi44L0xpYi91dWlkLnB5DQo+IEBA IC00NzEsNTcgKzQ3MSw2MSBAQCBkZWYgX25ldGJpb3NfZ2V0bm9kZSgpOg0KPiAgICAgICAgICAg ICAgY29udGludWUNCj4gICAgICAgICAgcmV0dXJuIGludC5mcm9tX2J5dGVzKGJ5dGVzLCAnYmln JykNCj4gDQo+ICsNCj4gICMgVGhhbmtzIHRvIFRob21hcyBIZWxsZXIgZm9yIGN0eXBlcyBhbmQg Zm9yIGhpcyBoZWxwIHdpdGggaXRzIHVzZSBoZXJlLg0KPiANCj4gICMgSWYgY3R5cGVzIGlzIGF2 YWlsYWJsZSwgdXNlIGl0IHRvIGZpbmQgc3lzdGVtIHJvdXRpbmVzIGZvciBVVUlEIGdlbmVyYXRp b24uDQo+ICAjIFhYWCBUaGlzIG1ha2VzIHRoZSBtb2R1bGUgbm9uLXRocmVhZC1zYWZlIQ0KPiAg X3V1aWRfZ2VuZXJhdGVfdGltZSA9IF9VdWlkQ3JlYXRlID0gTm9uZQ0KPiAtdHJ5Og0KPiAtICAg IGltcG9ydCBjdHlwZXMsIGN0eXBlcy51dGlsDQo+IC0gICAgaW1wb3J0IHN5cw0KPiAtDQo+IC0g ICAgIyBUaGUgdXVpZF9nZW5lcmF0ZV8qIHJvdXRpbmVzIGFyZSBwcm92aWRlZCBieSBsaWJ1dWlk IG9uIGF0IGxlYXN0DQo+IC0gICAgIyBMaW51eCBhbmQgRnJlZUJTRCwgYW5kIHByb3ZpZGVkIGJ5 IGxpYmMgb24gTWFjIE9TIFguDQo+IC0gICAgX2xpYm5hbWVzID0gWyd1dWlkJ10NCj4gLSAgICBp ZiBub3Qgc3lzLnBsYXRmb3JtLnN0YXJ0c3dpdGgoJ3dpbicpOg0KPiAtICAgICAgICBfbGlibmFt ZXMuYXBwZW5kKCdjJykNCj4gLSAgICBmb3IgbGlibmFtZSBpbiBfbGlibmFtZXM6DQo+IC0gICAg ICAgIHRyeToNCj4gLSAgICAgICAgICAgIGxpYiA9IGN0eXBlcy5DRExMKGN0eXBlcy51dGlsLmZp bmRfbGlicmFyeShsaWJuYW1lKSkNCj4gLSAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbjoNCj4gLSAg ICAgICAgICAgIGNvbnRpbnVlDQo+IC0gICAgICAgIGlmIGhhc2F0dHIobGliLCAndXVpZF9nZW5l cmF0ZV90aW1lJyk6DQo+IC0gICAgICAgICAgICBfdXVpZF9nZW5lcmF0ZV90aW1lID0gbGliLnV1 aWRfZ2VuZXJhdGVfdGltZQ0KPiAtICAgICAgICAgICAgYnJlYWsNCj4gLSAgICBkZWwgX2xpYm5h bWVzDQo+IC0NCj4gLSAgICAjIFRoZSB1dWlkX2dlbmVyYXRlXyogZnVuY3Rpb25zIGFyZSBicm9r ZW4gb24gTWFjT1MgWCAxMC41LCBhcyBub3RlZA0KPiAtICAgICMgaW4gaXNzdWUgIzg2MjEgdGhl IGZ1bmN0aW9uIGdlbmVyYXRlcyB0aGUgc2FtZSBzZXF1ZW5jZSBvZiB2YWx1ZXMNCj4gLSAgICAj IGluIHRoZSBwYXJlbnQgcHJvY2VzcyBhbmQgYWxsIGNoaWxkcmVuIGNyZWF0ZWQgdXNpbmcgZm9y ayAodW5sZXNzDQo+IC0gICAgIyB0aG9zZSBjaGlsZHJlbiB1c2UgZXhlYyBhcyB3ZWxsKS4NCj4g LSAgICAjDQo+IC0gICAgIyBBc3N1bWUgdGhhdCB0aGUgdXVpZF9nZW5lcmF0ZSBmdW5jdGlvbnMg YXJlIGJyb2tlbiBmcm9tIDEwLjUgb253YXJkLA0KPiAtICAgICMgdGhlIHRlc3QgY2FuIGJlIGFk anVzdGVkIHdoZW4gYSBsYXRlciB2ZXJzaW9uIGlzIGZpeGVkLg0KPiAtICAgIGlmIHN5cy5wbGF0 Zm9ybSA9PSAnZGFyd2luJzoNCj4gLSAgICAgICAgaWYgaW50KG9zLnVuYW1lKCkucmVsZWFzZS5z cGxpdCgnLicpWzBdKSA+PSA5Og0KPiAtICAgICAgICAgICAgX3V1aWRfZ2VuZXJhdGVfdGltZSA9 IE5vbmUNCj4gLQ0KPiAtICAgICMgT24gV2luZG93cyBwcmlvciB0byAyMDAwLCBVdWlkQ3JlYXRl IGdpdmVzIGEgVVVJRCBjb250YWluaW5nIHRoZQ0KPiAtICAgICMgaGFyZHdhcmUgYWRkcmVzcy4g IE9uIFdpbmRvd3MgMjAwMCBhbmQgbGF0ZXIsIFV1aWRDcmVhdGUgbWFrZXMgYQ0KPiAtICAgICMg cmFuZG9tIFVVSUQgYW5kIFV1aWRDcmVhdGVTZXF1ZW50aWFsIGdpdmVzIGEgVVVJRCBjb250YWlu aW5nIHRoZQ0KPiAtICAgICMgaGFyZHdhcmUgYWRkcmVzcy4gIFRoZXNlIHJvdXRpbmVzIGFyZSBw cm92aWRlZCBieSB0aGUgUlBDIHJ1bnRpbWUuDQo+IC0gICAgIyBOT1RFOiAgYXQgbGVhc3Qgb24g VGltJ3MgV2luWFAgUHJvIFNQMiBkZXNrdG9wIGJveCwgd2hpbGUgdGhlIGxhc3QNCj4gLSAgICAj IDYgYnl0ZXMgcmV0dXJuZWQgYnkgVXVpZENyZWF0ZVNlcXVlbnRpYWwgYXJlIGZpeGVkLCB0aGV5 IGRvbid0IGFwcGVhcg0KPiAtICAgICMgdG8gYmVhciBhbnkgcmVsYXRpb25zaGlwIHRvIHRoZSBN QUMgYWRkcmVzcyBvZiBhbnkgbmV0d29yayBkZXZpY2UNCj4gLSAgICAjIG9uIHRoZSBib3guDQo+ ICtpZiBvcy5uYW1lICE9ICdlZGsyJzoNCj4gKyAgICAjIFRoaXMgY29kZSBpcyBub3QgbWVhbnQg dG8gcnVuIG9uIFVFRkkgZW52aXJvbm1lbnQNCj4gICAgICB0cnk6DQo+IC0gICAgICAgIGxpYiA9 IGN0eXBlcy53aW5kbGwucnBjcnQ0DQo+ICsgICAgICAgIGltcG9ydCBjdHlwZXMsIGN0eXBlcy51 dGlsDQo+ICsgICAgICAgIGltcG9ydCBzeXMNCj4gKw0KPiArICAgICAgICAjIFRoZSB1dWlkX2dl bmVyYXRlXyogcm91dGluZXMgYXJlIHByb3ZpZGVkIGJ5IGxpYnV1aWQgb24gYXQgbGVhc3QNCj4g KyAgICAgICAgIyBMaW51eCBhbmQgRnJlZUJTRCwgYW5kIHByb3ZpZGVkIGJ5IGxpYmMgb24gTWFj IE9TIFguDQo+ICsgICAgICAgIF9saWJuYW1lcyA9IFsndXVpZCddDQo+ICsgICAgICAgIGlmIG5v dCBzeXMucGxhdGZvcm0uc3RhcnRzd2l0aCgnd2luJyk6DQo+ICsgICAgICAgICAgICBfbGlibmFt ZXMuYXBwZW5kKCdjJykNCj4gKyAgICAgICAgZm9yIGxpYm5hbWUgaW4gX2xpYm5hbWVzOg0KPiAr ICAgICAgICAgICAgdHJ5Og0KPiArICAgICAgICAgICAgICAgIGxpYiA9IGN0eXBlcy5DRExMKGN0 eXBlcy51dGlsLmZpbmRfbGlicmFyeShsaWJuYW1lKSkNCj4gKyAgICAgICAgICAgIGV4Y2VwdCBF eGNlcHRpb246DQo+ICsgICAgICAgICAgICAgICAgY29udGludWUNCj4gKyAgICAgICAgICAgIGlm IGhhc2F0dHIobGliLCAndXVpZF9nZW5lcmF0ZV90aW1lJyk6DQo+ICsgICAgICAgICAgICAgICAg X3V1aWRfZ2VuZXJhdGVfdGltZSA9IGxpYi51dWlkX2dlbmVyYXRlX3RpbWUNCj4gKyAgICAgICAg ICAgICAgICBicmVhaw0KPiArICAgICAgICBkZWwgX2xpYm5hbWVzDQo+ICsNCj4gKyAgICAgICAg IyBUaGUgdXVpZF9nZW5lcmF0ZV8qIGZ1bmN0aW9ucyBhcmUgYnJva2VuIG9uIE1hY09TIFggMTAu NSwgYXMgbm90ZWQNCj4gKyAgICAgICAgIyBpbiBpc3N1ZSAjODYyMSB0aGUgZnVuY3Rpb24gZ2Vu ZXJhdGVzIHRoZSBzYW1lIHNlcXVlbmNlIG9mIHZhbHVlcw0KPiArICAgICAgICAjIGluIHRoZSBw YXJlbnQgcHJvY2VzcyBhbmQgYWxsIGNoaWxkcmVuIGNyZWF0ZWQgdXNpbmcgZm9yayAodW5sZXNz DQo+ICsgICAgICAgICMgdGhvc2UgY2hpbGRyZW4gdXNlIGV4ZWMgYXMgd2VsbCkuDQo+ICsgICAg ICAgICMNCj4gKyAgICAgICAgIyBBc3N1bWUgdGhhdCB0aGUgdXVpZF9nZW5lcmF0ZSBmdW5jdGlv bnMgYXJlIGJyb2tlbiBmcm9tIDEwLjUgb253YXJkLA0KPiArICAgICAgICAjIHRoZSB0ZXN0IGNh biBiZSBhZGp1c3RlZCB3aGVuIGEgbGF0ZXIgdmVyc2lvbiBpcyBmaXhlZC4NCj4gKyAgICAgICAg aWYgc3lzLnBsYXRmb3JtID09ICdkYXJ3aW4nOg0KPiArICAgICAgICAgICAgaWYgaW50KG9zLnVu YW1lKCkucmVsZWFzZS5zcGxpdCgnLicpWzBdKSA+PSA5Og0KPiArICAgICAgICAgICAgICAgIF91 dWlkX2dlbmVyYXRlX3RpbWUgPSBOb25lDQo+ICsNCj4gKyAgICAgICAgIyBPbiBXaW5kb3dzIHBy aW9yIHRvIDIwMDAsIFV1aWRDcmVhdGUgZ2l2ZXMgYSBVVUlEIGNvbnRhaW5pbmcgdGhlDQo+ICsg ICAgICAgICMgaGFyZHdhcmUgYWRkcmVzcy4gIE9uIFdpbmRvd3MgMjAwMCBhbmQgbGF0ZXIsIFV1 aWRDcmVhdGUgbWFrZXMgYQ0KPiArICAgICAgICAjIHJhbmRvbSBVVUlEIGFuZCBVdWlkQ3JlYXRl U2VxdWVudGlhbCBnaXZlcyBhIFVVSUQgY29udGFpbmluZyB0aGUNCj4gKyAgICAgICAgIyBoYXJk d2FyZSBhZGRyZXNzLiAgVGhlc2Ugcm91dGluZXMgYXJlIHByb3ZpZGVkIGJ5IHRoZSBSUEMgcnVu dGltZS4NCj4gKyAgICAgICAgIyBOT1RFOiAgYXQgbGVhc3Qgb24gVGltJ3MgV2luWFAgUHJvIFNQ MiBkZXNrdG9wIGJveCwgd2hpbGUgdGhlIGxhc3QNCj4gKyAgICAgICAgIyA2IGJ5dGVzIHJldHVy bmVkIGJ5IFV1aWRDcmVhdGVTZXF1ZW50aWFsIGFyZSBmaXhlZCwgdGhleSBkb24ndCBhcHBlYXIN Cj4gKyAgICAgICAgIyB0byBiZWFyIGFueSByZWxhdGlvbnNoaXAgdG8gdGhlIE1BQyBhZGRyZXNz IG9mIGFueSBuZXR3b3JrIGRldmljZQ0KPiArICAgICAgICAjIG9uIHRoZSBib3guDQo+ICsgICAg ICAgIHRyeToNCj4gKyAgICAgICAgICAgIGxpYiA9IGN0eXBlcy53aW5kbGwucnBjcnQ0DQo+ICsg ICAgICAgIGV4Y2VwdDoNCj4gKyAgICAgICAgICAgIGxpYiA9IE5vbmUNCj4gKyAgICAgICAgX1V1 aWRDcmVhdGUgPSBnZXRhdHRyKGxpYiwgJ1V1aWRDcmVhdGVTZXF1ZW50aWFsJywNCj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGdldGF0dHIobGliLCAnVXVpZENyZWF0ZScsIE5vbmUp KQ0KPiAgICAgIGV4Y2VwdDoNCj4gLSAgICAgICAgbGliID0gTm9uZQ0KPiAtICAgIF9VdWlkQ3Jl YXRlID0gZ2V0YXR0cihsaWIsICdVdWlkQ3JlYXRlU2VxdWVudGlhbCcsDQo+IC0gICAgICAgICAg ICAgICAgICAgICAgICAgIGdldGF0dHIobGliLCAnVXVpZENyZWF0ZScsIE5vbmUpKQ0KPiAtZXhj ZXB0Og0KPiAtICAgIHBhc3MNCj4gKyAgICAgICAgcGFzcw0KPiArDQo+IA0KPiAgZGVmIF91bml4 ZGxsX2dldG5vZGUoKToNCj4gICAgICAiIiJHZXQgdGhlIGhhcmR3YXJlIGFkZHJlc3Mgb24gVW5p eCB1c2luZyBjdHlwZXMuIiIiDQo+IEBAIC01NjMsNiArNTY3LDggQEAgZGVmIGdldG5vZGUoKToN Cj4gICAgICBpbXBvcnQgc3lzDQo+ICAgICAgaWYgc3lzLnBsYXRmb3JtID09ICd3aW4zMic6DQo+ ICAgICAgICAgIGdldHRlcnMgPSBfTk9ERV9HRVRURVJTX1dJTjMyDQo+ICsgICAgZWxpZiBzeXMu cGxhdGZvcm0gPT0gJ3VlZmknOg0KPiArICAgICAgICBnZXR0ZXJzID0gW10NCj4gICAgICBlbHNl Og0KPiAgICAgICAgICBnZXR0ZXJzID0gX05PREVfR0VUVEVSU19VTklYDQo+IA0KPiAtLQ0KPiAy LjMyLjAud2luZG93cy4yDQo+IA0KPiANCj4gDQo+IA0KPiANCg0K