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 Received: from picard.linux.it (picard.linux.it [213.254.12.146]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 0A0DFC0218B for ; Tue, 21 Jan 2025 13:12:50 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=lists.linux.it; i=@lists.linux.it; q=dns/txt; s=picard; t=1737465169; h=message-id : date : mime-version : to : references : in-reply-to : subject : list-id : list-unsubscribe : list-archive : list-post : list-help : list-subscribe : from : reply-to : content-transfer-encoding : content-type : sender : from; bh=M1bftuVPEETHkyTkP8zVwQMAjQybGWMKD2mBeAUcnGg=; b=h/DXZSyqLxfKlOVYVB65aiL06doVW47FoSFjEC8I8tbH3ASjEYh7akkxNuQly37i3+6Ae AKhYaIfb6uiB5jUORoGd+H8ozAF/k4pfWAHq8sZM1NNdPWCg+MkCdTZusplWTja59P6sVO+ SfAfFRcxoBFT0t1vGp1CylgHFXKf8cc= Received: from picard.linux.it (localhost [IPv6:::1]) by picard.linux.it (Postfix) with ESMTP id 56EC23C2752 for ; Tue, 21 Jan 2025 14:12:49 +0100 (CET) Received: from in-4.smtp.seeweb.it (in-4.smtp.seeweb.it [IPv6:2001:4b78:1:20::4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1)) (No client certificate requested) by picard.linux.it (Postfix) with ESMTPS id 0BD5E3C0254 for ; Tue, 21 Jan 2025 14:12:27 +0100 (CET) Received: from mail-wm1-x32e.google.com (mail-wm1-x32e.google.com [IPv6:2a00:1450:4864:20::32e]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by in-4.smtp.seeweb.it (Postfix) with ESMTPS id B45181037B69 for ; Tue, 21 Jan 2025 14:12:26 +0100 (CET) Received: by mail-wm1-x32e.google.com with SMTP id 5b1f17b1804b1-438a3216fc2so28402135e9.1 for ; Tue, 21 Jan 2025 05:12:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1737465146; x=1738069946; darn=lists.linux.it; h=content-transfer-encoding:in-reply-to:from:content-language :references:to:subject:user-agent:mime-version:date:message-id:from :to:cc:subject:date:message-id:reply-to; bh=l2MKL6Fu5rhqTXgGqDVKca1xGngmwXXOLYN2yMOw5lU=; b=XauwSbb+H5t/NksUOob8t2DUYhKLH7xARZW2YXirAku3nSquFdsoBblTNZp5TCg/OJ hi0PK69biHY77lz5H6LG7+a6jb/YDkpC1dEm/SGOfoi5TRxytaPX939Qvm2JwzWpwb6e beNZLZvGiYAMtddWtrM+3rzahD4mS5ukOgAAIDW4mrCao6isM+vQtvkvc6sR2pL4S9yr UcCpgpbCJmg/kGHhd+8dsNEy92k6B1Dm6rp6y2sBLXRatx9Y2F1XHsKNtjuNAvT7Objv OqaZxOz/1tZmDB81dDbHqAN1BtQA1nWyDUoRSxYuC+pumSdWeBHVPS6nXOYF1KXsoDV6 Hq+A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1737465146; x=1738069946; h=content-transfer-encoding:in-reply-to:from:content-language :references:to:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=l2MKL6Fu5rhqTXgGqDVKca1xGngmwXXOLYN2yMOw5lU=; b=wSqAgoRjAVuCqBdx21w3nUz2vQnp9JNpsrO1OBG9pMV9WCsx9ATK7YvJSJdYPO0iVC 9oVjTHwDiu928R0E2xDH8Ix9/jgfTqDDP3ec7al7Uq+6qlQYuGuDDkWib7ROeB3AoO09 4iIvXRbsaxi+pCXtKi2XTAAYWSTiejrSsuyVmAi2ef2julVCKKtE6GeewbmB8geqqWsA fPrFapxAGKRac0BY3yFgo0IxLUKpoT1Slra/J6SbwJNt8+BlRtqv3CkQQtWPdc5zXDsK NKMnO+y7o4r6GCbPxmTj8V8XchUAfkgHLdD4ujanh/IaOBID5GCMvBkM5E6vlU9aENzf Fgxw== X-Forwarded-Encrypted: i=1; AJvYcCWJrfV7NUEqFIun5c2HT1cO02pBZeyzMc7zYKrx9xZ4s/V2j1dRMtp362OmUxo9T67dAzI=@lists.linux.it X-Gm-Message-State: AOJu0YzTKMtXr1FbRxD+AsFCwE/UR0mH84RhsehQbRuma8Avx+NqmstW s/4oMbjxHAs4jjDrBawW2lq+UsPGdWAxZ/KLDhwIPzA3utSua+1Bjm1bcOf0t9zHTQJteCzxDSn PrkbO2A== X-Gm-Gg: ASbGncu2EUtDkoFABjLkWFxy2fiPLoMSllaE2bRgJy0mmM3a9vV2pOqJgCBNeESEfVm 2ZuVfBDDC8KzlV+ztzXdPGQsMeJkjywxBDZ3II2gzSL784cayHDCJzjoS+lY4tCXQgNFso//EEH pKnv64nFaeeRF5HrMalHSvjMwdgN36tPQ8g2623Rooy+xhaRRz7S2t2+LY5PD+Cr07MkMpXwRiU qGfRNhw0WAWbR5PIByObfeUnyLOHx5eZF0U7fH6/je3ttXXKd8Fh7QVtvKDuniFqZoxCXlXAwQw YrqrOnkf9bjbZeL9GvJL5PBHrxF5RKHzZ8goOoOQtFWMchsrWALC X-Google-Smtp-Source: AGHT+IHCWwOwCObs3r0Xlh2vA8AgHISK+0cppMt4rQu739xlMOzHAqkbUyRBvkOBX7/VaxNoTlArxQ== X-Received: by 2002:a05:600c:c87:b0:434:ff30:a159 with SMTP id 5b1f17b1804b1-438912d54b1mr180911255e9.0.1737465146078; Tue, 21 Jan 2025 05:12:26 -0800 (PST) Received: from ?IPV6:2a02:a31b:84a1:b780:5af0:a75d:357e:866e? ([2a02:a31b:84a1:b780:5af0:a75d:357e:866e]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-437c74ac604sm237753005e9.13.2025.01.21.05.12.25 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 21 Jan 2025 05:12:25 -0800 (PST) Message-ID: <79aba4cf-e564-4cde-8433-d292b31616e4@suse.com> Date: Tue, 21 Jan 2025 14:12:23 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird To: Cyril Hrubis , ltp@lists.linux.it References: <20250121123444.5380-1-chrubis@suse.cz> <20250121123444.5380-2-chrubis@suse.cz> Content-Language: en-US In-Reply-To: <20250121123444.5380-2-chrubis@suse.cz> X-Virus-Scanned: clamav-milter 1.0.3 at in-4.smtp.seeweb.it X-Virus-Status: Clean Subject: Re: [LTP] [PATCH 1/2] scripts: Add simple script for calculating timeouts X-BeenThere: ltp@lists.linux.it X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux Test Project List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Andrea Cervesato via ltp Reply-To: Andrea Cervesato Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: ltp-bounces+ltp=archiver.kernel.org@lists.linux.it Sender: "ltp" SGkhCgpJIGxpa2UgdGhlIGdlbmVyYWwgaWRlYSwgYSBjb3VwbGUgb2YgY29tbWVudHMgb24gdGhl IHB5dGhvbiBjb2RlLgoKT24gMS8yMS8yNSAxMzozNCwgQ3lyaWwgSHJ1YmlzIHdyb3RlOgo+IFRo aXMgc2NyaXB0IHBhcnNlcyBKU09OIHJlc3VsdHMgZnJvbSBraXJrIGFuZCBMVFAgbWV0YWRhdGEg aW4gb3JkZXIKPiBjYWxjdWxhdGUgdGltZW91dHMgZm9yIHRlc3RzIGJhc2VkIG9uIHRoZSByZXN1 bHQgZmlsZSBhbmQgY2FuIGV2ZW4gcGF0Y2gKPiB0ZXN0cyBhdXRvbWF0aWNhbGx5Lgo+Cj4gVGhl IHNjcmlwdCBkb2VzOgo+Cj4gLSBUYWtlIHRoZSByZXN1bHRzIGFuZCBwaWNrIGFsbCB0ZXN0cyB0 aGF0IHJ1biBmb3IgbG9uZ2VyIHRoYW4gMC41cy4KPiAgICBNdWx0aXBsaWVzIHRoZSB0aW1lIHdp dGggYSBjb25zdGFudCAoY3VycmVudGx5IDEuMikgdG8gZ2V0IGEgc3VnZ2VzdGVkCj4gICAgdGlt ZW91dC4KPgo+IC0gRXhjbHVkZSB0ZXN0cyB0aGF0IGhhdmUgcnVudGltZSBkZWZpbmVkIHNpbmNl IHRoZXNlIGFyZSBjb250cm9sbGVyCj4gICAgYnkgdGhlIHJ1bnRpbWUgKHRoYXQgZmlsdGVycyBv dXQgYWxsIGZ1enp5IHN5bmMgdGVzdHMpLgo+Cj4gICAgVGhlcmUgaXMgYSBzcGVjaWFsIGNhc2Ug Zm9yIHRpbWVyIHRlc3RzIHRoYXQgZGVmaW5lIHJ1bnRpbWUgb25seQo+ICAgIGR5bmFtaWNhbGx5 IGluIHRoZSB0aW1lciBsaWJyYXJ5IGNvZGUuIFRoaXMgc2hvdWxkIGJlIHBvc3NpYmx5IGZpeGVk Cj4gICAgd2l0aCBzcGVjaWFsIHZhbHVlIGZvciB0aGUgLnJ1bnRpbWUgaW4gdHN0X3Rlc3QuIEUu Zy4KPiAgICBUU1RfUlVOVElNRV9EWU5BTUlDIGZvciB0ZXN0cyB0aGF0IG9ubHkgc2V0IHJ1bnRp bWUgaW4gdGhlIHNldHVwLgo+Cj4gLSBOb3JtYWxpemUgdGhlIHRpbWVvdXQgcGVyIGEgc2luZ2xl IGZpbGVzeXN0ZW0gcnVuIGlmIHRlc3QgaXMgcnVubmluZyBmb3IKPiAgICBtb3JlIHRoYW4gb25l IGZpbGVzeXN0ZW0uCj4KPiAtIFRlc3RzIHRoYXQgZG8gbm90IGhhdmUgYSBtZXRhZGF0YSByZWNv cmQgYXJlIG9sZCBsaWJyYXJ5IHRlc3RzIHdoaWNoCj4gICAgd2hpY2ggY2Fubm90IGJlIHBhdGNo ZWQgYnV0IGFyZSBwcmludGVkIGluIGEgc2VwYXJhdGUgdGFibGUgaWYgd2UKPiAgICByZXF1ZXN0 IGEgdGFibGUgdG8gYmUgcHJpbnRlZC4KPgo+IC0gSWYgcGF0Y2hpbmcgb3B0aW9uIGlzIHNlbGVj dGVkIHRlc3RzIGFyZSB1cGRhdGUgd2l0aCBuZXdseSBjYWxjdWxhdGVkCj4gICAgdGltZW91dC4g QnkgZGVmYXVsdCB3ZSBvbmx5IGluY3JlYXNlIHRpbWVvdXRzIGJ1dCB0aGF0IGNhbiBiZQo+ICAg IG92ZXJyaWRlZCB3aXRoIHRoZSAtbyBvcHRpb24uCj4KPiBTaWduZWQtb2ZmLWJ5OiBDeXJpbCBI cnViaXMgPGNocnViaXNAc3VzZS5jej4KPiAtLS0KPiAgIHNjcmlwdHMvY2FsY190aW1lb3V0cy5w eSB8IDEzMyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKPiAgIDEgZmls ZSBjaGFuZ2VkLCAxMzMgaW5zZXJ0aW9ucygrKQo+ICAgY3JlYXRlIG1vZGUgMTAwNzU1IHNjcmlw dHMvY2FsY190aW1lb3V0cy5weQo+Cj4gZGlmZiAtLWdpdCBhL3NjcmlwdHMvY2FsY190aW1lb3V0 cy5weSBiL3NjcmlwdHMvY2FsY190aW1lb3V0cy5weQo+IG5ldyBmaWxlIG1vZGUgMTAwNzU1Cj4g aW5kZXggMDAwMDAwMDAwLi5jNjlhYjhmNTcKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvc2NyaXB0 cy9jYWxjX3RpbWVvdXRzLnB5Cj4gQEAgLTAsMCArMSwxMzMgQEAKPiArIyEvdXNyL2Jpbi9weXRo b24KPiAraW1wb3J0IHJlCj4gK2ltcG9ydCBqc29uCj4gK2ltcG9ydCBnZXRvcHQKPiAraW1wb3J0 IHN5cwo+ICtmcm9tIG9zIGltcG9ydCBzeXN0ZW0KPiArCj4gKyMgVG9wIGxldmVsIGRpcmVjdG9y eSBwYXRoCj4gK3RvcF9kaXIgPSAnLi4vJwpCZXR0ZXIgdG8gcGFzcyB0aGlzIGZvbGRlciB0byB0 aGUgc2NyaXB0IHVzaW5nIHBhcmFtZXRlcnMsIGFsc28gYmVjYXVzZSAKbWV0YWRhdGEgY2FuIGJl IGZvdW5kIGluIHRoZSBpbnN0YWxsIGZvbGRlciBhcyB3ZWxsLgo+ICsKPiArIyBUaGUgdGVzdCBy dW50aW1lIGlzIG11bHRpcGxpZWQgYnkgdGhpcyB0byBnZXQgYSB0aW1lb3V0Cj4gK3RpbWVvdXRf bXVsID0gMS4yCkdsb2JhbCB2YXJpYWJsZXMgaW4gcHl0aG9uIHVzZSBUSU1FT1VUX01VTCBmb3Jt YXQuCj4gKwo+ICtkZWYgcGF0Y2goZm5hbWUsIG5ld190aW1lb3V0LCBwYXRjaF9vdmVycmlkZSk6 Cj4gKwo+ICsgICAgb3JpZ190aW1lb3V0ID0gTm9uZQo+ICsgICAgZmlsZV9wYXRoID0gdG9wX2Rp ciArIGZuYW1lCm9zLnBhdGguam9pbigpCj4gKwo+ICsgICAgd2l0aCBvcGVuKGZpbGVfcGF0aCwg J3InKSBhcyBjX3NvdXJjZToKPiArICAgICAgICBmb3IgbGluZSBpbiBjX3NvdXJjZToKPiArICAg ICAgICAgICAgdGltZW91dCA9IHJlLnNlYXJjaChyJ1xzKi50aW1lb3V0XHMqPVxzKihcZCspLics IGxpbmUpClRoaXMgcmVnZXggc2hvdWxkIGJlIGNvbXBpbGVkIGJlZm9yZSBsb29wIHVzaW5nIHJl LmNvbXBpbGUoKSwgb3RoZXJ3aXNlIApyZS5zZWFyY2goKSB3aWxsIGNvbXBpbGUgaXQgZm9yIGVh Y2ggbGluZS4KPiArICAgICAgICAgICAgaWYgdGltZW91dDoKPiArICAgICAgICAgICAgICAgIG9y aWdfdGltZW91dCA9IGludCh0aW1lb3V0Lmdyb3VwKDEpKQo+ICsKPiArICAgIGlmIG9yaWdfdGlt ZW91dDoKPiArICAgICAgICBpZiBvcmlnX3RpbWVvdXQgPCBuZXdfdGltZW91dCBvciBwYXRjaF9v dmVycmlkZToKPiArICAgICAgICAgICAgcHJpbnQoIkNIQU5HRSAlcyB0aW1lb3V0ICVpIC0+ICVp IiAlIChmbmFtZSwgb3JpZ190aW1lb3V0LCBuZXdfdGltZW91dCkpCj4gKyAgICAgICAgICAgIHN5 c3RlbSgic2VkIC1pICdzL1xcLnRpbWVvdXQgPSBbMC05XSovXFwudGltZW91dCA9ICIgKyBzdHIo bmV3X3RpbWVvdXQpICsgIi8nICIgKyBmaWxlX3BhdGgpCgpUaGlzIGNhbiBiZSBzdWJzdGl0dXRl ZCB3aXRoIGEgcHl0aG9uIHZlcnNpb24gb2Ygc2VkLCBzaW5jZSBzeXN0ZW0oKSBpcyAKbmV2ZXIg YSBnb29kIGlkZWEsIHVubGVzcyB3ZSByZWFsbHkgbmVlZCB0byB1c2UgaXQgZm9yIGV4dGVybmFs IHRvb2xzIAp3aGljaCBjYW5ub3QgYmUgdHJhbnNsYXRlZCBpbnRvIHB5dGhvbi4gVGhlIHNvbHV0 aW9uIHdvdWxkIGJlOgoKY29udGVudCA9IFtdCm1hdGNoZXIgPSByZS5tYXRjaChyJ1xzKi50aW1l b3V0XHMqPVxzKihcZCspLicpCndpdGggb3BlbihmaWxlX3BhdGgsICdyJykgYXMgZGF0YToKIMKg wqDCoCBmb3IgbGluZSBpbiBkYXRhOgogwqDCoMKgwqDCoMKgwqAgIyB1c2UgcmVnZXggaGVyZSB0 byBmaW5kIHRoZSBtYXRjaGluZyBzdHJpbmcKIMKgwqDCoMKgwqDCoMKgIGlmIG1hdGNoZXIuc2Vh cmNoKGxpbmUpOgogwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjb250ZW50LmFwcGVuZChmJ3RpbWVv dXQgPSB7bmV3X3RpbWVvdXR9JykKIMKgwqDCoMKgwqDCoMKgIGVsc2U6CiDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIGNvbnRlbnQuYXBwZW5kKGxpbmUpCgp3aXRoIG9wZW4oZmlsZV9wYXRoLCAndycp IGFzIGRhdGE6CiDCoMKgwqDCoMKgwqDCoCBkYXRhLndyaXRlbGluZXMoY29udGVudCkKCj4gKyAg ICAgICAgZWxzZToKPiArICAgICAgICAgICAgcHJpbnQoIktFRVAgICAlcyB0aW1lb3V0ICVpIChu ZXcgJWkpIiAlIChmbmFtZSwgb3JpZ190aW1lb3V0LCBuZXdfdGltZW91dCkpCj4gKyAgICBlbHNl Ogo+ICsgICAgICAgIHByaW50KCJBREQgICAgJXMgdGltZW91dCAlaSIgJSAoZm5hbWUsIG5ld190 aW1lb3V0KSkKPiArICAgICAgICBzeXN0ZW0oInNlZCAtaSAnL3N0YXRpYyBzdHJ1Y3QgdHN0X3Rl c3QgdGVzdCA9IHsvYVxcXFx0LnRpbWVvdXQgPSAiICsgc3RyKG5ld190aW1lb3V0KSArICIsJyAi ICsgZmlsZV9wYXRoKQpTYW1lIGhlcmUuIE1heWJlIHdlIGNhbiBjcmVhdGUgYSBnZW5lcmljIHNl ZCgpIGZ1bmN0aW9uIGZvciBib3RoIGNhc2VzLgo+ICsKPiArZGVmIHBhdGNoX2FsbCh0aW1lb3V0 cywgcGF0Y2hfb3ZlcnJpZGUpOgo+ICsgICAgZm9yIHRpbWVvdXQgaW4gdGltZW91dHM6Cj4gKyAg ICAgICAgaWYgdGltZW91dFszXToKPiArICAgICAgICAgICAgcGF0Y2godGltZW91dFszXSwgdGlt ZW91dFsxXSwgcGF0Y2hfb3ZlcnJpZGUpCj4gKwo+ICtkZWYgcHJpbnRfdGFibGUodGltZW91dHMp Ogo+ICsgICAgdGltZW91dHMuc29ydChrZXk9bGFtYmRhIHg6IHhbMV0sIHJldmVyc2U9VHJ1ZSkK PiArCj4gKyAgICB0b3RhbCA9IDA7Cj4gKwo+ICsgICAgcHJpbnQoIk9sZCBsaWJyYXJ5IHRlc3Rz XG4tLS0tLS0tLS0tLS0tLS0tLVxuIik7Cj4gKyAgICBmb3IgdGltZW91dCBpbiB0aW1lb3V0czoK PiArICAgICAgICBpZiBub3QgdGltZW91dFsyXToKPiArICAgICAgICAgICAgcHJpbnQoIiUtMzBz ICVpIiAlICh0aW1lb3V0WzBdLCB0aW1lb3V0WzFdKSkKPiArICAgICAgICAgICAgdG90YWwrPTEK PiArCj4gKyAgICBwcmludCgiXG5cdCVpIHRlc3RzIGluIHRvdGFsIiAlIHRvdGFsKQo+ICsKPiAr ICAgIHRvdGFsID0gMDsKPiArCj4gKyAgICBwcmludCgiXG5OZXcgbGlicmFyeSB0ZXN0c1xuLS0t LS0tLS0tLS0tLS0tLS1cbiIpOwo+ICsgICAgZm9yIHRpbWVvdXQgaW4gdGltZW91dHM6Cj4gKyAg ICAgICAgaWYgdGltZW91dFsyXToKPiArICAgICAgICAgICAgcHJpbnQoIiUtMzBzICVpIiAlICh0 aW1lb3V0WzBdLCB0aW1lb3V0WzFdKSkKPiArICAgICAgICAgICAgdG90YWwrPTEKPiArCj4gKyAg ICBwcmludCgiXG5cdCVpIHRlc3RzIGluIHRvdGFsIiAlIHRvdGFsKQo+ICsKPiArZGVmIHBhcnNl X2RhdGEocmVzdWx0c19wYXRoKToKPiArICAgIHRpbWVvdXRzID0gW10KPiArCj4gKyAgICB3aXRo IG9wZW4ocmVzdWx0c19wYXRoLCAncicpIGFzIGZpbGU6Cj4gKyAgICAgICAgcmVzdWx0cyA9IGpz b24ubG9hZChmaWxlKQo+ICsKPiArICAgIHdpdGggb3Blbih0b3BfZGlyICsgJ21ldGFkYXRhL2x0 cC5qc29uJywgJ3InKSBhcyBmaWxlOgo+ICsgICAgICAgIG1ldGFkYXRhID0ganNvbi5sb2FkKGZp bGUpCj4gKwo+ICsgICAgZm9yIHRlc3QgaW4gcmVzdWx0c1sncmVzdWx0cyddOgo+ICsgICAgICAg IG5hbWUgPSB0ZXN0Wyd0ZXN0X2ZxbiddCj4gKyAgICAgICAgZHVyYXRpb24gPSB0ZXN0Wyd0ZXN0 J11bJ2R1cmF0aW9uJ10KPiArICAgICAgICAjIElmIHRlc3QgcnVucyBmb3IgYWxsX2ZpbGVzeXN0 ZW1zIG5vcm1hbGl6ZSB0aGUgcnVudGltZSBwZXIgYSBzaW5nbGUgZmlsZXN5c3RlbQo+ICsgICAg ICAgIGZpbGVzeXN0ZW1zID0gbWF4KDEsIHRlc3RbJ3Rlc3QnXVsnbG9nJ10uY291bnQoJ1RJTkZP OiBGb3JtYXR0aW5nIC8nKSkKPiArICAgICAgICAjIENoZWNrIGlmIHRlc3QgaXMgbmV3IGxpYnJh cnkgdGVzdAo+ICsgICAgICAgIHRlc3RfaXNfbmV3bGliID0gbmFtZSBpbiBtZXRhZGF0YVsndGVz dHMnXQo+ICsgICAgICAgICMgU3RvcmUgdGVzdCBmaWxlIHBhdGgKPiArICAgICAgICBwYXRoID0g Tm9uZSBpZiBub3QgdGVzdF9pc19uZXdsaWIgZWxzZSBtZXRhZGF0YVsndGVzdHMnXVtuYW1lXVsn Zm5hbWUnXQo+ICsgICAgICAgICMgRmlsdGVyIG91dCB0ZXN0cyB3aXRoIHJ1bnRpbWUKPiArICAg ICAgICB0ZXN0X2hhc19ydW50aW1lID0gRmFsc2UgaWYgbm90IHRlc3RfaXNfbmV3bGliIGVsc2Ug J3J1bnRpbWUnIGluIG1ldGFkYXRhWyd0ZXN0cyddW25hbWVdCj4gKyAgICAgICAgIyBUaW1lciB0 ZXN0cyBkZWZpbmUgcnVudGltZSBkeW5hbWljYWxseSBpbiB0aW1lciBsaWJyYXJ5Cj4gKyAgICAg ICAgaWYgdGVzdF9pc19uZXdsaWIgYW5kICdzYW1wbGUnIGluIG1ldGFkYXRhWyd0ZXN0cyddW25h bWVdOgo+ICsgICAgICAgICAgICB0ZXN0X2hhc19ydW50aW1lID0gVHJ1ZQo+ICsgICAgICAgICMg U2VsZWN0IHRlc3RzIHRoYXQgZG9lcyBub3QgaGF2ZSBydW50aW1lIGFuZCBhcmUgZXhlY3V0ZWQg Zm9yIGxvbmdlciB0aW1lCj4gKyAgICAgICAgaWYgbm90IHRlc3RfaGFzX3J1bnRpbWUgYW5kIGR1 cmF0aW9uID49IDAuNToKPiArICAgICAgICAgICAgdGltZW91dHMuYXBwZW5kKChuYW1lLCBpbnQo dGltZW91dF9tdWwgKiBkdXJhdGlvbi9maWxlc3lzdGVtcyArIDAuNSksIHRlc3RfaXNfbmV3bGli LCBwYXRoKSkKPiArCj4gKyAgICByZXR1cm4gdGltZW91dHMKCkluIHRoaXMgY2FzZSBpdCdzIGJl dHRlciB0byBhdm9pZCB0dXBsZXMgYmVjYXVzZSB0aGV5IG1ha2UgY29kZSBtb3JlIApkaWZmaWN1 bHQgdG8gcmVhZC4gSGFzaCBpcyBhIGJldHRlciBhcHByb2FjaCBpbiBnZW5lcmFsOgoKZGF0YVsi bmFtZSJdID0gbmFtZQpkYXRhWyJ0aW1lb3V0Il0gPSBpbnQodGltZW91dF9tdWwgKiBkdXJhdGlv bi9maWxlc3lzdGVtcyArIDAuNSkKZGF0YVsibmV3X2xpYiJdID0gdGVzdF9pc19uZXdsaWIKZGF0 YVsicGF0aCJdID0gcGF0aAoKcmV0dXJuIGRhdGEKCj4gKwo+ICtkZWYgcHJpbnRfaGVscCgpOgo+ ICsgICAgcHJpbnQoJ2NhbGNfdGltZW91dHMucHkgW09QVElPTl0gW1JFU1VMVF0uanNvbicpCj4g KyAgICBwcmludCgnXHQtaCBwcmludHMgdGhpcyBoZWxwJykKPiArICAgIHByaW50KCdcdC1vIG92 ZXJyaWRlIHRlc3QgdGltZW91dHMsIGJ5IGRlZmF1bHQgdGltZW91dHMgYXJlIG9ubHkgaW5jcmVh c2VkJykKPiArICAgIHByaW50KCdcdC1wIHBhdGNoIHRlc3RjYXNlcyB3aXRoIHVwZGF0ZWQgdGlt ZW91dHMnKQo+ICsgICAgcHJpbnQoJ1x0LXQgcHJpbnRzIHRhYmxlIG9mIHRlc3RzIHdpdGggc3Vn Z2VzdGVkIHRpbWVvdXRzJykKPiArCj4gK3RyeToKPiArICAgIG9wdHMsIGFyZ3MgPSBnZXRvcHQu Z2V0b3B0KHN5cy5hcmd2WzE6XSwgImhvcHQiKQo+ICtleGNlcHQ6Cj4gKyAgICBwcmludF9oZWxw KCkKPiArICAgIHN5cy5leGl0KDEpCj4gKwo+ICtvcHRfcHJpbnRfdGFibGUgPSBGYWxzZQo+ICtv cHRfcGF0Y2hfdGVzdHMgPSBGYWxzZQo+ICtvcHRfcGF0Y2hfb3ZlcnJpZGUgPSBGYWxzZQo+ICsK PiArZm9yIG9wdCxhcmcgaW4gb3B0czoKPiArICAgIGlmIG9wdCA9PSAnLWgnOgo+ICsgICAgICAg IHByaW50X2hlbHAoKQo+ICsgICAgICAgIHN5cy5leGl0KDApCj4gKyAgICBpZiBvcHQgPT0gJy1v JzoKPiArICAgICAgICBvcHRfcGF0Y2hfb3ZlcnJpZGUgPSBUcnVlCj4gKyAgICBpZiBvcHQgPT0g Jy1wJzoKPiArICAgICAgICBvcHRfcGF0Y2hfdGVzdHMgPSBUcnVlCj4gKyAgICBpZiBvcHQgPT0g Jy10JzoKPiArICAgICAgICBvcHRfcHJpbnRfdGFibGUgPSBUcnVlCj4gKwo+ICtpZiBub3Qgb3B0 X3ByaW50X3RhYmxlIGFuZCBub3Qgb3B0X3BhdGNoX3Rlc3RzOgo+ICsgICAgcHJpbnQoIk5vIGFj dGlvbiBzZWxlY3RlZCFcbiIpCj4gKyAgICBwcmludF9oZWxwKCkKPiArICAgIHN5cy5leGl0KDEp Cj4gKwo+ICtyZXN1bHRzID0gYXJnc1swXSBpZiBhcmdzIGVsc2UgJ3Jlc3VsdHMuanNvbicKPiAr Cj4gK3RpbWVvdXRzID0gcGFyc2VfZGF0YShyZXN1bHRzKQo+ICsKPiAraWYgb3B0X3ByaW50X3Rh YmxlOgo+ICsgICAgcHJpbnRfdGFibGUodGltZW91dHMpCj4gKwo+ICtpZiBvcHRfcGF0Y2hfdGVz dHM6Cj4gKyAgICBwYXRjaF9hbGwodGltZW91dHMsIG9wdF9wYXRjaF9vdmVycmlkZSkKQmV0dGVy IHRvIHdyYXAgZXZlcnl0aGluZyBpbnRvIGEgbWFpbigpIGZ1bmN0aW9uIGFuZCB0byB1c2U6Cgpp ZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgoKIMKgwqDCoCBydW4oKQoKCkFuZHJlYQoKCi0tIApN YWlsaW5nIGxpc3QgaW5mbzogaHR0cHM6Ly9saXN0cy5saW51eC5pdC9saXN0aW5mby9sdHAK