From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-lf1-x129.google.com (mail-lf1-x129.google.com [IPv6:2a00:1450:4864:20::129]) by sourceware.org (Postfix) with ESMTPS id 4EA103858D35 for ; Tue, 6 Feb 2024 09:50:39 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 4EA103858D35 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=baylibre.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=baylibre.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 4EA103858D35 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2a00:1450:4864:20::129 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1707213044; cv=none; b=BTxrDyAPIzubf4dos2LtSsluIv10UWn8oianM2H2Bm76H2TarSGDpbzrhlQ3QpX+XvEWLnji/aNcHkeuvaREIw/hmsmW2QeyQGfG/bEHi8d6KVCnnSvOWzRzMKXYAKl0yZS0aFbfocwJzNE9jDeZwQSsF5ID0glBSZLVU9Lhs9g= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1707213044; c=relaxed/simple; bh=XHn17fNG1NBV59XRHQvNPo49BooXuzskQdZ0DGk+iNI=; h=DKIM-Signature:Message-ID:Date:MIME-Version:Subject:To:From; b=tKUv4zAO0/VOxR6zBYJPvLHxoXRoUnI0o0cWBobqaPYSl9J2nrqHANZr66vSgRR4TsY/BRe+UrNzy2Dl+gpYOoDSrgwWbagNjxMzCuA75aigy9lTZMjYzRWDQNn3wV6NaRRimpnLklYNbXAom40bbjlE1lxQd2Wr6LtrJAogVhg= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-lf1-x129.google.com with SMTP id 2adb3069b0e04-5115fcef9e9so369012e87.3 for ; Tue, 06 Feb 2024 01:50:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20230601.gappssmtp.com; s=20230601; t=1707213038; x=1707817838; darn=gcc.gnu.org; h=in-reply-to:from:references:cc:to:content-language:subject :user-agent:mime-version:date:message-id:from:to:cc:subject:date :message-id:reply-to; bh=P6bWR6+nbM84hBTEkxbCh3ZGHyxUf423tECrP8kA9RU=; b=ydFVLq1MmNUtU9Sse4K63QjsBYpPsyF7ffsFmQSNwN1DVrnEc/pebu4SZ2CzGnRK8z OQ6d/GJNUN1A6eD+TSCkT12BYQkfEgPa6+rJ/L23e+sRTvKjth9Q2ljhpmNRV6IsP164 d4vpMQ06GwnDfRcsx4EnQ8GQUvFhRjKNJeN+4wG5ingo/V4zHDKxGIxGPDM8CpfHARQc 91H1+dskSWbqaebNGiFWZvwBClEv9BNSlZG3CnCIpW/e2Z9mH7Bgecj5QKgn0ogk0ejK OCKt0e3lSJooDaJIL/50Sm0Rp0UMVaeHxoZMsNwM4KYiiiQZfuBTdCe4h4ImvILA/lOR XkTg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1707213038; x=1707817838; h=in-reply-to:from:references:cc:to:content-language:subject :user-agent:mime-version:date:message-id:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=P6bWR6+nbM84hBTEkxbCh3ZGHyxUf423tECrP8kA9RU=; b=cA8mVsKpNEh9GvCm6/HEau5HP1jQSRqtaUcbwgV42jE6OYspPKEnFLKUTFFybsMEnN +X92CDh8+fdaMwRibU72bYvVK4HyaViuEoB3Ju5SlXT+NyHov9kQZgeV06wcHke2k1xC y5d7MGrhPrt8vdfM3XPFJWY1hMp/mGp43B8kZusiN8LUYQd1ZKNr0gvCWPWUNHCZs7Z9 I5r4rO3yVDL48S1e/+gPB6uBHNqxBBlu3ZP03CboWOkTce8zncGPW08wUte0nuEQkkwQ hSJsHKp7DeBaz3sltvHw5KiNIcEncU84hl7sNC7GWOgDjFAuHajOydof9Zx+N3RQTJDG QzbA== X-Gm-Message-State: AOJu0YxJc5lHZuO16ugIdPbnrsMTEVAm3vSagkv4lhVBEDyuWW2BgTw8 MBjMtyoETV6GIuM+ddSxNeQoqATHHuYEunbyNILIPPkq22RIYhMcGdsGocIXkCo= X-Google-Smtp-Source: AGHT+IGQnrlkHGcbadk17m5d97in1+QLK9MxtUKjEg32nBcP6llDdEdiNCYDYvRPNsFP920dclPR9w== X-Received: by 2002:ac2:5b08:0:b0:50e:7c70:f8da with SMTP id v8-20020ac25b08000000b0050e7c70f8damr1470929lfn.16.1707213037670; Tue, 06 Feb 2024 01:50:37 -0800 (PST) X-Forwarded-Encrypted: i=0; AJvYcCX0xPOEp0Jho5UPzTl9aGW5DwDF7trSuw6Ae8RbKd0QPphDAqCzRXCEnbdXE2ZgSEX0UPPzi/yrLkBdsYUtfuaRmu7qFnKTQnqZ5b26qJH8jaJQXZq3WsgENujANg== Received: from ?IPV6:2a00:23c6:88e4:c502:ed77:bab6:e657:b6f9? ([2a00:23c6:88e4:c502:ed77:bab6:e657:b6f9]) by smtp.gmail.com with ESMTPSA id p1-20020a05600c358100b0040fdf5e6d40sm1419923wmq.20.2024.02.06.01.50.36 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 06 Feb 2024 01:50:37 -0800 (PST) Content-Type: multipart/mixed; boundary="------------WIQBJm3Kn8ySbsGRDsyTaaBi" Message-ID: <77364452-3d79-438f-a8d1-65aee3f6c3a7@baylibre.com> Date: Tue, 6 Feb 2024 09:50:26 +0000 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v2] openmp, fortran: Add Fortran support for indirect clause on the declare target directive Content-Language: en-GB To: Tobias Burnus Cc: Jakub Jelinek , gcc-patches , fortran@gcc.gnu.org References: <3290a0f5-3b9d-4c3c-b7c5-e9ddec4520c7@baylibre.com> <8ba3944a-44e5-41dd-b78f-95091eb140f6@baylibre.com> From: Kwok Cheung Yeung In-Reply-To: <8ba3944a-44e5-41dd-b78f-95091eb140f6@baylibre.com> X-Spam-Status: No, score=-13.5 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,GIT_PATCH_0,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: This is a multi-part message in MIME format. --------------WIQBJm3Kn8ySbsGRDsyTaaBi Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Oops. I thought exactly the same thing yesterday, but forgot to add the changes to my commit! Here is the updated version. Kwok On 06/02/2024 9:03 am, Tobias Burnus wrote: > LGTM. I just wonder whether there should be a value test and not just a > does-not-crash-when-called test for the latter testcase, i.e. > > >> +++ b/libgomp/testsuite/libgomp.fortran/declare-target-indirect-3.f90 >> @@ -0,0 +1,25 @@ >> +! { dg-do run } >> + >> +! Check that indirect calls work on procedures passed in via a dummy argument >> + >> +module m >> +contains >> + subroutine bar >> + !$omp declare target enter(bar) indirect > e.g. "integer function bar()" ... " bar = 42" >> + end subroutine >> + >> + subroutine foo(f) >> + procedure(bar) :: f >> + >> + !$omp target >> + call f > And then: if (f() /= 42) stop 1 >> + !$omp end target >> + end subroutine >> +end module > > Thanks, > > Tobias > --------------WIQBJm3Kn8ySbsGRDsyTaaBi Content-Type: text/plain; charset=UTF-8; name="0001-openmp-fortran-Add-Fortran-support-for-indirect-clau.patch" Content-Disposition: attachment; filename*0="0001-openmp-fortran-Add-Fortran-support-for-indirect-clau.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSA4M2I3MzRhYTYzYWE2M2VhNWJiNDM4YmI1OWVlMDliMDA4NjllMGZkIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBLd29rIENoZXVuZyBZZXVuZyA8a2N5ZXVuZ0BiYXls aWJyZS5jb20+CkRhdGU6IE1vbiwgNSBGZWIgMjAyNCAyMDozMTo0OSArMDAwMApTdWJqZWN0 OiBbUEFUQ0hdIG9wZW5tcCwgZm9ydHJhbjogQWRkIEZvcnRyYW4gc3VwcG9ydCBmb3IgaW5k aXJlY3QgY2xhdXNlIG9uCiB0aGUgZGVjbGFyZSB0YXJnZXQgZGlyZWN0aXZlCgoyMDI0LTAy LTA1ICBLd29rIENoZXVuZyBZZXVuZyAgPGtjeWV1bmdAYmF5bGlicmUuY29tPgoKCWdjYy9m b3J0cmFuLwoJKiBkdW1wLXBhcnNlLXRyZWUuY2MgKHNob3dfYXR0cik6IEhhbmRsZSBvbXBf ZGVjbGFyZV90YXJnZXRfaW5kaXJlY3QKCWF0dHJpYnV0ZS4KCSogZjk1LWxhbmcuY2MgKGdm Y19nbnVfYXR0cmlidXRlcyk6IEFkZCBlbnRyeSBmb3IgJ29tcCBkZWNsYXJlCgl0YXJnZXQg aW5kaXJlY3QnLgoJKiBnZm9ydHJhbi5oIChzeW1ib2xfYXR0cmlidXRlKTogQWRkIG9tcF9k ZWNsYXJlX3RhcmdldF9pbmRpcmVjdAoJZmllbGQuCgkoc3RydWN0IGdmY19vbXBfY2xhdXNl cyk6IEFkZCBpbmRpcmVjdCBmaWVsZC4KCSogb3Blbm1wLmNjIChvbXBfbWFzazIpOiBBZGQg T01QX0NMQVVTRV9JTkRJUkVDVC4KCShnZmNfbWF0Y2hfb21wX2NsYXVzZXMpOiBNYXRjaCBp bmRpcmVjdCBjbGF1c2UuCgkoT01QX0RFQ0xBUkVfVEFSR0VUX0NMQVVTRVMpOiBBZGQgT01Q X0NMQVVTRV9JTkRJUkVDVC4KCShnZmNfbWF0Y2hfb21wX2RlY2xhcmVfdGFyZ2V0KTogQ2hl Y2sgb21wX2RldmljZV90eXBlIGFuZCBhcHBseQoJb21wX2RlY2xhcmVfdGFyZ2V0X2luZGly ZWN0IGF0dHJpYnV0ZSB0byBzeW1ib2wgaWYgaW5kaXJlY3QgY2xhdXNlCglhY3RpdmUuICBT aG93IHdhcm5pbmcgaWYgdGhlcmUgYXJlIG9ubHkgZGV2aWNlX3R5cGUgYW5kL29yIGluZGly ZWN0CgljbGF1c2VzIG9uIHRoZSBkaXJlY3RpdmUuCgkqIHRyYW5zLWRlY2wuY2MgKGFkZF9h dHRyaWJ1dGVzX3RvX2RlY2wpOiBBZGQgJ29tcCBkZWNsYXJlIHRhcmdldAoJaW5kaXJlY3Qn IGF0dHJpYnV0ZSBpZiBzeW1ib2wgaGFzIGluZGlyZWN0IGF0dHJpYnV0ZSBzZXQuCgoJZ2Nj L3Rlc3RzdWl0ZS8KCSogZ2ZvcnRyYW4uZGcvZ29tcC9kZWNsYXJlLXRhcmdldC00LmY5MCAo ZjEpOiBVcGRhdGUgZXhwZWN0ZWQgd2FybmluZy4KCSogZ2ZvcnRyYW4uZGcvZ29tcC9kZWNs YXJlLXRhcmdldC1pbmRpcmVjdC0xLmY5MDogTmV3LgoJKiBnZm9ydHJhbi5kZy9nb21wL2Rl Y2xhcmUtdGFyZ2V0LWluZGlyZWN0LTIuZjkwOiBOZXcuCgoJbGliZ29tcC8KCSogdGVzdHN1 aXRlL2xpYmdvbXAuZm9ydHJhbi9kZWNsYXJlLXRhcmdldC1pbmRpcmVjdC0xLmY5MDogTmV3 LgoJKiB0ZXN0c3VpdGUvbGliZ29tcC5mb3J0cmFuL2RlY2xhcmUtdGFyZ2V0LWluZGlyZWN0 LTIuZjkwOiBOZXcuCgkqIHRlc3RzdWl0ZS9saWJnb21wLmZvcnRyYW4vZGVjbGFyZS10YXJn ZXQtaW5kaXJlY3QtMy5mOTA6IE5ldy4KLS0tCiBnY2MvZm9ydHJhbi9kdW1wLXBhcnNlLXRy ZWUuY2MgICAgICAgICAgICAgICAgfCAgMiArCiBnY2MvZm9ydHJhbi9mOTUtbGFuZy5jYyAg ICAgICAgICAgICAgICAgICAgICAgfCAgMiArCiBnY2MvZm9ydHJhbi9nZm9ydHJhbi5oICAg ICAgICAgICAgICAgICAgICAgICAgfCAgMyArLQogZ2NjL2ZvcnRyYW4vb3Blbm1wLmNjICAg ICAgICAgICAgICAgICAgICAgICAgIHwgNTAgKysrKysrKysrKysrKystCiBnY2MvZm9ydHJh bi90cmFucy1kZWNsLmNjICAgICAgICAgICAgICAgICAgICAgfCAgNCArKwogLi4uL2dmb3J0 cmFuLmRnL2dvbXAvZGVjbGFyZS10YXJnZXQtNC5mOTAgICAgIHwgIDIgKy0KIC4uLi9nb21w L2RlY2xhcmUtdGFyZ2V0LWluZGlyZWN0LTEuZjkwICAgICAgICB8IDYyICsrKysrKysrKysr KysrKysrKysKIC4uLi9nb21wL2RlY2xhcmUtdGFyZ2V0LWluZGlyZWN0LTIuZjkwICAgICAg ICB8IDI1ICsrKysrKysrCiAuLi4vZGVjbGFyZS10YXJnZXQtaW5kaXJlY3QtMS5mOTAgICAg ICAgICAgICAgfCAzOSArKysrKysrKysrKysKIC4uLi9kZWNsYXJlLXRhcmdldC1pbmRpcmVj dC0yLmY5MCAgICAgICAgICAgICB8IDUzICsrKysrKysrKysrKysrKysKIC4uLi9kZWNsYXJl LXRhcmdldC1pbmRpcmVjdC0zLmY5MCAgICAgICAgICAgICB8IDM1ICsrKysrKysrKysrCiAx MSBmaWxlcyBjaGFuZ2VkLCAyNzIgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKIGNy ZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2dvbXAvZGVjbGFy ZS10YXJnZXQtaW5kaXJlY3QtMS5mOTAKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1 aXRlL2dmb3J0cmFuLmRnL2dvbXAvZGVjbGFyZS10YXJnZXQtaW5kaXJlY3QtMi5mOTAKIGNy ZWF0ZSBtb2RlIDEwMDY0NCBsaWJnb21wL3Rlc3RzdWl0ZS9saWJnb21wLmZvcnRyYW4vZGVj bGFyZS10YXJnZXQtaW5kaXJlY3QtMS5mOTAKIGNyZWF0ZSBtb2RlIDEwMDY0NCBsaWJnb21w L3Rlc3RzdWl0ZS9saWJnb21wLmZvcnRyYW4vZGVjbGFyZS10YXJnZXQtaW5kaXJlY3QtMi5m OTAKIGNyZWF0ZSBtb2RlIDEwMDY0NCBsaWJnb21wL3Rlc3RzdWl0ZS9saWJnb21wLmZvcnRy YW4vZGVjbGFyZS10YXJnZXQtaW5kaXJlY3QtMy5mOTAKCmRpZmYgLS1naXQgYS9nY2MvZm9y dHJhbi9kdW1wLXBhcnNlLXRyZWUuY2MgYi9nY2MvZm9ydHJhbi9kdW1wLXBhcnNlLXRyZWUu Y2MKaW5kZXggMTU2M2I4MTBiOTguLjdiMTU0ZWIzY2E3IDEwMDY0NAotLS0gYS9nY2MvZm9y dHJhbi9kdW1wLXBhcnNlLXRyZWUuY2MKKysrIGIvZ2NjL2ZvcnRyYW4vZHVtcC1wYXJzZS10 cmVlLmNjCkBAIC05MTQsNiArOTE0LDggQEAgc2hvd19hdHRyIChzeW1ib2xfYXR0cmlidXRl ICphdHRyLCBjb25zdCBjaGFyICogbW9kdWxlKQogICAgIGZwdXRzICgiIE9NUC1ERUNMQVJF LVRBUkdFVCIsIGR1bXBmaWxlKTsKICAgaWYgKGF0dHItPm9tcF9kZWNsYXJlX3RhcmdldF9s aW5rKQogICAgIGZwdXRzICgiIE9NUC1ERUNMQVJFLVRBUkdFVC1MSU5LIiwgZHVtcGZpbGUp OworICBpZiAoYXR0ci0+b21wX2RlY2xhcmVfdGFyZ2V0X2luZGlyZWN0KQorICAgIGZwdXRz ICgiIE9NUC1ERUNMQVJFLVRBUkdFVC1JTkRJUkVDVCIsIGR1bXBmaWxlKTsKICAgaWYgKGF0 dHItPmVsZW1lbnRhbCkKICAgICBmcHV0cyAoIiBFTEVNRU5UQUwiLCBkdW1wZmlsZSk7CiAg IGlmIChhdHRyLT5wdXJlKQpkaWZmIC0tZ2l0IGEvZ2NjL2ZvcnRyYW4vZjk1LWxhbmcuY2Mg Yi9nY2MvZm9ydHJhbi9mOTUtbGFuZy5jYwppbmRleCAzNThjYjE3ZmNlMi4uNjdmZGEyN2Fh M2UgMTAwNjQ0Ci0tLSBhL2djYy9mb3J0cmFuL2Y5NS1sYW5nLmNjCisrKyBiL2djYy9mb3J0 cmFuL2Y5NS1sYW5nLmNjCkBAIC05Niw2ICs5Niw4IEBAIHN0YXRpYyBjb25zdCBhdHRyaWJ1 dGVfc3BlYyBnZmNfZ251X2F0dHJpYnV0ZXNbXSA9CiAgICAgZ2ZjX2hhbmRsZV9vbXBfZGVj bGFyZV90YXJnZXRfYXR0cmlidXRlLCBOVUxMIH0sCiAgIHsgIm9tcCBkZWNsYXJlIHRhcmdl dCBsaW5rIiwgMCwgMCwgdHJ1ZSwgIGZhbHNlLCBmYWxzZSwgZmFsc2UsCiAgICAgZ2ZjX2hh bmRsZV9vbXBfZGVjbGFyZV90YXJnZXRfYXR0cmlidXRlLCBOVUxMIH0sCisgIHsgIm9tcCBk ZWNsYXJlIHRhcmdldCBpbmRpcmVjdCIsIDAsIDAsIHRydWUsICBmYWxzZSwgZmFsc2UsIGZh bHNlLAorICAgIGdmY19oYW5kbGVfb21wX2RlY2xhcmVfdGFyZ2V0X2F0dHJpYnV0ZSwgTlVM TCB9LAogICB7ICJvYWNjIGZ1bmN0aW9uIiwgMCwgLTEsIHRydWUsICBmYWxzZSwgZmFsc2Us IGZhbHNlLAogICAgIGdmY19oYW5kbGVfb21wX2RlY2xhcmVfdGFyZ2V0X2F0dHJpYnV0ZSwg TlVMTCB9LAogfTsKZGlmZiAtLWdpdCBhL2djYy9mb3J0cmFuL2dmb3J0cmFuLmggYi9nY2Mv Zm9ydHJhbi9nZm9ydHJhbi5oCmluZGV4IGZkNzNlNGNlNDMxLi5mZDg0M2EzMjQxZCAxMDA2 NDQKLS0tIGEvZ2NjL2ZvcnRyYW4vZ2ZvcnRyYW4uaAorKysgYi9nY2MvZm9ydHJhbi9nZm9y dHJhbi5oCkBAIC05OTksNiArOTk5LDcgQEAgdHlwZWRlZiBzdHJ1Y3QKICAgLyogTWVudGlv bmVkIGluIE9NUCBERUNMQVJFIFRBUkdFVC4gICovCiAgIHVuc2lnbmVkIG9tcF9kZWNsYXJl X3RhcmdldDoxOwogICB1bnNpZ25lZCBvbXBfZGVjbGFyZV90YXJnZXRfbGluazoxOworICB1 bnNpZ25lZCBvbXBfZGVjbGFyZV90YXJnZXRfaW5kaXJlY3Q6MTsKICAgRU5VTV9CSVRGSUVM RCAoZ2ZjX29tcF9kZXZpY2VfdHlwZSkgb21wX2RldmljZV90eXBlOjI7CiAgIHVuc2lnbmVk IG9tcF9hbGxvY2F0ZToxOwogCkBAIC0xNTg0LDcgKzE1ODUsNyBAQCB0eXBlZGVmIHN0cnVj dCBnZmNfb21wX2NsYXVzZXMKICAgdW5zaWduZWQgZ3JhaW5zaXplX3N0cmljdDoxLCBudW1f dGFza3Nfc3RyaWN0OjEsIGNvbXBhcmU6MSwgd2VhazoxOwogICB1bnNpZ25lZCBub25fcmVj dGFuZ3VsYXI6MSwgb3JkZXJfY29uY3VycmVudDoxOwogICB1bnNpZ25lZCBjb250YWluc190 ZWFtc19jb25zdHJ1Y3Q6MSwgdGFyZ2V0X2ZpcnN0X3N0X2lzX3RlYW1zOjE7Ci0gIHVuc2ln bmVkIGNvbnRhaW5lZF9pbl90YXJnZXRfY29uc3RydWN0OjE7CisgIHVuc2lnbmVkIGNvbnRh aW5lZF9pbl90YXJnZXRfY29uc3RydWN0OjEsIGluZGlyZWN0OjE7CiAgIEVOVU1fQklURklF TEQgKGdmY19vbXBfc2NoZWRfa2luZCkgc2NoZWRfa2luZDozOwogICBFTlVNX0JJVEZJRUxE IChnZmNfb21wX2RldmljZV90eXBlKSBkZXZpY2VfdHlwZToyOwogICBFTlVNX0JJVEZJRUxE IChnZmNfb21wX21lbW9yZGVyKSBtZW1vcmRlcjozOwpkaWZmIC0tZ2l0IGEvZ2NjL2ZvcnRy YW4vb3Blbm1wLmNjIGIvZ2NjL2ZvcnRyYW4vb3Blbm1wLmNjCmluZGV4IDBhZjgwZDU0ZmFk Li4zMGFiYTQ0MjFmZiAxMDA2NDQKLS0tIGEvZ2NjL2ZvcnRyYW4vb3Blbm1wLmNjCisrKyBi L2djYy9mb3J0cmFuL29wZW5tcC5jYwpAQCAtMTA5Niw2ICsxMDk2LDcgQEAgZW51bSBvbXBf bWFzazIKICAgT01QX0NMQVVTRV9ET0FDUk9TUywgLyogT3Blbk1QIDUuMiAqLwogICBPTVBf Q0xBVVNFX0FTU1VNUFRJT05TLCAvKiBPcGVuTVAgNS4xLiAqLwogICBPTVBfQ0xBVVNFX1VT RVNfQUxMT0NBVE9SUywgLyogT3Blbk1QIDUuMCAgKi8KKyAgT01QX0NMQVVTRV9JTkRJUkVD VCwgLyogT3Blbk1QIDUuMSAgKi8KICAgLyogVGhpcyBtdXN0IGNvbWUgbGFzdC4gICovCiAg IE9NUF9NQVNLMl9MQVNUCiB9OwpAQCAtMjc5OCw2ICsyNzk5LDMyIEBAIGdmY19tYXRjaF9v bXBfY2xhdXNlcyAoZ2ZjX29tcF9jbGF1c2VzICoqY3AsIGNvbnN0IG9tcF9tYXNrIG1hc2ss CiAJICAgICAgbmVlZHNfc3BhY2UgPSB0cnVlOwogCSAgICAgIGNvbnRpbnVlOwogCSAgICB9 CisJICBpZiAoKG1hc2sgJiBPTVBfQ0xBVVNFX0lORElSRUNUKQorCSAgICAgICYmIChtID0g Z2ZjX21hdGNoX2R1cGxfY2hlY2sgKCFjLT5pbmRpcmVjdCwgImluZGlyZWN0IikpCisJCSAg IT0gTUFUQ0hfTk8pCisJICAgIHsKKwkgICAgICBpZiAobSA9PSBNQVRDSF9FUlJPUikKKwkJ Z290byBlcnJvcjsKKwkgICAgICBnZmNfZXhwciAqaW5kaXJlY3RfZXhwciA9IE5VTEw7CisJ ICAgICAgbSA9IGdmY19tYXRjaCAoIiAoICVlICkiLCAmaW5kaXJlY3RfZXhwcik7CisJICAg ICAgaWYgKG0gPT0gTUFUQ0hfWUVTKQorCQl7CisJCSAgaWYgKCFnZmNfcmVzb2x2ZV9leHBy IChpbmRpcmVjdF9leHByKQorCQkgICAgICB8fCBpbmRpcmVjdF9leHByLT50cy50eXBlICE9 IEJUX0xPR0lDQUwKKwkJICAgICAgfHwgaW5kaXJlY3RfZXhwci0+ZXhwcl90eXBlICE9IEVY UFJfQ09OU1RBTlQpCisJCSAgICB7CisJCSAgICAgIGdmY19lcnJvciAoIklORElSRUNUIGNs YXVzZSBhdCAlQyByZXF1aXJlcyBhIGNvbnN0YW50ICIKKwkJCQkgImxvZ2ljYWwgZXhwcmVz c2lvbiIpOworCQkgICAgICBnZmNfZnJlZV9leHByIChpbmRpcmVjdF9leHByKTsKKwkJICAg ICAgZ290byBlcnJvcjsKKwkJICAgIH0KKwkJICBjLT5pbmRpcmVjdCA9IGluZGlyZWN0X2V4 cHItPnZhbHVlLmxvZ2ljYWw7CisJCSAgZ2ZjX2ZyZWVfZXhwciAoaW5kaXJlY3RfZXhwcik7 CisJCX0KKwkgICAgICBlbHNlCisJCWMtPmluZGlyZWN0ID0gMTsKKwkgICAgICBjb250aW51 ZTsKKwkgICAgfQogCSAgaWYgKChtYXNrICYgT01QX0NMQVVTRV9JU19ERVZJQ0VfUFRSKQog CSAgICAgICYmIGdmY19tYXRjaF9vbXBfdmFyaWFibGVfbGlzdAogCQkgICAoImlzX2Rldmlj ZV9wdHIgKCIsCkBAIC00NDYwLDcgKzQ0ODcsNyBAQCBjbGVhbnVwOgogICAob21wX21hc2sg KE9NUF9DTEFVU0VfVEhSRUFEUykgfCBPTVBfQ0xBVVNFX1NJTUQpCiAjZGVmaW5lIE9NUF9E RUNMQVJFX1RBUkdFVF9DTEFVU0VTIFwKICAgKG9tcF9tYXNrIChPTVBfQ0xBVVNFX0VOVEVS KSB8IE9NUF9DTEFVU0VfTElOSyB8IE9NUF9DTEFVU0VfREVWSUNFX1RZUEUgXAotICAgfCBP TVBfQ0xBVVNFX1RPKQorICAgfCBPTVBfQ0xBVVNFX1RPIHwgT01QX0NMQVVTRV9JTkRJUkVD VCkKICNkZWZpbmUgT01QX0FUT01JQ19DTEFVU0VTIFwKICAgKG9tcF9tYXNrIChPTVBfQ0xB VVNFX0FUT01JQykgfCBPTVBfQ0xBVVNFX0NBUFRVUkUgfCBPTVBfQ0xBVVNFX0hJTlQJXAog ICAgfCBPTVBfQ0xBVVNFX01FTU9SREVSIHwgT01QX0NMQVVTRV9DT01QQVJFIHwgT01QX0NM QVVTRV9GQUlMIAlcCkBAIC01NTEzLDYgKzU1NDAsMTUgQEAgZ2ZjX21hdGNoX29tcF9kZWNs YXJlX3RhcmdldCAodm9pZCkKIAkJCSAgICAgICBuLT5zeW0tPm5hbWUsICZuLT53aGVyZSk7 CiAJICAgICAgbi0+c3ltLT5hdHRyLm9tcF9kZXZpY2VfdHlwZSA9IGMtPmRldmljZV90eXBl OwogCSAgICB9CisJICBpZiAoYy0+aW5kaXJlY3QpCisJICAgIHsKKwkgICAgICBpZiAobi0+ c3ltLT5hdHRyLm9tcF9kZXZpY2VfdHlwZSAhPSBPTVBfREVWSUNFX1RZUEVfVU5TRVQKKwkJ ICAmJiBuLT5zeW0tPmF0dHIub21wX2RldmljZV90eXBlICE9IE9NUF9ERVZJQ0VfVFlQRV9B TlkpCisJCWdmY19lcnJvcl9ub3cgKCJERVZJQ0VfVFlQRSBtdXN0IGJlIEFOWSB3aGVuIHVz ZWQgd2l0aCAiCisJCQkgICAgICAgIklORElSRUNUIGF0ICVMIiwgJm4tPndoZXJlKTsKKwkg ICAgICBuLT5zeW0tPmF0dHIub21wX2RlY2xhcmVfdGFyZ2V0X2luZGlyZWN0ID0gYy0+aW5k aXJlY3Q7CisJICAgIH0KKwogCSAgbi0+c3ltLT5tYXJrID0gMTsKIAl9CiAgICAgICBlbHNl IGlmIChuLT51LmNvbW1vbi0+b21wX2RlY2xhcmVfdGFyZ2V0CkBAIC01NTU4LDE1ICs1NTk0 LDIzIEBAIGdmY19tYXRjaF9vbXBfZGVjbGFyZV90YXJnZXQgKHZvaWQpCiAJCQkgICAgICAg IiBUQVJHRVQgZGlyZWN0aXZlIHRvIGEgZGlmZmVyZW50IERFVklDRV9UWVBFIiwKIAkJCSAg ICAgICBzLT5uYW1lLCAmbi0+d2hlcmUpOwogCSAgICAgIHMtPmF0dHIub21wX2RldmljZV90 eXBlID0gYy0+ZGV2aWNlX3R5cGU7CisKKwkgICAgICBpZiAoYy0+aW5kaXJlY3QKKwkJICAm JiBzLT5hdHRyLm9tcF9kZXZpY2VfdHlwZSAhPSBPTVBfREVWSUNFX1RZUEVfVU5TRVQKKwkJ ICAmJiBzLT5hdHRyLm9tcF9kZXZpY2VfdHlwZSAhPSBPTVBfREVWSUNFX1RZUEVfQU5ZKQor CQlnZmNfZXJyb3Jfbm93ICgiREVWSUNFX1RZUEUgbXVzdCBiZSBBTlkgd2hlbiB1c2VkIHdp dGggIgorCQkJICAgICAgICJJTkRJUkVDVCBhdCAlTCIsICZuLT53aGVyZSk7CisJICAgICAg cy0+YXR0ci5vbXBfZGVjbGFyZV90YXJnZXRfaW5kaXJlY3QgPSBjLT5pbmRpcmVjdDsKIAkg ICAgfQogCX0KLSAgaWYgKGMtPmRldmljZV90eXBlCisgIGlmICgoYy0+ZGV2aWNlX3R5cGUg fHwgYy0+aW5kaXJlY3QpCiAgICAgICAmJiAhYy0+bGlzdHNbT01QX0xJU1RfRU5URVJdCiAg ICAgICAmJiAhYy0+bGlzdHNbT01QX0xJU1RfVE9dCiAgICAgICAmJiAhYy0+bGlzdHNbT01Q X0xJU1RfTElOS10pCiAgICAgZ2ZjX3dhcm5pbmdfbm93IChPUFRfV29wZW5tcCwKIAkJICAg ICAiT01QIERFQ0xBUkUgVEFSR0VUIGRpcmVjdGl2ZSBhdCAlTCB3aXRoIG9ubHkgIgotCQkg ICAgICJERVZJQ0VfVFlQRSBjbGF1c2UgaXMgaWdub3JlZCIsICZvbGRfbG9jKTsKKwkJICAg ICAiREVWSUNFX1RZUEUgb3IgSU5ESVJFQ1QgY2xhdXNlcyBpcyBpZ25vcmVkIiwKKwkJICAg ICAmb2xkX2xvYyk7CiAKICAgZ2ZjX2J1ZmZlcl9lcnJvciAodHJ1ZSk7CiAKZGlmZiAtLWdp dCBhL2djYy9mb3J0cmFuL3RyYW5zLWRlY2wuY2MgYi9nY2MvZm9ydHJhbi90cmFucy1kZWNs LmNjCmluZGV4IGRlMTYyZjZjYzc1Li42ZDQ2MzAzNjk2NiAxMDA2NDQKLS0tIGEvZ2NjL2Zv cnRyYW4vdHJhbnMtZGVjbC5jYworKysgYi9nY2MvZm9ydHJhbi90cmFucy1kZWNsLmNjCkBA IC0xNTI2LDYgKzE1MjYsMTAgQEAgYWRkX2F0dHJpYnV0ZXNfdG9fZGVjbCAoc3ltYm9sX2F0 dHJpYnV0ZSBzeW1fYXR0ciwgdHJlZSBsaXN0KQogICAgIGxpc3QgPSB0cmVlX2NvbnMgKGdl dF9pZGVudGlmaWVyICgib21wIGRlY2xhcmUgdGFyZ2V0IiksCiAJCSAgICAgIGNsYXVzZXMs IGxpc3QpOwogCisgIGlmIChzeW1fYXR0ci5vbXBfZGVjbGFyZV90YXJnZXRfaW5kaXJlY3Qp CisgICAgbGlzdCA9IHRyZWVfY29ucyAoZ2V0X2lkZW50aWZpZXIgKCJvbXAgZGVjbGFyZSB0 YXJnZXQgaW5kaXJlY3QiKSwKKwkJICAgICAgY2xhdXNlcywgbGlzdCk7CisKICAgcmV0dXJu IGxpc3Q7CiB9CiAKZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZ29t cC9kZWNsYXJlLXRhcmdldC00LmY5MCBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZ29t cC9kZWNsYXJlLXRhcmdldC00LmY5MAppbmRleCA0ZjVkZTRiZDhjNy4uNTU1MzRkOGZlOTkg MTAwNjQ0Ci0tLSBhL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZ29tcC9kZWNsYXJlLXRh cmdldC00LmY5MAorKysgYi9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2dvbXAvZGVjbGFy ZS10YXJnZXQtNC5mOTAKQEAgLTIsNyArMiw3IEBACiAhIHsgZGctYWRkaXRpb25hbC1vcHRp b25zICItZmR1bXAtdHJlZS1vcmlnaW5hbCIgfQogCiBzdWJyb3V0aW5lIGYxCi0gICEkb21w IGRlY2xhcmUgdGFyZ2V0IGRldmljZV90eXBlIChhbnkpICAhIHsgZGctd2FybmluZyAiT01Q IERFQ0xBUkUgVEFSR0VUIGRpcmVjdGl2ZSBhdCAuMS4gd2l0aCBvbmx5IERFVklDRV9UWVBF IGNsYXVzZSBpcyBpZ25vcmVkIiB9CisgICEkb21wIGRlY2xhcmUgdGFyZ2V0IGRldmljZV90 eXBlIChhbnkpICAhIHsgZGctd2FybmluZyAiT01QIERFQ0xBUkUgVEFSR0VUIGRpcmVjdGl2 ZSBhdCAuMS4gd2l0aCBvbmx5IERFVklDRV9UWVBFIG9yIElORElSRUNUIGNsYXVzZXMgaXMg aWdub3JlZCIgfQogZW5kIHN1YnJvdXRpbmUKIAogc3Vicm91dGluZSBmMgpkaWZmIC0tZ2l0 IGEvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9nb21wL2RlY2xhcmUtdGFyZ2V0LWluZGly ZWN0LTEuZjkwIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9nb21wL2RlY2xhcmUtdGFy Z2V0LWluZGlyZWN0LTEuZjkwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw MDAwLi41MDRjMWEyOTgxMwotLS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUvZ2Zv cnRyYW4uZGcvZ29tcC9kZWNsYXJlLXRhcmdldC1pbmRpcmVjdC0xLmY5MApAQCAtMCwwICsx LDYyIEBACishIHsgZGctZG8gY29tcGlsZSB9CishIHsgZGctb3B0aW9ucyAiLWZvcGVubXAi IH0KKworbW9kdWxlIG0KKyAgaW50ZWdlciA6OiBhCisgIGludGVnZXIsIHBhcmFtZXRlciA6 OiBYID0gMQorICBpbnRlZ2VyLCBwYXJhbWV0ZXIgOjogWSA9IDIKKworICAhIEluZGlyZWN0 IG9uIGEgdmFyaWFibGUgc2hvdWxkIGhhdmUgbm8gZWZmZWN0LgorICBpbnRlZ2VyIDo6IHoK KyAgISRvbXAgZGVjbGFyZSB0YXJnZXQgdG8gKHopIGluZGlyZWN0Citjb250YWlucworICBz dWJyb3V0aW5lIHN1YjEKKyAgICAhJG9tcCBkZWNsYXJlIHRhcmdldCBpbmRpcmVjdCB0byAo c3ViMSkKKyAgZW5kIHN1YnJvdXRpbmUKKworICBzdWJyb3V0aW5lIHN1YjIKKyAgICAhJG9t cCBkZWNsYXJlIHRhcmdldCBlbnRlciAoc3ViMikgaW5kaXJlY3QgKC50cnVlLikKKyAgZW5k IHN1YnJvdXRpbmUKKworICBzdWJyb3V0aW5lIHN1YjMKKyAgICAhJG9tcCBkZWNsYXJlIHRh cmdldCB0byAoc3ViMykgaW5kaXJlY3QgKC5mYWxzZS4pCisgIGVuZCBzdWJyb3V0aW5lCisK KyAgc3Vicm91dGluZSBzdWI0CisgICAgISRvbXAgZGVjbGFyZSB0YXJnZXQgdG8gKHN1YjQp IGluZGlyZWN0ICgxKSAhIHsgZGctZXJyb3IgIklORElSRUNUIGNsYXVzZSBhdCAuMS4gcmVx dWlyZXMgYSBjb25zdGFudCBsb2dpY2FsIGV4cHJlc3Npb24iIH0KKyAgZW5kIHN1YnJvdXRp bmUKKworICAhIENvbXBpbGUtdGltZSBub24tY29uc3RhbnQgZXhwcmVzc2lvbnMgYXJlIG5v dCBhbGxvd2VkLgorICBzdWJyb3V0aW5lIHN1YjUKKyAgICAhJG9tcCBkZWNsYXJlIHRhcmdl dCBpbmRpcmVjdCAoYSA+IDApIHRvIChzdWI1KSAhIHsgZGctZXJyb3IgIklORElSRUNUIGNs YXVzZSBhdCAuMS4gcmVxdWlyZXMgYSBjb25zdGFudCBsb2dpY2FsIGV4cHJlc3Npb24iIH0K KyAgZW5kIHN1YnJvdXRpbmUKKworICAhIENvbXBpbGUtdGltZSBjb25zdGFudCBleHByZXNz aW9ucyBhcmUgcGVybWlzc2libGUuCisgIHN1YnJvdXRpbmUgc3ViNgorICAgICEkb21wIGRl Y2xhcmUgdGFyZ2V0IGluZGlyZWN0IChYIC5lcS4gWSkgdG8gKHN1YjYpCisgIGVuZCBzdWJy b3V0aW5lCisKKyAgc3Vicm91dGluZSBzdWI3CisgICAgISRvbXAgZGVjbGFyZSB0YXJnZXQg aW5kaXJlY3QgISB7IGRnLXdhcm5pbmcgIk9NUCBERUNMQVJFIFRBUkdFVCBkaXJlY3RpdmUg YXQgLjEuIHdpdGggb25seSBERVZJQ0VfVFlQRSBvciBJTkRJUkVDVCBjbGF1c2VzIGlzIGln bm9yZWQiIH0KKyAgZW5kIHN1YnJvdXRpbmUKKworICBzdWJyb3V0aW5lIHN1YjgKKyAgICAh JG9tcCBkZWNsYXJlIHRhcmdldCBpbmRpcmVjdCAoLnRydWUuKSBpbmRpcmVjdCAoLmZhbHNl LikgdG8gKHN1YjgpICEgeyBkZy1lcnJvciAiRHVwbGljYXRlZCAuaW5kaXJlY3QuIGNsYXVz ZSBhdCAuMS4iIH0KKyAgZW5kIHN1YnJvdXRpbmUKKworICBzdWJyb3V0aW5lIHN1YjkKKyAg ICAhJG9tcCBkZWNsYXJlIHRhcmdldCB0byAoc3ViOSkgaW5kaXJlY3QgKCJhYnMiKSAhIHsg ZGctZXJyb3IgIklORElSRUNUIGNsYXVzZSBhdCAuMS4gcmVxdWlyZXMgYSBjb25zdGFudCBs b2dpY2FsIGV4cHJlc3Npb24iIH0KKyAgZW5kIHN1YnJvdXRpbmUKKworICBzdWJyb3V0aW5l IHN1YjEwCisgICAgISRvbXAgZGVjbGFyZSB0YXJnZXQgdG8gKHN1YjEwKSBpbmRpcmVjdCAo NS41KSAhIHsgZGctZXJyb3IgIklORElSRUNUIGNsYXVzZSBhdCAuMS4gcmVxdWlyZXMgYSBj b25zdGFudCBsb2dpY2FsIGV4cHJlc3Npb24iIH0KKyAgZW5kIHN1YnJvdXRpbmUKKworICBz dWJyb3V0aW5lIHN1YjExCisgICAgISRvbXAgZGVjbGFyZSB0YXJnZXQgaW5kaXJlY3QgKC50 cnVlLikgZGV2aWNlX3R5cGUgKGhvc3QpIGVudGVyIChzdWIxMSkgISB7IGRnLWVycm9yICJE RVZJQ0VfVFlQRSBtdXN0IGJlIEFOWSB3aGVuIHVzZWQgd2l0aCBJTkRJUkVDVCBhdCAuMS4i IH0KKyAgZW5kIHN1YnJvdXRpbmUKKworICBzdWJyb3V0aW5lIHN1YjEyCisgICAgISRvbXAg ZGVjbGFyZSB0YXJnZXQgaW5kaXJlY3QgKC5mYWxzZS4pIGRldmljZV90eXBlIChub2hvc3Qp IGVudGVyIChzdWIxMikKKyAgZW5kIHN1YnJvdXRpbmUKK2VuZCBtb2R1bGUKZGlmZiAtLWdp dCBhL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZ29tcC9kZWNsYXJlLXRhcmdldC1pbmRp cmVjdC0yLmY5MCBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZ29tcC9kZWNsYXJlLXRh cmdldC1pbmRpcmVjdC0yLmY5MApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAwMC4uZjZiM2FlMTc4NTYKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2dm b3J0cmFuLmRnL2dvbXAvZGVjbGFyZS10YXJnZXQtaW5kaXJlY3QtMi5mOTAKQEAgLTAsMCAr MSwyNSBAQAorISB7IGRnLWRvIGNvbXBpbGUgfQorISB7IGRnLW9wdGlvbnMgIi1mb3Blbm1w IC1mZHVtcC10cmVlLWdpbXBsZSIgfQorCittb2R1bGUgbQorY29udGFpbnMKKyAgc3Vicm91 dGluZSBzdWIxCisgICAgISRvbXAgZGVjbGFyZSB0YXJnZXQgaW5kaXJlY3QgZW50ZXIgKHN1 YjEpCisgIGVuZCBzdWJyb3V0aW5lCisgICEgeyBkZy1maW5hbCB7IHNjYW4tdHJlZS1kdW1w ICJfX2F0dHJpYnV0ZV9fXFxcKFxcXChvbXAgZGVjbGFyZSB0YXJnZXQsIG9tcCBkZWNsYXJl IHRhcmdldCBpbmRpcmVjdFxcXClcXFwpXFxcbi4qXFxcbnZvaWQgc3ViMSIgImdpbXBsZSIg fSB9CisKKyAgc3Vicm91dGluZSBzdWIyCisgICAgISRvbXAgZGVjbGFyZSB0YXJnZXQgaW5k aXJlY3QgKC5mYWxzZS4pIHRvIChzdWIyKQorICBlbmQgc3Vicm91dGluZQorICAhIHsgZGct ZmluYWwgeyBzY2FuLXRyZWUtZHVtcCAiX19hdHRyaWJ1dGVfX1xcXChcXFwob21wIGRlY2xh cmUgdGFyZ2V0XFxcKVxcXClcXFxuLipcXFxudm9pZCBzdWIyIiAiZ2ltcGxlIiB9IH0KKwor ICBzdWJyb3V0aW5lIHN1YjMKKyAgICAhJG9tcCBkZWNsYXJlIHRhcmdldCBpbmRpcmVjdCAo LnRydWUuKSB0byAoc3ViMykKKyAgZW5kIHN1YnJvdXRpbmUKKyAgISB7IGRnLWZpbmFsIHsg c2Nhbi10cmVlLWR1bXAgIl9fYXR0cmlidXRlX19cXFwoXFxcKG9tcCBkZWNsYXJlIHRhcmdl dCwgb21wIGRlY2xhcmUgdGFyZ2V0IGluZGlyZWN0XFxcKVxcXClcXFxuLipcXFxudm9pZCBz dWIzIiAiZ2ltcGxlIiB9IH0KKworICBzdWJyb3V0aW5lIHN1YjQKKyAgICAhJG9tcCBkZWNs YXJlIHRhcmdldCBpbmRpcmVjdCAoLmZhbHNlLikgZW50ZXIgKHN1YjQpCisgIGVuZCBzdWJy b3V0aW5lCisgICEgeyBkZy1maW5hbCB7IHNjYW4tdHJlZS1kdW1wICJfX2F0dHJpYnV0ZV9f XFxcKFxcXChvbXAgZGVjbGFyZSB0YXJnZXRcXFwpXFxcKVxcXG4uKlxcXG52b2lkIHN1YjQi ICJnaW1wbGUiIH0gfQorZW5kIG1vZHVsZQpkaWZmIC0tZ2l0IGEvbGliZ29tcC90ZXN0c3Vp dGUvbGliZ29tcC5mb3J0cmFuL2RlY2xhcmUtdGFyZ2V0LWluZGlyZWN0LTEuZjkwIGIvbGli Z29tcC90ZXN0c3VpdGUvbGliZ29tcC5mb3J0cmFuL2RlY2xhcmUtdGFyZ2V0LWluZGlyZWN0 LTEuZjkwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4zOWE5MWRm Y2RjYQotLS0gL2Rldi9udWxsCisrKyBiL2xpYmdvbXAvdGVzdHN1aXRlL2xpYmdvbXAuZm9y dHJhbi9kZWNsYXJlLXRhcmdldC1pbmRpcmVjdC0xLmY5MApAQCAtMCwwICsxLDM5IEBACish IHsgZGctZG8gcnVuIH0KKworbW9kdWxlIG0KK2NvbnRhaW5zCisgIGludGVnZXIgZnVuY3Rp b24gZm9vICgpCisgICAgISRvbXAgZGVjbGFyZSB0YXJnZXQgdG8gKGZvbykgaW5kaXJlY3QK KyAgICBmb28gPSA1CisgIGVuZCBmdW5jdGlvbgorCisgIGludGVnZXIgZnVuY3Rpb24gYmFy ICgpCisgICAgISRvbXAgZGVjbGFyZSB0YXJnZXQgdG8gKGJhcikgaW5kaXJlY3QKKyAgICBi YXIgPSA4CisgIGVuZCBmdW5jdGlvbgorCisgIGludGVnZXIgZnVuY3Rpb24gYmF6ICgpCisg ICAgISRvbXAgZGVjbGFyZSB0YXJnZXQgdG8gKGJheikgaW5kaXJlY3QKKyAgICBiYXogPSAx MQorICBlbmQgZnVuY3Rpb24KK2VuZCBtb2R1bGUKKworcHJvZ3JhbSBtYWluCisgIHVzZSBt CisgIGltcGxpY2l0IG5vbmUKKworICBpbnRlZ2VyIDo6IHgsIGV4cGVjdGVkCisgIHByb2Nl ZHVyZSAoZm9vKSwgcG9pbnRlciA6OiBmb29fcHRyLCBiYXJfcHRyLCBiYXpfcHRyCisKKyAg Zm9vX3B0ciA9PiBmb28KKyAgYmFyX3B0ciA9PiBiYXIKKyAgYmF6X3B0ciA9PiBiYXoKKwor ICBleHBlY3RlZCA9IGZvbyAoKSArIGJhciAoKSArIGJheiAoKQorCisgICEkb21wIHRhcmdl dCBtYXAgKHRvOiBmb29fcHRyLCBiYXJfcHRyLCBiYXpfcHRyKSBtYXAgKGZyb206IHgpCisg ICAgeCA9IGZvb19wdHIgKCkgKyBiYXJfcHRyICgpICsgYmF6X3B0ciAoKQorICAhJG9tcCBl bmQgdGFyZ2V0CisKKyAgc3RvcCB4IC0gZXhwZWN0ZWQKK2VuZCBwcm9ncmFtCmRpZmYgLS1n aXQgYS9saWJnb21wL3Rlc3RzdWl0ZS9saWJnb21wLmZvcnRyYW4vZGVjbGFyZS10YXJnZXQt aW5kaXJlY3QtMi5mOTAgYi9saWJnb21wL3Rlc3RzdWl0ZS9saWJnb21wLmZvcnRyYW4vZGVj bGFyZS10YXJnZXQtaW5kaXJlY3QtMi5mOTAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMDAwMDAuLmQzYmFhODFkZDA3Ci0tLSAvZGV2L251bGwKKysrIGIvbGliZ29tcC90 ZXN0c3VpdGUvbGliZ29tcC5mb3J0cmFuL2RlY2xhcmUtdGFyZ2V0LWluZGlyZWN0LTIuZjkw CkBAIC0wLDAgKzEsNTMgQEAKKyEgeyBkZy1kbyBydW4gfQorCittb2R1bGUgbQorY29udGFp bnMKKyAgaW50ZWdlciBmdW5jdGlvbiBmb28gKCkKKyAgICAhJG9tcCBkZWNsYXJlIHRhcmdl dCB0byAoZm9vKSBpbmRpcmVjdAorICAgIGZvbyA9IDUKKyAgZW5kIGZ1bmN0aW9uCisKKyAg aW50ZWdlciBmdW5jdGlvbiBiYXIgKCkKKyAgICAhJG9tcCBkZWNsYXJlIHRhcmdldCB0byAo YmFyKSBpbmRpcmVjdAorICAgIGJhciA9IDgKKyAgZW5kIGZ1bmN0aW9uCisKKyAgaW50ZWdl ciBmdW5jdGlvbiBiYXogKCkKKyAgICAhJG9tcCBkZWNsYXJlIHRhcmdldCB0byAoYmF6KSBp bmRpcmVjdAorICAgIGJheiA9IDExCisgIGVuZCBmdW5jdGlvbgorZW5kIG1vZHVsZQorCitw cm9ncmFtIG1haW4KKyAgdXNlIG0KKyAgaW1wbGljaXQgbm9uZQorCisgIHR5cGUgZnAKKyAg ICBwcm9jZWR1cmUgKGZvbyksIHBvaW50ZXIsIG5vcGFzcyA6OiBmID0+IG51bGwgKCkKKyAg ZW5kIHR5cGUKKworICBpbnRlZ2VyLCBwYXJhbWV0ZXIgOjogTiA9IDI1NgorICBpbnRlZ2Vy IDo6IGksIHggPSAwLCBleHBlY3RlZCA9IDA7CisgIHR5cGUgKGZwKSA6OiBmbl9wdHIgKE4p CisKKyAgZG8gaSA9IDEsIE4KKyAgICBzZWxlY3QgY2FzZSAobW9kIChpLCAzKSkKKyAgICAg IGNhc2UgKDApCisgICAgICAgIGZuX3B0ciAoaSklZiA9PiBmb28KKyAgICAgIGNhc2UgKDEp CisgICAgICAgIGZuX3B0ciAoaSklZiA9PiBiYXIKKyAgICAgIGNhc2UgKDIpCisgICAgICAg IGZuX3B0ciAoaSklZiA9PiBiYXoKKyAgICBlbmQgc2VsZWN0CisgICAgZXhwZWN0ZWQgPSBl eHBlY3RlZCArIGZuX3B0ciAoaSklZiAoKQorICBlbmQgZG8KKworICAhJG9tcCB0YXJnZXQg dGVhbXMgZGlzdHJpYnV0ZSBwYXJhbGxlbCBkbyAmCisgICEkb21wICYgcmVkdWN0aW9uKCs6 IHgpIG1hcCAodG86IGZuX3B0cikgbWFwICh0b2Zyb206IHgpCisgICAgZG8gaSA9IDEsIE4K KyAgICAgIHggPSB4ICsgZm5fcHRyIChpKSVmICgpCisgICAgZW5kIGRvCisgICEkb21wIGVu ZCB0YXJnZXQgdGVhbXMgZGlzdHJpYnV0ZSBwYXJhbGxlbCBkbworCisgIHN0b3AgeCAtIGV4 cGVjdGVkCitlbmQgcHJvZ3JhbQpkaWZmIC0tZ2l0IGEvbGliZ29tcC90ZXN0c3VpdGUvbGli Z29tcC5mb3J0cmFuL2RlY2xhcmUtdGFyZ2V0LWluZGlyZWN0LTMuZjkwIGIvbGliZ29tcC90 ZXN0c3VpdGUvbGliZ29tcC5mb3J0cmFuL2RlY2xhcmUtdGFyZ2V0LWluZGlyZWN0LTMuZjkw Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4wMGYzM2JkMTE3MAot LS0gL2Rldi9udWxsCisrKyBiL2xpYmdvbXAvdGVzdHN1aXRlL2xpYmdvbXAuZm9ydHJhbi9k ZWNsYXJlLXRhcmdldC1pbmRpcmVjdC0zLmY5MApAQCAtMCwwICsxLDM1IEBACishIHsgZGct ZG8gcnVuIH0KKworISBDaGVjayB0aGF0IGluZGlyZWN0IGNhbGxzIHdvcmsgb24gcHJvY2Vk dXJlcyBwYXNzZWQgaW4gdmlhIGEgZHVtbXkgYXJndW1lbnQKKworbW9kdWxlIG0KKyAgaW50 ZWdlciwgcGFyYW1ldGVyIDo6IG9mZnNldCA9IDEyMworY29udGFpbnMKKyAgZnVuY3Rpb24g YmFyKHgpCisgICAgISRvbXAgZGVjbGFyZSB0YXJnZXQgZW50ZXIgKGJhcikgaW5kaXJlY3QK KyAgICBpbnRlZ2VyIDo6IGJhcgorICAgIGludGVnZXIsIGludGVudChpbikgOjogeAorICAg IGJhciA9IHggKyBvZmZzZXQKKyAgZW5kIGZ1bmN0aW9uCisKKyAgZnVuY3Rpb24gZm9vKGYs IHgpCisgICAgaW50ZWdlciA6OiBmb28KKyAgICBwcm9jZWR1cmUoYmFyKSA6OiBmCisgICAg aW50ZWdlciwgaW50ZW50KGluKSA6OiB4CisKKyAgICAhJG9tcCB0YXJnZXQgbWFwICh0bzog eCkgbWFwIChmcm9tOiBmb28pCisgICAgICBmb28gPSBmKHgpCisgICAgISRvbXAgZW5kIHRh cmdldAorICBlbmQgZnVuY3Rpb24KK2VuZCBtb2R1bGUKKworcHJvZ3JhbSBtYWluCisgIHVz ZSBtCisgIGltcGxpY2l0IG5vbmUKKworICBpbnRlZ2VyIDo6IGEgPSAzMjEKKyAgaW50ZWdl ciA6OiBiCisKKyAgYiA9IGZvbyhiYXIsIGEpCisgIHN0b3AgYiAtIChhICsgb2Zmc2V0KQor ZW5kIHByb2dyYW0KLS0gCjIuMzQuMQoK --------------WIQBJm3Kn8ySbsGRDsyTaaBi--