From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by sourceware.org (Postfix) with ESMTPS id A36D23858D20 for ; Tue, 8 Aug 2023 18:51:11 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org A36D23858D20 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=redhat.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=redhat.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1691520671; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=t7sBoxrKo863FfbYz3/4fNrwyFyWTuJfh0plm5DvgFM=; b=EsLXlPWTkYYKWWn2ZvdTzoQ2KB/V6soPzu3W5EzU2Ioe0MyNL6ewrI24hrXvAjWDuU0r10 1rKa3+Kj5uz1lYab78wiMrnqyI7i2U9yz5yayH00r76Skx54qrw271gfyps3XEUn5cFRwh 3H2YZBUNTWSLoO0C7DR9MT0lM6V62lY= Received: from mail-qt1-f200.google.com (mail-qt1-f200.google.com [209.85.160.200]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-530-sIUa7_frPIeySVEV0O1IuQ-1; Tue, 08 Aug 2023 14:51:09 -0400 X-MC-Unique: sIUa7_frPIeySVEV0O1IuQ-1 Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-410080f43c3so26215651cf.1 for ; Tue, 08 Aug 2023 11:51:09 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1691520668; x=1692125468; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=t7sBoxrKo863FfbYz3/4fNrwyFyWTuJfh0plm5DvgFM=; b=aDsjNns9NT4QE+PcmQbzQlR/kv9b2F5wLDezp9Cu8e/Lc2vdFsoCnvreE+ibXzy/nd AS9AFyyh5YApyeX5qydniO21ffxgnwKiumGa+pwByS8g/QmA2mAEBVGbfg49HvaLoVrl YbA7KH4gxSiDmc7JawkOQkwCkeVONqdzZpENKXcbr0JlwaWwTsJXX0jK+Lby3mG+vC+h XuMEK0bC5PU/Wj8SlRJ5Rsi0bpWudFyb7KYbMsm52S85nuetvkLoBNsjMtd/DGBoARKm QNXkZzv9z2QILDceE0qe4LWwP+yuaOVjrSQvyYa1a4vKMS0fhvw2AZjFjiqPE14osOhJ 53iA== X-Gm-Message-State: AOJu0Yxx67yP/7+BZN064YBZDNt0HL1fo2e2Q2kW97fyupnOsqxN20g0 aOCRobmqIWHv9/gu+qyHRHCOYo7CXfvpSnxfxnhqrzaLXyf4/kjJnGeMooIGZCvEgDsEdHsW0ev EfJqhzjw9vdBS6/I= X-Received: by 2002:ac8:7d95:0:b0:40d:760a:bffd with SMTP id c21-20020ac87d95000000b0040d760abffdmr628268qtd.22.1691520668373; Tue, 08 Aug 2023 11:51:08 -0700 (PDT) X-Google-Smtp-Source: AGHT+IH1v1QK7rffSvg4cuo3i2pmW38RQosC1/6QyI8SAZW0RAkeB8OFrpiGyNKNnmF/HTXSuvqsmQ== X-Received: by 2002:ac8:7d95:0:b0:40d:760a:bffd with SMTP id c21-20020ac87d95000000b0040d760abffdmr628253qtd.22.1691520668017; Tue, 08 Aug 2023 11:51:08 -0700 (PDT) Received: from t14s.localdomain (c-76-28-97-5.hsd1.ma.comcast.net. [76.28.97.5]) by smtp.gmail.com with ESMTPSA id fd4-20020a05622a4d0400b003ff654694b6sm3558787qtb.46.2023.08.08.11.51.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Aug 2023 11:51:06 -0700 (PDT) Message-ID: <132e5dd3440e22003db92244e9d17916fe33f0c7.camel@redhat.com> Subject: Re: [PATCH] WIP for dg-require-python-h [PR107646] From: David Malcolm To: Eric Feng Cc: gcc@gcc.gnu.org Date: Tue, 08 Aug 2023 14:51:05 -0400 In-Reply-To: <20230808165159.80250-1-ef2648@columbia.edu> References: <925a3480a840b43634c303d508ec2f908c92edff.camel@redhat.com> <20230808165159.80250-1-ef2648@columbia.edu> User-Agent: Evolution 3.44.4 (3.44.4-2.fc36) MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 X-Spam-Status: No, score=-9.7 required=5.0 tests=BAYES_00,BODY_8BITS,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: T24gVHVlLCAyMDIzLTA4LTA4IGF0IDEyOjUxIC0wNDAwLCBFcmljIEZlbmcgd3JvdGU6Cj4gVW5m b3J0dW5hdGVseSwgdGhlcmUgZG9lc27igJl0IHNlZW0gdG8gYmUgYW55IEVSUk9ScyBpbiB0aGUg LmxvZyBub3IKPiBhbnkgb2YgdGhlIGRlYnVnIHByaW50IHN0YXRlbWVudHMgd2hpY2ggSeKAmXZl IHNjYXR0ZXJlZCB3aXRoaW4gcHJvYwo+IGRnLXJlcXVpcmUtcHl0aG9uLWggd2hlbiBydW4uIEni gJl2ZSBhdHRhY2hlZCB0aGUgV0lQIGJlbG93OyB0aGFuayB5b3UhCj4gUGxlYXNlIG5vdGUgdGhh dCBpbiB0aGlzIHZlcnNpb24gb2YgdGhlIHBhdGNoLCBJ4oCZdmUgcmVtb3ZlZCB0aGUgb3RoZXIK PiAobm9uIFB5dGhvbikgdGVzdCBjYXNlcyBpbiBwbHVnaW4uZXhwIGZvciBjb252ZW5pZW5jZS4g Cj4gCj4gQXNpZGUgZnJvbSBpc3N1ZXMgd2l0aCBkZy1yZXF1aXJlLXB5dGhvbi1oLCBldmVyeXRo aW5nIHdvcmtzIGFzCj4gZXhwZWN0ZWQgKHdoZW4gdXNpbmcgLyogeyBkZy1vcHRpb25zICItZmFu YWx5emVyIC0KPiBJL3Vzci9pbmNsdWRlL3B5dGhvbjMuOSIgfS4gVGhlIHBhdGNoIGluY2x1ZGVz IHN1cHBvcnQgZm9yCj4gUHlMaXN0X05ldywgUHlMb25nX0Zyb21Mb25nLCBQeUxpc3RfQXBwZW5k IGFuZCBhbHNvIHRoZSBvcHRpb25hbAo+IHBhcmFtZXRlcnMgZm9yIGdldF9vcl9jcmVhdGVfcmVn aW9uX2Zvcl9oZWFwX2FsbG9jIGFzIHdlIHByZXZpb3VzbHkKPiBkaXNjdXNzZWQuIEkgd2lsbCBz dWJtaXQgdGhlIHZlcnNpb24gb2YgdGhlIHBhdGNoIHNhbnMgZGctcmVxdWlyZS0KPiBweXRob24t aCB0byBnY2MtcGF0Y2hlcyBmb3IgcmV2aWV3IGFzIHNvb24gYXMgSSBjb25maXJtIHJlZ3Rlc3Rz IHBhc3MKPiBhcyBleHBlY3RlZDsgcGVyaGFwcyB3ZSBjYW4gZmlyc3QgcHVzaCB0aGVzZSBjaGFu Z2VzIHRvIHRydW5rIGFuZAo+IGxhdGVyIHB1c2ggYSBzZXBhcmF0ZSBwYXRjaCBmb3IgZGctcmVx dWlyZS1weXRob24taC4gCj4gPiAKClsuLi5zbmlwLi4uXQoKVmFyaW91cyBjb21tZW50cyBvbiB0 aGUgV0lQIHBhdGNoIGlubGluZSBiZWxvdy4uLgoKCj4gLS0tCj4gVGhpcyBwYXRjaCBhZGRzIGtu b3duIGZ1bmN0aW9uIHN1YmNsYXNzZXMgZm9yIHRoZSBmb2xsb3dpbmcgUHl0aG9uL0MKPiBBUEk6 IFB5TGlzdF9OZXcsIFB5TG9uZ19Gcm9tTG9uZywgUHlMaXN0X0FwcGVuZC4gSXQgYWxzbyBhZGRz IG5ldwo+IG9wdGlvbmFsIHBhcmFtZXRlcnMgdG8KPiByZWdpb25fbW9kZWw6OmdldF9vcl9jcmVh dGVfcmVnaW9uX2Zvcl9oZWFwX2FsbG9jCj4gc28gdGhhdCB0aGUgbmV3bHkgYWxsb2NhdGVkIHJl Z2lvbiBtYXkgdHJhbnNpdGlvbiBmcm9tIHRoZSBzdGFydAo+IHN0YXRlCj4gdG8gdGhlIGFzc3Vt ZWQgbm9uIG51bGwgc3RhdGUgb24gdGhlIG1hbGxvYyBzdGF0ZSBtYWNoaW5lIGltbWVkaWF0ZWx5 Cj4gaWYKPiBkZXNpcmVkLgo+IAo+IFRoZSBtYWluIHdhcm5pbmdzIHdlIGdhaW4gaW4gdGhpcyBw YXRjaCB3aXRoIHJlc3BlY3QgdG8gdGhlIGtub3duCj4gZnVuY3Rpb24gc3ViY2xhc3Nlcwo+IG1l bnRpb25lZCBhcmUgbGVhayByZWxhdGVkLiBGb3IgZXhhbXBsZToKPiAKPiByYzMuYzogSW4gZnVu Y3Rpb24g4oCYY3JlYXRlX3B5X29iamVjdOKAmToKPiDilIIKPiByYzMuYzoyMToxMDogd2Fybmlu ZzogbGVhayBvZiDigJhpdGVt4oCZIFtDV0UtNDAxXSBbLVdhbmFseXplci1tYWxsb2MtCj4gbGVh a10KPiDilIIKPiDCoMKgIDIxIHzCoMKgIHJldHVybiBsaXN0Owo+IMKgwqDCoMKgwqAg4pSCCj4g wqDCoMKgwqDCoCB8wqDCoMKgwqDCoMKgwqDCoMKgIF5+fn4KPiDilIIKPiDCoCDigJhjcmVhdGVf cHlfb2JqZWN04oCZOiBldmVudHMgMS00Cj4g4pSCCj4gwqDCoMKgIHwKPiDilIIKPiDCoMKgwqAg fMKgwqDCoCA0IHzCoMKgIFB5T2JqZWN0KiBpdGVtID0gUHlMb25nX0Zyb21Mb25nKDEwKTsKPiDi lIIKPiDCoMKgwqAgfMKgwqDCoMKgwqAgfMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIF5+fn5+fn5+fn5+fn5+fn5+fn4KPiDilIIKPiDCoMKgwqAgfMKgwqDCoMKgwqAgfMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwKPiDilIIKPiDCoMKgwqAgfMKg wqDCoMKgwqAgfMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICgxKSBhbGxv Y2F0ZWQgaGVyZQo+IOKUggo+IMKgwqDCoCB8wqDCoMKgwqDCoCB8wqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgKDIpIHdoZW4g4oCYUHlMb25nX0Zyb21Mb25n4oCZIHN1Y2Nl ZWRzCj4g4pSCCj4gwqDCoMKgIHzCoMKgwqAgNSB8wqDCoCBQeU9iamVjdCogbGlzdCA9IFB5TGlz dF9OZXcoMik7Cj4g4pSCCj4gwqDCoMKgIHzCoMKgwqDCoMKgIHzCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCB+fn5+fn5+fn5+fn5+Cj4g4pSCCj4gwqDCoMKgIHzCoMKgwqDC oMKgIHzCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8Cj4g4pSCCj4gwqDC oMKgIHzCoMKgwqDCoMKgIHzCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAo Mykgd2hlbiDigJhQeUxpc3RfTmV34oCZIGZhaWxzCj4g4pSCCj4gwqDCoMKgIHwuLi4uLi4KPiDi lIIKPiDCoMKgwqAgfMKgwqAgMjEgfMKgwqAgcmV0dXJuIGxpc3Q7Cj4g4pSCCj4gwqDCoMKgIHzC oMKgwqDCoMKgIHzCoMKgwqDCoMKgwqDCoMKgwqAgfn5+fgo+IOKUggo+IMKgwqDCoCB8wqDCoMKg wqDCoCB8wqDCoMKgwqDCoMKgwqDCoMKgIHwKPiDilIIKPiDCoMKgwqAgfMKgwqDCoMKgwqAgfMKg wqDCoMKgwqDCoMKgwqDCoCAoNCkg4oCYaXRlbeKAmSBsZWFrcyBoZXJlOyB3YXMgYWxsb2NhdGVk IGF0ICgxKQo+IOKUggo+IAo+IFNvbWUgY29uY2Vzc2lvbnMgd2VyZSBtYWRlIHRvCj4gc2ltcGxp ZnkgdGhlIGFuYWx5c2lzIHByb2Nlc3Mgd2hlbiBjb21wYXJpbmcga2ZfUHlMaXN0X0FwcGVuZCB3 aXRoCj4gdGhlCj4gcmVhbCBpbXBsZW1lbnRhdGlvbi4gSW4gcGFydGljdWxhciwgUHlMaXN0X0Fw cGVuZCBwZXJmb3JtcyBzb21lCj4gb3B0aW1pemF0aW9uIGludGVybmFsbHkgdG8gdHJ5IGFuZCBh dm9pZCBjYWxscyB0byByZWFsbG9jIGlmCj4gcG9zc2libGUuIEZvciBzaW1wbGljaXR5LCB3ZSBh c3N1bWUgdGhhdCByZWFsbG9jIGlzIGNhbGxlZCBldmVyeQo+IHRpbWUuCj4gQWxzbywgd2UgZ3Jv dyB0aGUgc2l6ZSBieSBqdXN0IDEgKHRvIGVuc3VyZSBlbm91Z2ggc3BhY2UgZm9yIGFkZGluZyBh Cj4gbmV3IGVsZW1lbnQpIHJhdGhlciB0aGFuIGFiaWRlIGJ5IHRoZSBoZXVyaXN0aWNzIHRoYXQg dGhlIGFjdHVhbAo+IGltcGxlbWVudGF0aW9uCj4gZm9sbG93cy4KPiAKPiBnY2MvYW5hbHl6ZXIv Q2hhbmdlTG9nOgo+IMKgIFBSIGFuYWx5emVyLzEwNzY0Ngo+IMKgwqDCoMKgwqDCoMKgwqAqIHJl Z2lvbi1tb2RlbC5jYwo+IChyZWdpb25fbW9kZWw6OmdldF9vcl9jcmVhdGVfcmVnaW9uX2Zvcl9o ZWFwX2FsbG9jKToKPiDCoCBOZXcgb3B0aW9uYWwgcGFyYW1ldGVycy4KCj4gwqDCoMKgwqDCoMKg wqDCoCogcmVnaW9uLW1vZGVsLmggKGNsYXNzIHJlZ2lvbl9tb2RlbCk6IExpa2V3aXNlLgo+IMKg wqDCoMKgwqDCoMKgwqAqIHNtLW1hbGxvYy5jYyAob25fcmVhbGxvY193aXRoX21vdmUpOiBOZXcg ZnVuY3Rpb24uCj4gwqDCoMKgwqDCoMKgwqDCoChyZWdpb25fbW9kZWw6Om1vdmVfcHRyX3N2YWxf bm9uX251bGwpOiBOZXcgZnVuY3Rpb24uCj4gCj4gZ2NjL3Rlc3RzdWl0ZS9DaGFuZ2VMb2c6Cj4g wqAgUFIgYW5hbHl6ZXIvMTA3NjQ2Cj4gwqDCoMKgwqDCoMKgwqDCoCogZ2NjLmRnL3BsdWdpbi9h bmFseXplcl9jcHl0aG9uX3BsdWdpbi5jOiBOZXcgZmVhdHVyZXMgZm9yCj4gcGx1Z2luLgoKSSBk b24ndCB3YW50IGEgbG90IG9mIGRldGFpbCwgYnV0IHBsZWFzZSBoYXZlIHRoZSBDaGFuZ2VMb2cg ZW50cnkgYXQKbGVhc3QgbGlzdCB0aGUgbmV3IGZ1bmN0aW9ucyB0aGF0IGFyZSBiZWluZyBzaW11 bGF0ZWQsIHNpbmNlIHRoYXQKd2lsbGxpa2VseSB0aGUgbW9zdCBwZXJ0aW5lbnQgaW5mb3JtYXRp b24gd2hlbiB3ZSBnbyBiYWNrIGxvb2sgYXQgdGhlCmxvZ3MKCj4gwqDCoMKgwqDCoMKgwqDCoCog Z2NjLmRnL3BsdWdpbi9wbHVnaW4uZXhwOiBOZXcgdGVzdC4KPiDCoMKgwqDCoMKgwqDCoMKgKiBn Y2MuZGcvcGx1Z2luL2NweXRob24tcGx1Z2luLXRlc3QtMi5jOiBOZXcgdGVzdC4KPiAKPiBTaWdu ZWQtb2ZmLWJ5OiBFcmljIEZlbmcgPGVmMjY0OEBjb2x1bWJpYS5lZHU+Cj4gLS0tCj4gwqBnY2Mv YW5hbHl6ZXIvcmVnaW9uLW1vZGVsLmNjwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCB8wqAgMTUgKy0KPiDCoGdjYy9hbmFseXplci9yZWdpb24tbW9kZWwuaMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqAgMTAgKy0KPiDCoGdjYy9hbmFseXplci9zbS1tYWxs b2MuY2PCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzCoCA0MCArCj4g wqAuLi4vZ2NjLmRnL3BsdWdpbi9hbmFseXplcl9jcHl0aG9uX3BsdWdpbi5jwqDCoCB8IDcxMAo+ ICsrKysrKysrKysrKysrKysrKwo+IMKgLi4uL2djYy5kZy9wbHVnaW4vY3B5dGhvbi1wbHVnaW4t dGVzdC0yLmPCoMKgwqDCoCB8wqAgNzggKysKPiDCoGdjYy90ZXN0c3VpdGUvZ2NjLmRnL3BsdWdp bi9wbHVnaW4uZXhwwqDCoMKgwqDCoMKgwqAgfCAxMDcgKy0tCj4gwqBnY2MvdGVzdHN1aXRlL2xp Yi90YXJnZXQtc3VwcG9ydHMuZXhwwqDCoMKgwqDCoMKgwqDCoCB8wqAgMjUgKwo+IMKgNyBmaWxl cyBjaGFuZ2VkLCA4NzYgaW5zZXJ0aW9ucygrKSwgMTA5IGRlbGV0aW9ucygtKQo+IMKgY3JlYXRl IG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLmRnL3BsdWdpbi9jcHl0aG9uLXBsdWdpbi10 ZXN0LQo+IDIuYwo+IAo+IGRpZmYgLS1naXQgYS9nY2MvYW5hbHl6ZXIvcmVnaW9uLW1vZGVsLmNj IGIvZ2NjL2FuYWx5emVyL3JlZ2lvbi0KPiBtb2RlbC5jYwo+IGluZGV4IGU5MmIzZjdiMDc0Li5j NTM0NDZiMmFmYyAxMDA2NDQKPiAtLS0gYS9nY2MvYW5hbHl6ZXIvcmVnaW9uLW1vZGVsLmNjCj4g KysrIGIvZ2NjL2FuYWx5emVyL3JlZ2lvbi1tb2RlbC5jYwo+IEBAIC01MTMxLDcgKzUxMzEsOSBA QCByZWdpb25fbW9kZWw6OmNoZWNrX2R5bmFtaWNfc2l6ZV9mb3JfZmxvYXRzCj4gKGNvbnN0IHN2 YWx1ZSAqc2l6ZV9pbl9ieXRlcywKPiDCoAo+IMKgY29uc3QgcmVnaW9uICoKPiDCoHJlZ2lvbl9t b2RlbDo6Z2V0X29yX2NyZWF0ZV9yZWdpb25fZm9yX2hlYXBfYWxsb2MgKGNvbnN0IHN2YWx1ZQo+ ICpzaXplX2luX2J5dGVzLAo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoAo+IHJlZ2lvbl9tb2RlbF9jb250ZXh0ICpjdHh0KQo+ICvCoMKgwqDCoMKgwqAgcmVnaW9u X21vZGVsX2NvbnRleHQgKmN0eHQsCj4gK8KgwqDCoMKgwqDCoCBib29sIHJlZ2lzdGVyX2FsbG9j LAo+ICvCoMKgwqDCoMKgwqAgY29uc3QgY2FsbF9kZXRhaWxzICpjZCkKCldoZW4gYWRkaW5nIG5l dyBwYXJhbXMvZnVuY3Rpb25hbGl0eSB0byBhbiBleGlzdGluZyBmdW5jdGlvbiwgcGxlYXNlCnVw ZGF0ZSB0aGUgbGVhZGluZyBjb21tZW50LgoKCj4gwqB7Cj4gwqDCoCAvKiBEZXRlcm1pbmUgd2hp Y2ggcmVnaW9ucyBhcmUgcmVmZXJlbmNlZCBpbiB0aGlzIHJlZ2lvbl9tb2RlbCwgc28KPiB0aGF0 Cj4gwqDCoMKgwqDCoCB3ZSBjYW4gcmV1c2UgYW4gZXhpc3RpbmcgaGVhcF9hbGxvY2F0ZWRfcmVn aW9uIGlmIGl0J3Mgbm90IGluCj4gdXNlIG9uCj4gQEAgLTUxNTMsNiArNTE1NSwxNyBAQAo+IHJl Z2lvbl9tb2RlbDo6Z2V0X29yX2NyZWF0ZV9yZWdpb25fZm9yX2hlYXBfYWxsb2MgKGNvbnN0IHN2 YWx1ZQo+ICpzaXplX2luX2J5dGVzLAo+IMKgwqAgaWYgKHNpemVfaW5fYnl0ZXMpCj4gwqDCoMKg wqAgaWYgKGNvbXBhdF90eXBlc19wIChzaXplX2luX2J5dGVzLT5nZXRfdHlwZSAoKSwgc2l6ZV90 eXBlX25vZGUpKQo+IMKgwqDCoMKgwqDCoCBzZXRfZHluYW1pY19leHRlbnRzIChyZWcsIHNpemVf aW5fYnl0ZXMsIGN0eHQpOwo+ICsKPiArwqDCoMKgwqDCoMKgwqBpZiAocmVnaXN0ZXJfYWxsb2Mg JiYgY2QpCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHsKPiArwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGNvbnN0IHN2YWx1ZSAqcHRyX3N2YWwg PSBudWxscHRyOwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgaWYgKGNkLT5nZXRfbGhzX3R5cGUgKCkpCj4gK8KgwqDCoMKgwqDCoCBwdHJfc3ZhbCA9IG1f bWdyLT5nZXRfcHRyX3N2YWx1ZSAoY2QtPmdldF9saHNfdHlwZSAoKSwgcmVnKTsKPiArwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGVsc2UKPiArwqDCoMKgwqDC oMKgIHB0cl9zdmFsID0gbV9tZ3ItPmdldF9wdHJfc3ZhbHVlIChOVUxMX1RSRUUsIHJlZyk7Cj4g K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBtb3ZlX3B0cl9z dmFsX25vbl9udWxsIChjdHh0LCBwdHJfc3ZhbCk7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoH0KPiArCj4gwqDCoCByZXR1cm4gcmVnOwo+IMKgfQo+IMKgCj4gZGlmZiAtLWdpdCBh L2djYy9hbmFseXplci9yZWdpb24tbW9kZWwuaCBiL2djYy9hbmFseXplci9yZWdpb24tCj4gbW9k ZWwuaAo+IGluZGV4IDBjZjM4NzE0Yzk2Li44NGM5NjRmYWRjOSAxMDA2NDQKPiAtLS0gYS9nY2Mv YW5hbHl6ZXIvcmVnaW9uLW1vZGVsLmgKPiArKysgYi9nY2MvYW5hbHl6ZXIvcmVnaW9uLW1vZGVs LmgKPiBAQCAtMzg3LDkgKzM4Nyw5IEBAIGNsYXNzIHJlZ2lvbl9tb2RlbAo+IMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJlZ2lvbl9tb2RlbF9jb250ZXh0ICpj dHh0LAo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJlamVj dGVkX2NvbnN0cmFpbnQgKipvdXQpOwo+IMKgCj4gLcKgIGNvbnN0IHJlZ2lvbiAqCj4gLcKgIGdl dF9vcl9jcmVhdGVfcmVnaW9uX2Zvcl9oZWFwX2FsbG9jIChjb25zdCBzdmFsdWUgKnNpemVfaW5f Ynl0ZXMsCj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJlZ2lvbl9tb2RlbF9jb250ZXh0ICpjdHh0KTsK PiArwqAgY29uc3QgcmVnaW9uICpnZXRfb3JfY3JlYXRlX3JlZ2lvbl9mb3JfaGVhcF9hbGxvYyAo Cj4gK8KgwqDCoMKgwqAgY29uc3Qgc3ZhbHVlICpzaXplX2luX2J5dGVzLCByZWdpb25fbW9kZWxf Y29udGV4dCAqY3R4dCwKPiArwqDCoMKgwqDCoCBib29sIHJlZ2lzdGVyX2FsbG9jID0gZmFsc2Us IGNvbnN0IGNhbGxfZGV0YWlscyAqY2QgPQo+IG51bGxwdHIpOwoKSSBkb24ndCBsaWtlICJyZWdp c3Rlcl9hbGxvYyIgYXMgYSBwYXJhbSBuYW1lIGFzIHRoZSB3b3JkICJyZWdpc3RlciIgaXMKb3Zl cnVzZWQgaW4gdGhlIGNvbnRleHQgb2YgYSBjb21waWxlci4gIE1heWJlICJ1cGRhdGVfc3RhdGVf bWFjaGluZSI/Cgo+IMKgwqAgY29uc3QgcmVnaW9uICpjcmVhdGVfcmVnaW9uX2Zvcl9hbGxvY2Eg KGNvbnN0IHN2YWx1ZQo+ICpzaXplX2luX2J5dGVzLAo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgcmVnaW9uX21vZGVsX2NvbnRleHQKPiAqY3R4dCk7Cj4gwqDCoCB2b2lkIGdldF9yZWZlcmVu Y2VkX2Jhc2VfcmVnaW9ucyAoYXV0b19iaXRtYXAgJm91dF9pZHMpIGNvbnN0Owo+IEBAIC00NzYs NiArNDc2LDEwIEBAIGNsYXNzIHJlZ2lvbl9tb2RlbAo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGNvbnN0IHN2YWx1ZSAqb2xkX3B0cl9z dmFsLAo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIGNvbnN0IHN2YWx1ZSAqbmV3X3B0cl9zdmFsKTsKPiDCoAo+ICvCoCAvKiBJbXBsZW1l bnRlZCBpbiBzbS1tYWxsb2MuY2MuwqAgKi8KPiArwqAgdm9pZCBtb3ZlX3B0cl9zdmFsX25vbl9u dWxsIChyZWdpb25fbW9kZWxfY29udGV4dCAqY3R4dCwKPiArwqDCoMKgwqDCoMKgIGNvbnN0IHN2 YWx1ZSAqbmV3X3B0cl9zdmFsKTsKCiJtb3ZlIiBtYWtlcyBtZSB0aGluayBvZiBDKysxMTsgaG93 IGFib3V0CiJ0cmFuc2l0aW9uX3B0cl9zdmFsX3RvX25vbl9udWxsIj8KCj4gKwo+IMKgwqAgLyog SW1wbGVtZW50ZWQgaW4gc20tdGFpbnQuY2MuwqAgKi8KPiDCoMKgIHZvaWQgbWFya19hc190YWlu dGVkIChjb25zdCBzdmFsdWUgKnN2YWwsCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgcmVnaW9uX21vZGVsX2NvbnRleHQgKmN0eHQpOwoKWy4uLnNuaXAu Li5dCgo+IGRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy5kZy9wbHVnaW4vYW5hbHl6ZXJf Y3B5dGhvbl9wbHVnaW4uYwo+IGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcGx1Z2luL2FuYWx5emVy X2NweXRob25fcGx1Z2luLmMKPiBpbmRleCA5ZWNjNDJkNDQ2NS4uNGQ5ODU2MjBjMDEgMTAwNjQ0 Cj4gLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcGx1Z2luL2FuYWx5emVyX2NweXRob25fcGx1 Z2luLmMKPiArKysgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy9wbHVnaW4vYW5hbHl6ZXJfY3B5dGhv bl9wbHVnaW4uYwoKWy4uLnNuaXAuLi5dCgpUaGUga25vd25fZnVuY3Rpb24gaW1wbGVtZW50YXRp b25zIGdldCB2ZXJ5IGxvbmcsIGFsYXMuICBTb21lIG9mIHRoYXQKbWF5IGJlIGluZXZpdGFibGUs IGJ1dCB0aGVyZSdzIGEgbG90IG9mIHJlcGV0aXRpb24gd2l0aGluIHRoZW0sIHdoaWNoCm91Z2h0 IHRvIGJlIHNwbGl0IG91dCBpbnRvIHN1YnJvdXRpbmVzLgoKU29tZSBleGFtcGxlczoKLSBncmVw cGluZyBmb3IgUExVU19FWFBSLCB0aGVyZSBzZWVtIHRvIGJlIHR3byBwbGFjZXMgdGhhdCBzcGVs bCBvdXQKaG93IHRvIGluY3JlZiBhbiBvYmplY3Q7IHByb2JhYmx5IHRoZXJlIHNob3VsZCBiZSBh IHN0YXRpYyBoZWxwZXIKZnVuY3Rpb24gZm9yIGRvaW5nIHRoaXMuCgotIGdyZXBwaW5nIGZvciAi b2JfcmVmY250IiwgdGhlcmUgYXJlIHR3byBwbGFjZXMgd2hpY2ggc2ltdWxhdGUgYSBuZXcKb2Jq ZWN0IGhhdmluZyBpdHMgcmVmZXJlbmNlIGNvdW50IGluaXRpYWxpemVkIHRvIDEuICBBZ2Fpbiwg dGhpcyBvdWdodAp0byBiZSBhIGNhbGwgdG8gYSBzdGF0aWMgaGVscGVyIHN1YnJvdXRpbmUuCgot IGdyZXBwaW5nIGZvciAib2JfdHlwZSIsIHRoZXJlIGFyZSB0d28gcGxhY2VzIHRoYXQgc2ltdWxh dGUKaW5pdGlhbGl6aW5nIHRoZSBvYl90eXBlIG9mIGEgbmV3IG9iamVjdCB0byBwb2ludCBhdCBh IHR5cGUgb2JqZWN0LiAKTGlrZXdpc2UsIHRoaXMgb3VnaHQgdG8gYmUgYSBjYWxsIHRvIGEgc3Rh dGljIGhlbHBlciBzdWJyb3V0aW5lLgoKSG9wZWZ1bGx5IGRvaW5nIHNvIHdpbGwgaGVscCB0YW1l IHRoZSBjb21wbGV4aXR5IG9mIHRoZXNlIGZ1bmN0aW9ucywKYW5kIGFzIHdlIGFkZCBuZXcgb25l cywgdGhleSdsbCBwcm9iYWJseSBiZSBhYmxlIHRvIHJldXNlIHNvbWUgb2YgdGhlc2UKc3Vicm91 dGluZXMuCgpbLi4uc25pcC4uLl0KCj4gK2NsYXNzIGtmX1B5TG9uZ19Gcm9tTG9uZyA6IHB1Ymxp YyBrbm93bl9mdW5jdGlvbgo+ICt7Cj4gK3B1YmxpYzoKPiArwqAgYm9vbAo+ICvCoCBtYXRjaGVz X2NhbGxfdHlwZXNfcCAoY29uc3QgY2FsbF9kZXRhaWxzICZjZCkgY29uc3QgZmluYWwgb3ZlcnJp ZGUKPiArwqAgewo+ICvCoMKgwqAgcmV0dXJuIChjZC5udW1fYXJncyAoKSA9PSAxICYmIGFyZ19p c19sb25nX3AgKGNkLCAwKSk7Cj4gK8KgIH0KCkkgdGhpbmsgaXQncyBwcm9iYWJseSBlbm91Z2gg aGVyZSB0byBqdXN0IGNoZWNrIHRoYXQgdGhlIGFyZydzIHR5cGUgaXMKaW50ZWdyYWwsIHJhdGhl ciB0aGFuIGEgc3BlY2lmaWMgdHlwZSBvZiBpbnRlZ2VyLgoKWy4uLnNuaXAuLi5dCgo+IAo+IEBA IC0yMDUsNiArOTA5LDEyIEBAIGNweXRob25fYW5hbHl6ZXJfaW5pdF9jYiAodm9pZCAqZ2NjX2Rh dGEsIHZvaWQgKgo+IC8qdXNlcl9kYXRhICovKQo+IMKgwqDCoMKgwqDCoCBzb3JyeV9ub19jcHl0 aG9uX3BsdWdpbiAoKTsKPiDCoMKgwqDCoMKgwqAgcmV0dXJuOwo+IMKgwqDCoMKgIH0KPiArCj4g K8KgIGlmYWNlLT5yZWdpc3Rlcl9rbm93bl9mdW5jdGlvbiAoIlB5TG9uZ19Gcm9tTG9uZyIsCj4g K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCBtYWtlX3VuaXF1ZTxrZl9QeUxvbmdfRnJvbUxvbmc+Cj4gKCkpOwo+ICvCoCBp ZmFjZS0+cmVnaXN0ZXJfa25vd25fZnVuY3Rpb24gKCJQeUxpc3RfTmV3IiwKPiBtYWtlX3VuaXF1 ZTxrZl9QeUxpc3RfTmV3PiAoKSk7Cj4gK8KgIGlmYWNlLT5yZWdpc3Rlcl9rbm93bl9mdW5jdGlv biAoIlB5TGlzdF9BcHBlbmQiLAo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbWFrZV91bmlxdWU8a2ZfUHlMaXN0X0Fw cGVuZD4gKCkpOwoKSG9wZWZ1bGx5IHRoZXJlIHdpbGwgZXZlbnR1YWxseSBiZSBhIGxvdCBvZiBQ eSoga25vd25fZnVuY3Rpb25zLCBzbwpzaGFsbCB3ZSBrZWVwIHRoZSBmdW5jdGlvbnMgYWxwaGFi ZXRpemVkPyAgKGJvdGggaW4gdGVybXMgb2YKcmVnaXN0cmF0aW9uLCBhbmQgaW4gdGVybXMgb2Yg ZGVjbGFyYXRpb25zL2RlZmluaXRpb25zKS4gIAoKWy4uLnNuaXAuLi5dCgpIb3BlIHRoaXMgaXMg Y29uc3RydWN0aXZlCkRhdmUK