From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.6 required=3.0 tests=DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 66216C19759 for ; Thu, 1 Aug 2019 12:05:53 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 3AAB020644 for ; Thu, 1 Aug 2019 12:05:53 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="cfZ/g1qG" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 3AAB020644 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1ht9pz-0002LF-03; Thu, 01 Aug 2019 12:05:38 +0000 Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1ht9py-0002L7-16 for xen-devel@lists.xenproject.org; Thu, 01 Aug 2019 12:05:38 +0000 X-Inumbo-ID: ab7185bd-b454-11e9-8980-bc764e045a96 Received: from mail-lj1-x241.google.com (unknown [2a00:1450:4864:20::241]) by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS id ab7185bd-b454-11e9-8980-bc764e045a96; Thu, 01 Aug 2019 12:05:36 +0000 (UTC) Received: by mail-lj1-x241.google.com with SMTP id v18so69065334ljh.6 for ; Thu, 01 Aug 2019 05:05:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=HuOjIzz1M8CEnJZd66BCEfSyypiUYI4PIF63pd0WSRw=; b=cfZ/g1qG4Qr0oprxD0SbN1DvE2YhkFbAqSzhpVXhwS98Dfmqn/3NtwPdkd+S71BWPr fCjWJ+qMGbLjg9vSeJswf3OiMJCxRw9u5YefHIT7uwUaY3TGqlttkzxDlLF0e8y+9FdQ jzu8abcFF+vm2G2IqyVgJrDEiphdxzvyBvr06Lq1ftK/CXG+Fy0w+o0emRO7W9Psk+RE EEoM66GEIcXoEsfdWJzrxqQCrmfNq3LUJGkmH4LYNGjLPF5diQQ1+sEWmuEAJqyDPFjY z8oxi1Gny4IlyMDIm1Bq0muK8K1Wwi+DmfxiwybQ6xejwMekfAguzfhkuHyjAMU53WsH /HpA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=HuOjIzz1M8CEnJZd66BCEfSyypiUYI4PIF63pd0WSRw=; b=nQcrdT2W0+7sBSXnOHfjH8/9dF1TMbYhzqphAXC+NtfsDWT7D0GGYRGv3DkEnZUy06 z1rH2S5g241WW4nPSEm21XMfD/iVpmEQzvtVxhAqoNgapzF5z88Y4k4WZdzhrFBSQI7g QOT84UvtvLdUfRBvZdm7Mlz53vTGv9prSLtikOTpsFyd39zszOnqbgTEW3whnnIULc8y F97tW2Fm9HhdW+xhWKfh/Yo9L4qjdXlC419vZrSLKoP6kWYUr4vYMhDWfA4wQo+gCrQx E5j7nCQS0XrnWc9tzplpxYL0slewckckg2cjj8wA9wdSFxiBj5J79AO/abCIuXMsLBuI FonQ== X-Gm-Message-State: APjAAAUNKt0/V0XBsPYuUbC2ihAqyulh+/049JbIEJPpWV9sSYl0tN99 AeR2yWP2M+3/zOSHAMkb2wBQpo7LXGU= X-Google-Smtp-Source: APXvYqyYcDYPRlVZEYU0m8x2hQZ3JSqNxDClQgL9fg9y94Hhf3Ib59jX/Hw9ihPDg2YT7TenLRnRpA== X-Received: by 2002:a2e:8ed2:: with SMTP id e18mr26301962ljl.235.1564661135137; Thu, 01 Aug 2019 05:05:35 -0700 (PDT) Received: from 3489.kyiv.epam.com (ll-22.209.223.85.sovam.net.ua. [85.223.209.22]) by smtp.gmail.com with ESMTPSA id u18sm12147150lfe.65.2019.08.01.05.05.34 (version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256); Thu, 01 Aug 2019 05:05:34 -0700 (PDT) From: Viktor Mitin To: xen-devel@lists.xenproject.org Date: Thu, 1 Aug 2019 15:04:52 +0300 Message-Id: <20190801120452.6814-3-viktor.mitin.19@gmail.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20190801120452.6814-1-viktor.mitin.19@gmail.com> References: <20190801120452.6814-1-viktor.mitin.19@gmail.com> Subject: [Xen-devel] [PATCH v5 2/2] xen/arm: consolidate make_timer_node and make_timer_domU_node X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: Volodymyr Babchuk , Julien Grall , Stefano Stabellini , Viktor Mitin , Viktor Mitin MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" RnVuY3Rpb25zIG1ha2VfdGltZXJfbm9kZSBhbmQgbWFrZV90aW1lcl9kb21VX25vZGUgYXJlIHF1 aXRlIHNpbWlsYXIuClNvIGl0IGlzIGJldHRlciB0byBjb25zb2xpZGF0ZSB0aGVtIHRvIGF2b2lk IGRpc2NyZXBhbmN5LgpUaGUgbWFpbiBkaWZmZXJlbmNlIGJldHdlZW4gdGhlIGZ1bmN0aW9ucyBp cyB0aGUgdGltZXIgaW50ZXJydXB0cyB1c2VkLgoKS2VlcCB0aGUgZG9tVSB2ZXJzaW9uIGZvciB0 aGUgY29tcGF0aWJsZSBhcyBpdCBpcyBzaW1wbGVyLgpNZWFuIGRvIG5vdCBjb3B5IHBsYXRmb3Jt J3MgJ2NvbXBhdGlibGUnIHByb3BlcnR5IGludG8gaHdkb20KZGV2aWNlIHRyZWUsIGluc3RlYWQg c2V0IGVpdGhlciBhcm0sYXJtdjctdGltZXIgb3IgYXJtLGFybXY4LXRpbWVyLApkZXBlbmRpbmcg b24gdGhlIHBsYXRmb3JtIHR5cGUuCgpLZWVwIHRoZSBodyB2ZXJzaW9uIGZvciB0aGUgY2xvY2sg YXMgaXQgaXMgcmVsZXZhbnQgZm9yIHRoZSBib3RoIGNhc2VzLgoKVGhlIG5ldyBmdW5jdGlvbiBo YXMgY2hhbmdlZCBwcm90b3R5cGUgZHVlIHRvIGZkdF9wcm9wZXJ0eV9pbnRlcnJ1cHRzCiAgbWFr ZV90aW1lcl9ub2RlKGNvbnN0IHN0cnVjdCBrZXJuZWxfaW5mbyAqa2luZm8pCgpTdWdnZXN0ZWQt Ynk6IEp1bGllbiBHcmFsbCA8anVsaWVuLmdyYWxsQGFybS5jb20+ClNpZ25lZC1vZmYtYnk6IFZp a3RvciBNaXRpbiA8dmlrdG9yX21pdGluQGVwYW0uY29tPgotLS0KdjQgdXBkYXRlczoKICAgdXBk YXRlZCAiS2VlcCB0aGUgZG9tVSB2ZXJzaW9uIGZvciB0aGUgY29tcGF0aWJsZSBhcyBpdCBpcyBz aW1wbGVyIgoKdjUgdXBkYXRlczoKICAgIC0gY2hhbmdlZCAna2VwdCcgdG8gJ2tlZXAnLCBldGMu CiAgICAtIHJlbW92ZWQgZW1wdHkgbGluZQogICAgLSB1cGRhdGVkIGluZGVudGF0aW9uIG9mIHBh cmFtZXRlcnMgaW4gZnVuY3Rpb25zIGNhbGxzCiAgICAtIGZpeGVkIE5JVHMKICAgIC0gdXBkYXRl ZCBjb21taXQgbWVzc2FnZQotLS0KIHhlbi9hcmNoL2FybS9kb21haW5fYnVpbGQuYyB8IDEwNiAr KysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAzOSBp bnNlcnRpb25zKCspLCA2NyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0v ZG9tYWluX2J1aWxkLmMgYi94ZW4vYXJjaC9hcm0vZG9tYWluX2J1aWxkLmMKaW5kZXggYmM3ZDE3 ZGQyYy4uNTg1NDIxMzBjYSAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL2RvbWFpbl9idWlsZC5j CisrKyBiL3hlbi9hcmNoL2FybS9kb21haW5fYnVpbGQuYwpAQCAtOTczLDEwICs5NzMsOCBAQCBz dGF0aWMgaW50IF9faW5pdCBtYWtlX3RpbWVyX25vZGUoY29uc3Qgc3RydWN0IGtlcm5lbF9pbmZv ICpraW5mbykKICAgICAgICAgeyAvKiBzZW50aW5lbCAqLyB9LAogICAgIH07CiAgICAgc3RydWN0 IGR0X2RldmljZV9ub2RlICpkZXY7Ci0gICAgdTMyIGxlbjsKLSAgICBjb25zdCB2b2lkICpjb21w YXRpYmxlOwogICAgIGludCByZXM7Ci0gICAgdW5zaWduZWQgaW50IGlycTsKKyAgICB1bnNpZ25l ZCBpbnQgaXJxW01BWF9USU1FUl9QUEldOwogICAgIGdpY19pbnRlcnJ1cHRfdCBpbnRyc1szXTsK ICAgICB1MzIgY2xvY2tfZnJlcXVlbmN5OwogICAgIGJvb2wgY2xvY2tfdmFsaWQ7CkBAIC05OTAs MzUgKzk4OCw0OSBAQCBzdGF0aWMgaW50IF9faW5pdCBtYWtlX3RpbWVyX25vZGUoY29uc3Qgc3Ry dWN0IGtlcm5lbF9pbmZvICpraW5mbykKICAgICAgICAgcmV0dXJuIC1GRFRfRVJSX1hFTihFTk9F TlQpOwogICAgIH0KIAotICAgIGNvbXBhdGlibGUgPSBkdF9nZXRfcHJvcGVydHkoZGV2LCAiY29t cGF0aWJsZSIsICZsZW4pOwotICAgIGlmICggIWNvbXBhdGlibGUgKQotICAgIHsKLSAgICAgICAg ZHByaW50ayhYRU5MT0dfRVJSLCAiQ2FuJ3QgZmluZCBjb21wYXRpYmxlIHByb3BlcnR5IGZvciB0 aW1lciBub2RlXG4iKTsKLSAgICAgICAgcmV0dXJuIC1GRFRfRVJSX1hFTihFTk9FTlQpOwotICAg IH0KLQogICAgIHJlcyA9IGZkdF9iZWdpbl9ub2RlKGZkdCwgInRpbWVyIik7CiAgICAgaWYgKCBy ZXMgKQogICAgICAgICByZXR1cm4gcmVzOwogCi0gICAgcmVzID0gZmR0X3Byb3BlcnR5KGZkdCwg ImNvbXBhdGlibGUiLCBjb21wYXRpYmxlLCBsZW4pOwotICAgIGlmICggcmVzICkKLSAgICAgICAg cmV0dXJuIHJlczsKLQotICAgIC8qIFRoZSB0aW1lciBJUlEgaXMgZW11bGF0ZWQgYnkgWGVuLiBJ dCBhbHdheXMgZXhwb3NlcyBhbiBhY3RpdmUtbG93Ci0gICAgICogbGV2ZWwtc2Vuc2l0aXZlIGlu dGVycnVwdCAqLwotCi0gICAgaXJxID0gdGltZXJfZ2V0X2lycShUSU1FUl9QSFlTX1NFQ1VSRV9Q UEkpOwotICAgIGR0X2RwcmludGsoIiAgU2VjdXJlIGludGVycnVwdCAldVxuIiwgaXJxKTsKLSAg ICBzZXRfaW50ZXJydXB0KGludHJzWzBdLCBpcnEsIDB4ZiwgRFRfSVJRX1RZUEVfTEVWRUxfTE9X KTsKKyAgICBpZiAoICFpc182NGJpdF9kb21haW4oa2luZm8tPmQpICkKKyAgICB7CisgICAgICAg IHJlcyA9IGZkdF9wcm9wZXJ0eV9zdHJpbmcoZmR0LCAiY29tcGF0aWJsZSIsICJhcm0sYXJtdjct dGltZXIiKTsKKyAgICAgICAgaWYgKCByZXMgKQorICAgICAgICAgICAgcmV0dXJuIHJlczsKKyAg ICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgcmVzID0gZmR0X3Byb3BlcnR5X3N0cmluZyhm ZHQsICJjb21wYXRpYmxlIiwgImFybSxhcm12OC10aW1lciIpOworICAgICAgICBpZiAoIHJlcyAp CisgICAgICAgICAgICByZXR1cm4gcmVzOworICAgIH0KIAotICAgIGlycSA9IHRpbWVyX2dldF9p cnEoVElNRVJfUEhZU19OT05TRUNVUkVfUFBJKTsKLSAgICBkdF9kcHJpbnRrKCIgIE5vbiBzZWN1 cmUgaW50ZXJydXB0ICV1XG4iLCBpcnEpOwotICAgIHNldF9pbnRlcnJ1cHQoaW50cnNbMV0sIGly cSwgMHhmLCBEVF9JUlFfVFlQRV9MRVZFTF9MT1cpOworICAgIC8qCisgICAgICogVGhlIHRpbWVy IElSUSBpcyBlbXVsYXRlZCBieSBYZW4uCisgICAgICogSXQgYWx3YXlzIGV4cG9zZXMgYW4gYWN0 aXZlLWxvdyBsZXZlbC1zZW5zaXRpdmUgaW50ZXJydXB0CisgICAgICovCiAKLSAgICBpcnEgPSB0 aW1lcl9nZXRfaXJxKFRJTUVSX1ZJUlRfUFBJKTsKLSAgICBkdF9kcHJpbnRrKCIgIFZpcnQgaW50 ZXJydXB0ICV1XG4iLCBpcnEpOwotICAgIHNldF9pbnRlcnJ1cHQoaW50cnNbMl0sIGlycSwgMHhm LCBEVF9JUlFfVFlQRV9MRVZFTF9MT1cpOworICAgIGlmICggaXNfaGFyZHdhcmVfZG9tYWluKGtp bmZvLT5kKSApCisgICAgeworICAgICAgICBpcnFbVElNRVJfUEhZU19TRUNVUkVfUFBJXSA9IHRp bWVyX2dldF9pcnEoVElNRVJfUEhZU19TRUNVUkVfUFBJKTsKKyAgICAgICAgaXJxW1RJTUVSX1BI WVNfTk9OU0VDVVJFX1BQSV0gPQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg dGltZXJfZ2V0X2lycShUSU1FUl9QSFlTX05PTlNFQ1VSRV9QUEkpOworICAgICAgICBpcnFbVElN RVJfVklSVF9QUEldID0gdGltZXJfZ2V0X2lycShUSU1FUl9WSVJUX1BQSSk7CisgICAgfQorICAg IGVsc2UKKyAgICB7CisgICAgICAgIGlycVtUSU1FUl9QSFlTX1NFQ1VSRV9QUEldID0gR1VFU1Rf VElNRVJfUEhZU19TX1BQSTsKKyAgICAgICAgaXJxW1RJTUVSX1BIWVNfTk9OU0VDVVJFX1BQSV0g PSBHVUVTVF9USU1FUl9QSFlTX05TX1BQSTsKKyAgICAgICAgaXJxW1RJTUVSX1ZJUlRfUFBJXSA9 IEdVRVNUX1RJTUVSX1ZJUlRfUFBJOworICAgIH0KKyAgICBkdF9kcHJpbnRrKCIgIFNlY3VyZSBp bnRlcnJ1cHQgJXVcbiIsIGlycVtUSU1FUl9QSFlTX1NFQ1VSRV9QUEldKTsKKyAgICBzZXRfaW50 ZXJydXB0KGludHJzWzBdLCBpcnFbVElNRVJfUEhZU19TRUNVUkVfUFBJXSwKKyAgICAgICAgICAg ICAgICAgIDB4ZiwgRFRfSVJRX1RZUEVfTEVWRUxfTE9XKTsKKyAgICBkdF9kcHJpbnRrKCIgIE5v biBzZWN1cmUgaW50ZXJydXB0ICV1XG4iLCBpcnFbVElNRVJfUEhZU19OT05TRUNVUkVfUFBJXSk7 CisgICAgc2V0X2ludGVycnVwdChpbnRyc1sxXSwgaXJxW1RJTUVSX1BIWVNfTk9OU0VDVVJFX1BQ SV0sCisgICAgICAgICAgICAgICAgICAweGYsIERUX0lSUV9UWVBFX0xFVkVMX0xPVyk7CisgICAg ZHRfZHByaW50aygiICBWaXJ0IGludGVycnVwdCAldVxuIiwgaXJxW1RJTUVSX1ZJUlRfUFBJXSk7 CisgICAgc2V0X2ludGVycnVwdChpbnRyc1syXSwgaXJxW1RJTUVSX1ZJUlRfUFBJXSwgMHhmLCBE VF9JUlFfVFlQRV9MRVZFTF9MT1cpOwogCiAgICAgcmVzID0gZmR0X3Byb3BlcnR5X2ludGVycnVw dHMoa2luZm8sIGludHJzLCAzKTsKICAgICBpZiAoIHJlcyApCkBAIC0xNjAzLDQ2ICsxNjE1LDYg QEAgc3RhdGljIGludCBfX2luaXQgbWFrZV9naWNfZG9tVV9ub2RlKGNvbnN0IHN0cnVjdCBkb21h aW4gKmQsIHZvaWQgKmZkdCkKICAgICB9CiB9CiAKLXN0YXRpYyBpbnQgX19pbml0IG1ha2VfdGlt ZXJfZG9tVV9ub2RlKGNvbnN0IHN0cnVjdCBkb21haW4gKmQsIHZvaWQgKmZkdCkKLXsKLSAgICBp bnQgcmVzOwotICAgIGdpY19pbnRlcnJ1cHRfdCBpbnRyc1szXTsKLQotICAgIHJlcyA9IGZkdF9i ZWdpbl9ub2RlKGZkdCwgInRpbWVyIik7Ci0gICAgaWYgKCByZXMgKQotICAgICAgICByZXR1cm4g cmVzOwotCi0gICAgaWYgKCAhaXNfNjRiaXRfZG9tYWluKGQpICkKLSAgICB7Ci0gICAgICAgIHJl cyA9IGZkdF9wcm9wZXJ0eV9zdHJpbmcoZmR0LCAiY29tcGF0aWJsZSIsICJhcm0sYXJtdjctdGlt ZXIiKTsKLSAgICAgICAgaWYgKCByZXMgKQotICAgICAgICAgICAgcmV0dXJuIHJlczsKLSAgICB9 Ci0gICAgZWxzZQotICAgIHsKLSAgICAgICAgcmVzID0gZmR0X3Byb3BlcnR5X3N0cmluZyhmZHQs ICJjb21wYXRpYmxlIiwgImFybSxhcm12OC10aW1lciIpOwotICAgICAgICBpZiAoIHJlcyApCi0g ICAgICAgICAgICByZXR1cm4gcmVzOwotICAgIH0KLQotICAgIHNldF9pbnRlcnJ1cHQoaW50cnNb MF0sIEdVRVNUX1RJTUVSX1BIWVNfU19QUEksIDB4ZiwgRFRfSVJRX1RZUEVfTEVWRUxfTE9XKTsK LSAgICBzZXRfaW50ZXJydXB0KGludHJzWzFdLCBHVUVTVF9USU1FUl9QSFlTX05TX1BQSSwgMHhm LCBEVF9JUlFfVFlQRV9MRVZFTF9MT1cpOwotICAgIHNldF9pbnRlcnJ1cHQoaW50cnNbMl0sIEdV RVNUX1RJTUVSX1ZJUlRfUFBJLCAweGYsIERUX0lSUV9UWVBFX0xFVkVMX0xPVyk7Ci0KLSAgICBy ZXMgPSBmZHRfcHJvcGVydHkoZmR0LCAiaW50ZXJydXB0cyIsIGludHJzLCBzaXplb2YgKGludHJz WzBdKSAqIDMpOwotICAgIGlmICggcmVzICkKLSAgICAgICAgcmV0dXJuIHJlczsKLQotICAgIHJl cyA9IGZkdF9wcm9wZXJ0eV9jZWxsKGZkdCwgImludGVycnVwdC1wYXJlbnQiLAotICAgICAgICAg ICAgICAgICAgICAgICAgICAgIEdVRVNUX1BIQU5ETEVfR0lDKTsKLSAgICBpZiAocmVzKQotICAg ICAgICByZXR1cm4gcmVzOwotCi0gICAgcmVzID0gZmR0X2VuZF9ub2RlKGZkdCk7Ci0KLSAgICBy ZXR1cm4gcmVzOwotfQotCiAjaWZkZWYgQ09ORklHX1NCU0FfVlVBUlRfQ09OU09MRQogc3RhdGlj IGludCBfX2luaXQgbWFrZV92cGwwMTFfdWFydF9ub2RlKGNvbnN0IHN0cnVjdCBkb21haW4gKmQs IHZvaWQgKmZkdCkKIHsKQEAgLTE3NDgsNyArMTcyMCw3IEBAIHN0YXRpYyBpbnQgX19pbml0IHBy ZXBhcmVfZHRiX2RvbVUoc3RydWN0IGRvbWFpbiAqZCwgc3RydWN0IGtlcm5lbF9pbmZvICpraW5m bykKICAgICBpZiAoIHJldCApCiAgICAgICAgIGdvdG8gZXJyOwogCi0gICAgcmV0ID0gbWFrZV90 aW1lcl9kb21VX25vZGUoZCwga2luZm8tPmZkdCk7CisgICAgcmV0ID0gbWFrZV90aW1lcl9ub2Rl KGtpbmZvKTsKICAgICBpZiAoIHJldCApCiAgICAgICAgIGdvdG8gZXJyOwogCi0tIAoyLjE3LjEK CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2 ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xp c3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs