Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:129617 X-Original-To: internals@lists.php.net Delivered-To: internals@lists.php.net Received: from php-smtp4.php.net (php-smtp4.php.net [45.112.84.5]) by lists.php.net (Postfix) with ESMTPS id 63BA71A00BC for ; Tue, 16 Dec 2025 08:58:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1765875494; bh=YpEXZb8oIA/2EqSM6bRPbgWGxKf1m0K2wlV3JJ/t+sc=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=IN841TCsq3+CSYIlzDA6eEAJ1RffHNNPrD9Ioqb/4u5XO+gD2MKtqLbevFun/xiQo u/HStxxridX2gm2XcZMiLs6sS546A2pjX/9VAlJ6qK6Z0WU/RVKqnAUVj/ODx9jJsr 5mbpYhtLVDEpuHSGmVlRaRe0CIz/amUg/Tu+nTJloFVZHOQfaRwL1NSh2GSLG7m0VA iyxc2GNem26jCM6v7RhY1Zq8EEitPhLn0Il0kYvFxLoA/KvVPATvY8P5sEhTscFb6i k96gugoE/MFTddj07wbPVXb5hqfML1tkw5ikNgJimxczpSlutKHBprZUGjvqwLbhwK v1hzqQNh51oAQ== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 57EE618004C for ; Tue, 16 Dec 2025 08:58:13 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=0.6 required=5.0 tests=BAYES_50,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,DMARC_PASS,SPF_HELO_NONE, SPF_PASS autolearn=no autolearn_force=no version=4.0.1 X-Spam-Virus: No X-Envelope-From: Received: from chrono.xqk7.com (chrono.xqk7.com [176.9.45.72]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Tue, 16 Dec 2025 08:58:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bastelstu.be; s=mail20171119; t=1765875486; bh=za717pS9ckn37eQGU4FMAW0K/r4XYc4jaSgfa0cqEVc=; h=MIME-Version:Date:From:To:Cc:Subject:In-Reply-To:References: Message-ID:Content-Type:from:to:cc:subject:message-id; b=LQeKN3z1g2m6kQBk+8genBfZG5JYAe4iSokUjkyXli6TjyJwwBluwi5s/GA4kVzw/ sUqgGwf6T4qheDhFsEfZIPtmJRMuOAdLSWbQejP11WESG52EDjNQ7SQn9fVpjsdZqC sPcHfh9aZddg3Hh+/AeNWWdI5xSqibPlKp26+A/jc4pqwJc7BqB9kE0Av6lqzB6AFM GrzJu91/jdZSXHrvgzknvRwSOPm7eWLWPXqjI4wG0cXBqpMV4WgVSR6PJ4o6j3OJst AETtnBX44I3WMIFvFmAkfgoUJuC3YmmocIngUj/0Y0H9NUmUoGe9+Xd3D5vA2lZ51s 6m6bWtaiRIbuA== Precedence: list list-help: list-unsubscribe: list-post: List-Id: x-ms-reactions: disallow MIME-Version: 1.0 Date: Tue, 16 Dec 2025 09:58:05 +0100 To: "Rowan Tommins [IMSoP]" Cc: internals@lists.php.net Subject: Re: [PHP-DEV] Examples comparing Block Scoped RAII and Context Managers In-Reply-To: References: <26a2f13c-f318-4d6c-9595-bfaaebcbabcb@rwec.co.uk> <78bfa50ad7c5111a1c6caaff3a525255@bastelstu.be> Message-ID: <314f71c1e70ffac9bff73f3a9d873d3e@bastelstu.be> Content-Type: multipart/mixed; boundary="=_f410305b29631a7421d12819bebf4afd" From: tim@bastelstu.be (=?UTF-8?Q?Tim_D=C3=BCsterhus?=) --=_f410305b29631a7421d12819bebf4afd Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=UTF-8; format=flowed Hi Am 2025-12-11 22:45, schrieb Rowan Tommins [IMSoP]: > For little fixes like this, it would probably be most efficient if you > raise a PR, or mail me a patch, rather then me hunting around for each > one. Sorry about that. I don't have my personal GitLab account (that I barely use these days) set up on my work machine (thus a PR wouldn't work) and it didn't occur me to just send a patch file. I've just went across all files once more and fixed the obvious syntax errors that VSC pointed out to me. I've also added a stub file to satisfy my language server from pointing out unknown functions / classes. Patch attached. I didn't fix the db-transaction/application/1c-raii-with-scope-declaration.php comment, since that's not a straight-forward fix. I'll try to work through the rest of your email later, but wanted to get this patch out already. Best regards Tim Düsterhus --=_f410305b29631a7421d12819bebf4afd Content-Transfer-Encoding: base64 Content-Type: text/x-diff; name=0001-Fix-example-syntax-and-add-stub-file-to-make-IDE-hap.patch Content-Disposition: attachment; filename=0001-Fix-example-syntax-and-add-stub-file-to-make-IDE-hap.patch; size=10474 RnJvbSBlZTM4ZjcyMzUxYjlkM2VhYTRlNGY3ZWYwNjMwNzYyYmE3NDZjZmQzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/VGltPTIwRD1DMz1CQ3N0ZXJodXM/PSA8dGlt QHRpZGV3YXlzLWdtYmguY29tPgpEYXRlOiBUdWUsIDE2IERlYyAyMDI1IDA5OjU0OjMxICswMTAw ClN1YmplY3Q6IFtQQVRDSF0gRml4IGV4YW1wbGUgc3ludGF4IGFuZCBhZGQgc3R1YiBmaWxlIHRv IG1ha2UgSURFIGhhcHB5CgotLS0KIGRiLXRyYW5zYWN0aW9uL2FwcGxpY2F0aW9uLzAtbGluZWFy LWNvZGUucGhwICAgICAgIHwgIDIgKy0KIGRiLXRyYW5zYWN0aW9uL2FwcGxpY2F0aW9uLzFhLXJh aWktbm8taGVscGVycy5waHAgIHwgIDIgKy0KIC4uLi9hcHBsaWNhdGlvbi8xYi1yYWlpLXdpdGgt c2NvcGUtYmxvY2sucGhwICAgICAgIHwgIDQgKystLQogLi4uL2FwcGxpY2F0aW9uLzFjLXJhaWkt d2l0aC1zY29wZS1kZWNsYXJhdGlvbi5waHAgfCAgMiArLQogZGItdHJhbnNhY3Rpb24vYXBwbGlj YXRpb24vMi1jb250ZXh0LW1hbmFnZXIucGhwICAgfCAgMiArLQogLi4uL2FwcGxpY2F0aW9uLzNh LWlvYy1jdXJyZW50LWNsb3N1cmUucGhwICAgICAgICAgfCAgMiArLQogZGItdHJhbnNhY3Rpb24v YXBwbGljYXRpb24vM2ItaW9jLWF1dG8tY2FwdHVyZS5waHAgfCAgMiArLQogLi4uL2FwcGxpY2F0 aW9uLzFiLXJhaWktd2l0aC1zY29wZS1ibG9jay5waHAgICAgICAgfCAgNCArKy0tCiAuLi4vYXBw bGljYXRpb24vM2EtaW9jLWN1cnJlbnQtY2xvc3VyZS5waHAgICAgICAgICB8ICAyICstCiAuLi4v YXBwbGljYXRpb24vM2ItaW9jLWF1dG8tY2FwdHVyZS5waHAgICAgICAgICAgICB8ICAyICstCiBm aWxlLWhhbmRsZS9hcHBsaWNhdGlvbi8zYS1pb2MtY3VycmVudC1jbG9zdXJlLnBocCB8ICAyICst CiBmaWxlLWhhbmRsZS9hcHBsaWNhdGlvbi8zYi1pb2MtYXV0by1jYXB0dXJlLnBocCAgICB8ICAy ICstCiBmaWxlLW9iamVjdC9hcHBsaWNhdGlvbi8yLWNvbnRleHQtbWFuYWdlci5waHAgICAgICB8 IDE0ICsrKysrKystLS0tLS0tCiBmaWxlLW9iamVjdC9hcHBsaWNhdGlvbi8zYS1pb2MtY3VycmVu dC1jbG9zdXJlLnBocCB8ICAyICstCiBmaWxlLW9iamVjdC9hcHBsaWNhdGlvbi8zYi1pb2MtYXV0 by1jYXB0dXJlLnBocCAgICB8ICAyICstCiBzdHViLnBocCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB8ICA4ICsrKysrKysrCiAxNiBmaWxlcyBjaGFuZ2VkLCAzMSBp bnNlcnRpb25zKCspLCAyMyBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzdHViLnBo cAoKZGlmZiAtLWdpdCBhL2RiLXRyYW5zYWN0aW9uL2FwcGxpY2F0aW9uLzAtbGluZWFyLWNvZGUu cGhwIGIvZGItdHJhbnNhY3Rpb24vYXBwbGljYXRpb24vMC1saW5lYXItY29kZS5waHAKaW5kZXgg NWNhODBhOS4uYjZiN2RjZiAxMDA2NDQKLS0tIGEvZGItdHJhbnNhY3Rpb24vYXBwbGljYXRpb24v MC1saW5lYXItY29kZS5waHAKKysrIGIvZGItdHJhbnNhY3Rpb24vYXBwbGljYXRpb24vMC1saW5l YXItY29kZS5waHAKQEAgLTEyLDcgKzEyLDcgQEAgZnVuY3Rpb24gZXhhbXBsZShEQiAkZGIpCiAg ICAgICAgICRkYi0+YmVnaW5UcmFuc2FjdGlvbigpOwogICAgICAgICAvLyAuLi4KICAgICAgICAg JGRiLT5leGVjdXRlKCdJTlNFUlQgSU5UTyBTb21ldGhpbmcgKEZvbykgVmFsdWVzICg6Rm9vKScs IFsnRm9vJz0+JGZvbyxdKTsKLSAgICAgICAgc29tZXRoaW5nX3dpdGgoJGJhcik7CisgICAgICAg IGRvX3NvbWV0aGluZ193aXRoKCRiYXIpOwogICAgICAgICAvLyAuLi4KICAgICAgICAgJGRiLT5j b21taXRUcmFuc2FjdGlvbigpOwogICAgIH0KZGlmZiAtLWdpdCBhL2RiLXRyYW5zYWN0aW9uL2Fw cGxpY2F0aW9uLzFhLXJhaWktbm8taGVscGVycy5waHAgYi9kYi10cmFuc2FjdGlvbi9hcHBsaWNh dGlvbi8xYS1yYWlpLW5vLWhlbHBlcnMucGhwCmluZGV4IDFlYzMxZjcuLjQxM2RiODMgMTAwNjQ0 Ci0tLSBhL2RiLXRyYW5zYWN0aW9uL2FwcGxpY2F0aW9uLzFhLXJhaWktbm8taGVscGVycy5waHAK KysrIGIvZGItdHJhbnNhY3Rpb24vYXBwbGljYXRpb24vMWEtcmFpaS1uby1oZWxwZXJzLnBocApA QCAtMTYsNyArMTYsNyBAQCBmdW5jdGlvbiBleGFtcGxlKERCICRkYikKICAgICAgICAgJHRyYW5z YWN0aW9uID0gJGRiLT5uZXdUcmFuc2FjdGlvbigpOwogICAgICAgICAvLyAuLi4KICAgICAgICAg JGRiLT5leGVjdXRlKCdJTlNFUlQgSU5UTyBTb21ldGhpbmcgKEZvbykgVmFsdWVzICg6Rm9vKScs IFsnRm9vJyA9PiAkZm9vLF0pOwotICAgICAgICBzb21ldGhpbmdfd2l0aCgkYmFyKTsKKyAgICAg ICAgZG9fc29tZXRoaW5nX3dpdGgoJGJhcik7CiAgICAgICAgIC8vIC4uLgogICAgICAgICAkdHJh bnNhY3Rpb24tPmNvbW1pdCgpOwogICAgIH0KZGlmZiAtLWdpdCBhL2RiLXRyYW5zYWN0aW9uL2Fw cGxpY2F0aW9uLzFiLXJhaWktd2l0aC1zY29wZS1ibG9jay5waHAgYi9kYi10cmFuc2FjdGlvbi9h cHBsaWNhdGlvbi8xYi1yYWlpLXdpdGgtc2NvcGUtYmxvY2sucGhwCmluZGV4IGQ5YzAwYzEuLjlk YmFjMWQgMTAwNjQ0Ci0tLSBhL2RiLXRyYW5zYWN0aW9uL2FwcGxpY2F0aW9uLzFiLXJhaWktd2l0 aC1zY29wZS1ibG9jay5waHAKKysrIGIvZGItdHJhbnNhY3Rpb24vYXBwbGljYXRpb24vMWItcmFp aS13aXRoLXNjb3BlLWJsb2NrLnBocApAQCAtOCwxMCArOCwxMCBAQCBmdW5jdGlvbiBleGFtcGxl KERCICRkYikKICAgICAkZm9vID0gdmFyaW91c191bnJlbGF0ZWRfY29kZSgpOwogICAgICRiYXIg PSAnc29tZSBpbXBvcnRhbnQgdmFsdWUnOwogCi0gICAgdXNlICgkdHJhbnNhY3Rpb24gPSAkZGIt Pm5ld1RyYW5zYWN0aW9uKCkpIHRyeSB7CisgICAgbGV0ICgkdHJhbnNhY3Rpb24gPSAkZGItPm5l d1RyYW5zYWN0aW9uKCkpIHRyeSB7CiAgICAgICAgIC8vIC4uLgogICAgICAgICAkZGItPmV4ZWN1 dGUoJ0lOU0VSVCBJTlRPIFNvbWV0aGluZyAoRm9vKSBWYWx1ZXMgKDpGb28pJywgWydGb28nPT4k Zm9vLF0pOwotICAgICAgICBzb21ldGhpbmdfd2l0aCgkYmFyKTsKKyAgICAgICAgZG9fc29tZXRo aW5nX3dpdGgoJGJhcik7CiAgICAgICAgIC8vIC4uLgogICAgICAgICAkdHJhbnNhY3Rpb24tPmNv bW1pdCgpOwogICAgIH0KZGlmZiAtLWdpdCBhL2RiLXRyYW5zYWN0aW9uL2FwcGxpY2F0aW9uLzFj LXJhaWktd2l0aC1zY29wZS1kZWNsYXJhdGlvbi5waHAgYi9kYi10cmFuc2FjdGlvbi9hcHBsaWNh dGlvbi8xYy1yYWlpLXdpdGgtc2NvcGUtZGVjbGFyYXRpb24ucGhwCmluZGV4IDAyZGQ3NGYuLjdi MjkzZjkgMTAwNjQ0Ci0tLSBhL2RiLXRyYW5zYWN0aW9uL2FwcGxpY2F0aW9uLzFjLXJhaWktd2l0 aC1zY29wZS1kZWNsYXJhdGlvbi5waHAKKysrIGIvZGItdHJhbnNhY3Rpb24vYXBwbGljYXRpb24v MWMtcmFpaS13aXRoLXNjb3BlLWRlY2xhcmF0aW9uLnBocApAQCAtMTQsNyArMTQsNyBAQCBmdW5j dGlvbiBleGFtcGxlKERCICRkYikKICAgICAgICAgbGV0ICR0cmFuc2FjdGlvbiA9ICRkYi0+bmV3 VHJhbnNhY3Rpb24oKTsKICAgICAgICAgLy8gLi4uCiAgICAgICAgICRkYi0+ZXhlY3V0ZSgnSU5T RVJUIElOVE8gU29tZXRoaW5nIChGb28pIFZhbHVlcyAoOkZvbyknLCBbJ0Zvbyc9PiRmb28sXSk7 Ci0gICAgICAgIHNvbWV0aGluZ193aXRoKCRiYXIpOworICAgICAgICBkb19zb21ldGhpbmdfd2l0 aCgkYmFyKTsKICAgICAgICAgLy8gLi4uCiAgICAgICAgICR0cmFuc2FjdGlvbi0+Y29tbWl0KCk7 CiAgICAgfQpkaWZmIC0tZ2l0IGEvZGItdHJhbnNhY3Rpb24vYXBwbGljYXRpb24vMi1jb250ZXh0 LW1hbmFnZXIucGhwIGIvZGItdHJhbnNhY3Rpb24vYXBwbGljYXRpb24vMi1jb250ZXh0LW1hbmFn ZXIucGhwCmluZGV4IDYxZjNmYzYuLjUzYzM2NjMgMTAwNjQ0Ci0tLSBhL2RiLXRyYW5zYWN0aW9u L2FwcGxpY2F0aW9uLzItY29udGV4dC1tYW5hZ2VyLnBocAorKysgYi9kYi10cmFuc2FjdGlvbi9h cHBsaWNhdGlvbi8yLWNvbnRleHQtbWFuYWdlci5waHAKQEAgLTEyLDcgKzEyLDcgQEAgZnVuY3Rp b24gZXhhbXBsZShEQiAkZGIpCiAgICAgICAgIHVzaW5nICgkZGItPnRyYW5zYWN0aW9uU2NvcGUo KSkgewogICAgICAgICAgICAgLy8gLi4uCiAgICAgICAgICAgICAkZGItPmV4ZWN1dGUoJ0lOU0VS VCBJTlRPIFNvbWV0aGluZyAoRm9vKSBWYWx1ZXMgKDpGb28pJywgWydGb28nPT4kZm9vLF0pOwot ICAgICAgICAgICAgc29tZXRoaW5nX3dpdGgoJGJhcik7CisgICAgICAgICAgICBkb19zb21ldGhp bmdfd2l0aCgkYmFyKTsKICAgICAgICAgICAgIC8vIC4uLgogICAgICAgICB9CiAgICAgfQpkaWZm IC0tZ2l0IGEvZGItdHJhbnNhY3Rpb24vYXBwbGljYXRpb24vM2EtaW9jLWN1cnJlbnQtY2xvc3Vy ZS5waHAgYi9kYi10cmFuc2FjdGlvbi9hcHBsaWNhdGlvbi8zYS1pb2MtY3VycmVudC1jbG9zdXJl LnBocAppbmRleCAwYmQwNGUwLi40MzY1NTRmIDEwMDY0NAotLS0gYS9kYi10cmFuc2FjdGlvbi9h cHBsaWNhdGlvbi8zYS1pb2MtY3VycmVudC1jbG9zdXJlLnBocAorKysgYi9kYi10cmFuc2FjdGlv bi9hcHBsaWNhdGlvbi8zYS1pb2MtY3VycmVudC1jbG9zdXJlLnBocApAQCAtMTIsNyArMTIsNyBA QCBmdW5jdGlvbiBleGFtcGxlKERCICRkYikKICAgICAgICAgJGRiLT5kb0luVHJhbnNhY3Rpb24o ZnVuY3Rpb24oREIgJGRiKSB1c2UoJGZvbywgJGJhcikgewogICAgICAgICAgICAgLy8gLi4uCiAg ICAgICAgICAgICAkZGItPmV4ZWN1dGUoJ0lOU0VSVCBJTlRPIFNvbWV0aGluZyAoRm9vKSBWYWx1 ZXMgKDpGb28pJywgWydGb28nID0+ICRmb28sXSk7Ci0gICAgICAgICAgICBzb21ldGhpbmdfd2l0 aCgkYmFyKTsKKyAgICAgICAgICAgIGRvX3NvbWV0aGluZ193aXRoKCRiYXIpOwogICAgICAgICAg ICAgLy8gLi4uCiAgICAgICAgIH0pOwogICAgIH0gY2F0Y2ggKFNvbWVTcGVjaWZpY0V4Y2VwdGlv biAkZSkgewpkaWZmIC0tZ2l0IGEvZGItdHJhbnNhY3Rpb24vYXBwbGljYXRpb24vM2ItaW9jLWF1 dG8tY2FwdHVyZS5waHAgYi9kYi10cmFuc2FjdGlvbi9hcHBsaWNhdGlvbi8zYi1pb2MtYXV0by1j YXB0dXJlLnBocAppbmRleCA4YjE5ZDJiLi4zYjAwNmEyIDEwMDY0NAotLS0gYS9kYi10cmFuc2Fj dGlvbi9hcHBsaWNhdGlvbi8zYi1pb2MtYXV0by1jYXB0dXJlLnBocAorKysgYi9kYi10cmFuc2Fj dGlvbi9hcHBsaWNhdGlvbi8zYi1pb2MtYXV0by1jYXB0dXJlLnBocApAQCAtMTIsNyArMTIsNyBA QCBmdW5jdGlvbiBleGFtcGxlKERCICRkYikKICAgICAgICAgJGRiLT5kb0luVHJhbnNhY3Rpb24o Zm4oREIgJGRiKSB7CiAgICAgICAgICAgICAvLyAuLi4KICAgICAgICAgICAgICRkYi0+ZXhlY3V0 ZSgnSU5TRVJUIElOVE8gU29tZXRoaW5nIChGb28pIFZhbHVlcyAoOkZvbyknLCBbJ0ZvbycgPT4g JGZvbyxdKTsKLSAgICAgICAgICAgIHNvbWV0aGluZ193aXRoKCRiYXIpOworICAgICAgICAgICAg ZG9fc29tZXRoaW5nX3dpdGgoJGJhcik7CiAgICAgICAgICAgICAvLyAuLi4KICAgICAgICAgfSk7 CiAgICAgfSBjYXRjaCAoU29tZVNwZWNpZmljRXhjZXB0aW9uICRlKSB7CmRpZmYgLS1naXQgYS9m aWxlLWhhbmRsZS11bmd1YXJkZWQvYXBwbGljYXRpb24vMWItcmFpaS13aXRoLXNjb3BlLWJsb2Nr LnBocCBiL2ZpbGUtaGFuZGxlLXVuZ3VhcmRlZC9hcHBsaWNhdGlvbi8xYi1yYWlpLXdpdGgtc2Nv cGUtYmxvY2sucGhwCmluZGV4IDM2MzY0OTQuLjk5ZDQ4NjYgMTAwNjQ0Ci0tLSBhL2ZpbGUtaGFu ZGxlLXVuZ3VhcmRlZC9hcHBsaWNhdGlvbi8xYi1yYWlpLXdpdGgtc2NvcGUtYmxvY2sucGhwCisr KyBiL2ZpbGUtaGFuZGxlLXVuZ3VhcmRlZC9hcHBsaWNhdGlvbi8xYi1yYWlpLXdpdGgtc2NvcGUt YmxvY2sucGhwCkBAIC04LDcgKzgsNyBAQCBmdW5jdGlvbiBleGFtcGxlKCkKIHsKICAgICAkc29t ZVRoaW5nID0gc29tZV91bnJlbGF0ZWRfY29kZSgpOwogCi0gICAgbGV0ICgkZmggPSBmb3Blbign ZmlsZS50eHQnLCAndycpIHsKKyAgICBsZXQgKCRmaCA9IGZvcGVuKCdmaWxlLnR4dCcsICd3Jykp IHsKICAgICAgICAgaWYgKCRmaCA9PT0gZmFsc2UpIHsKICAgICAgICAgICAgIGxvZygnRmFpbGVk IHRvIG9wZW4gZmlsZS4nKTsKICAgICAgICAgfQpAQCAtMzMsNyArMzMsNyBAQCBmdW5jdGlvbiBl eGFtcGxlX2V4dHJhX2NvbmNpc2UoKQogewogICAgICRzb21lVGhpbmcgPSBzb21lX3VucmVsYXRl ZF9jb2RlKCk7CiAKLSAgICBsZXQgKCRmaCA9IGZvcGVuKCdmaWxlLnR4dCcsICd3JykgaWYgKCRm aCA9PT0gZmFsc2UpIHsKKyAgICBsZXQgKCRmaCA9IGZvcGVuKCdmaWxlLnR4dCcsICd3JykpIGlm ICgkZmggPT09IGZhbHNlKSB7CiAgICAgICAgIGxvZygnRmFpbGVkIHRvIG9wZW4gZmlsZS4nKTsK ICAgICB9CiAgICAgZWxzZSB0cnkgewpkaWZmIC0tZ2l0IGEvZmlsZS1oYW5kbGUtdW5ndWFyZGVk L2FwcGxpY2F0aW9uLzNhLWlvYy1jdXJyZW50LWNsb3N1cmUucGhwIGIvZmlsZS1oYW5kbGUtdW5n dWFyZGVkL2FwcGxpY2F0aW9uLzNhLWlvYy1jdXJyZW50LWNsb3N1cmUucGhwCmluZGV4IDNkMTJm NGMuLjYxYzkwZDcgMTAwNjQ0Ci0tLSBhL2ZpbGUtaGFuZGxlLXVuZ3VhcmRlZC9hcHBsaWNhdGlv bi8zYS1pb2MtY3VycmVudC1jbG9zdXJlLnBocAorKysgYi9maWxlLWhhbmRsZS11bmd1YXJkZWQv YXBwbGljYXRpb24vM2EtaW9jLWN1cnJlbnQtY2xvc3VyZS5waHAKQEAgLTE5LDcgKzE5LDcgQEAg ZnVuY3Rpb24gZXhhbXBsZSgpCiAgICAgICAgIH0gY2F0Y2ggKFxFeGNlcHRpb24gJGUpIHsKICAg ICAgICAgICAgIGxvZygnRmFpbGVkIHByb2Nlc3NpbmcgdGhlIGZpbGUgaW4gc29tZSB3YXkuJyk7 CiAgICAgICAgIH0KLSAgICB9CisgICAgfSk7CiAKICAgICB2YXJpb3VzX3VucmVsYXRlZF9jb2Rl KCk7CiB9CmRpZmYgLS1naXQgYS9maWxlLWhhbmRsZS11bmd1YXJkZWQvYXBwbGljYXRpb24vM2It aW9jLWF1dG8tY2FwdHVyZS5waHAgYi9maWxlLWhhbmRsZS11bmd1YXJkZWQvYXBwbGljYXRpb24v M2ItaW9jLWF1dG8tY2FwdHVyZS5waHAKaW5kZXggOGQ2NzMxYi4uMzc3OWU5NSAxMDA2NDQKLS0t IGEvZmlsZS1oYW5kbGUtdW5ndWFyZGVkL2FwcGxpY2F0aW9uLzNiLWlvYy1hdXRvLWNhcHR1cmUu cGhwCisrKyBiL2ZpbGUtaGFuZGxlLXVuZ3VhcmRlZC9hcHBsaWNhdGlvbi8zYi1pb2MtYXV0by1j YXB0dXJlLnBocApAQCAtMTksNyArMTksNyBAQCBmdW5jdGlvbiBleGFtcGxlKCkKICAgICAgICAg fSBjYXRjaCAoXEV4Y2VwdGlvbiAkZSkgewogICAgICAgICAgICAgbG9nKCdGYWlsZWQgcHJvY2Vz c2luZyB0aGUgZmlsZSBpbiBzb21lIHdheS4nKTsKICAgICAgICAgfQotICAgIH0KKyAgICB9KTsK IAogICAgIHZhcmlvdXNfdW5yZWxhdGVkX2NvZGUoKTsKIH0KZGlmZiAtLWdpdCBhL2ZpbGUtaGFu ZGxlL2FwcGxpY2F0aW9uLzNhLWlvYy1jdXJyZW50LWNsb3N1cmUucGhwIGIvZmlsZS1oYW5kbGUv YXBwbGljYXRpb24vM2EtaW9jLWN1cnJlbnQtY2xvc3VyZS5waHAKaW5kZXggYmExOGZhMC4uNWYz MGJjNiAxMDA2NDQKLS0tIGEvZmlsZS1oYW5kbGUvYXBwbGljYXRpb24vM2EtaW9jLWN1cnJlbnQt Y2xvc3VyZS5waHAKKysrIGIvZmlsZS1oYW5kbGUvYXBwbGljYXRpb24vM2EtaW9jLWN1cnJlbnQt Y2xvc3VyZS5waHAKQEAgLTE3LDcgKzE3LDcgQEAgZnVuY3Rpb24gZXhhbXBsZSgpCiAgICAgICAg IH0gY2F0Y2ggKFxFeGNlcHRpb24gJGUpIHsKICAgICAgICAgICAgIGxvZygnRmFpbGVkIHByb2Nl c3NpbmcgdGhlIGZpbGUgaW4gc29tZSB3YXkuJyk7CiAgICAgICAgIH0KLSAgICB9CisgICAgfSk7 CiAKICAgICB2YXJpb3VzX3VucmVsYXRlZF9jb2RlKCk7CiB9CmRpZmYgLS1naXQgYS9maWxlLWhh bmRsZS9hcHBsaWNhdGlvbi8zYi1pb2MtYXV0by1jYXB0dXJlLnBocCBiL2ZpbGUtaGFuZGxlL2Fw cGxpY2F0aW9uLzNiLWlvYy1hdXRvLWNhcHR1cmUucGhwCmluZGV4IGQ2N2EwYjEuLmEzNTE3ZWMg MTAwNjQ0Ci0tLSBhL2ZpbGUtaGFuZGxlL2FwcGxpY2F0aW9uLzNiLWlvYy1hdXRvLWNhcHR1cmUu cGhwCisrKyBiL2ZpbGUtaGFuZGxlL2FwcGxpY2F0aW9uLzNiLWlvYy1hdXRvLWNhcHR1cmUucGhw CkBAIC0xNyw3ICsxNyw3IEBAIGZ1bmN0aW9uIGV4YW1wbGUoKQogICAgICAgICB9IGNhdGNoIChc RXhjZXB0aW9uICRlKSB7CiAgICAgICAgICAgICBsb2coJ0ZhaWxlZCBwcm9jZXNzaW5nIHRoZSBm aWxlIGluIHNvbWUgd2F5LicpOwogICAgICAgICB9Ci0gICAgfQorICAgIH0pOwogCiAgICAgdmFy aW91c191bnJlbGF0ZWRfY29kZSgpOwogfQpkaWZmIC0tZ2l0IGEvZmlsZS1vYmplY3QvYXBwbGlj YXRpb24vMi1jb250ZXh0LW1hbmFnZXIucGhwIGIvZmlsZS1vYmplY3QvYXBwbGljYXRpb24vMi1j b250ZXh0LW1hbmFnZXIucGhwCmluZGV4IGEzNTU0N2YuLmNhMzM4ZGQgMTAwNjQ0Ci0tLSBhL2Zp bGUtb2JqZWN0L2FwcGxpY2F0aW9uLzItY29udGV4dC1tYW5hZ2VyLnBocAorKysgYi9maWxlLW9i amVjdC9hcHBsaWNhdGlvbi8yLWNvbnRleHQtbWFuYWdlci5waHAKQEAgLTksMTQgKzksMTQgQEAg ZnVuY3Rpb24gZXhhbXBsZSgpCiAgICAgJHNvbWVUaGluZyA9IHNvbWVfdW5yZWxhdGVkX2NvZGUo KTsKIAogICAgIHRyeSB1c2luZyAoZmlsZV9mb3Jfd3JpdGUoJ2ZpbGUudHh0JykgYXMgJGZoKSB7 Ci0gICAgZm9yZWFjaCAoJHNvbWVUaGluZyBhcyAkdmFsdWUpIHsKLSAgICAgICAgZndyaXRlKCRm aCwgc2VyaWFsaXplKCR2YWx1ZSkpOworICAgICAgICBmb3JlYWNoICgkc29tZVRoaW5nIGFzICR2 YWx1ZSkgeworICAgICAgICAgICAgZndyaXRlKCRmaCwgc2VyaWFsaXplKCR2YWx1ZSkpOworICAg ICAgICB9CisgICAgfSBjYXRjaCAoXEZpbGVPcGVuaW5nRXhjZXB0aW9uICRlKSB7CisgICAgICAg IGxvZygnRmFpbGVkIHRvIG9wZW4gZmlsZS4nKTsKKyAgICB9IGNhdGNoIChcRXhjZXB0aW9uICRl KSB7CisgICAgICAgIGxvZygnRmFpbGVkIHByb2Nlc3NpbmcgdGhlIGZpbGUgaW4gc29tZSB3YXku Jyk7CiAgICAgfQotfSBjYXRjaCAoXEZpbGVPcGVuaW5nRXhjZXB0aW9uICRlKSB7Ci0gICAgbG9n KCdGYWlsZWQgdG8gb3BlbiBmaWxlLicpOwotfSBjYXRjaCAoXEV4Y2VwdGlvbiAkZSkgewotICAg IGxvZygnRmFpbGVkIHByb2Nlc3NpbmcgdGhlIGZpbGUgaW4gc29tZSB3YXkuJyk7Ci19CiAKICAg ICB2YXJpb3VzX3VucmVsYXRlZF9jb2RlKCk7CiB9CmRpZmYgLS1naXQgYS9maWxlLW9iamVjdC9h cHBsaWNhdGlvbi8zYS1pb2MtY3VycmVudC1jbG9zdXJlLnBocCBiL2ZpbGUtb2JqZWN0L2FwcGxp Y2F0aW9uLzNhLWlvYy1jdXJyZW50LWNsb3N1cmUucGhwCmluZGV4IGJhMThmYTAuLjVmMzBiYzYg MTAwNjQ0Ci0tLSBhL2ZpbGUtb2JqZWN0L2FwcGxpY2F0aW9uLzNhLWlvYy1jdXJyZW50LWNsb3N1 cmUucGhwCisrKyBiL2ZpbGUtb2JqZWN0L2FwcGxpY2F0aW9uLzNhLWlvYy1jdXJyZW50LWNsb3N1 cmUucGhwCkBAIC0xNyw3ICsxNyw3IEBAIGZ1bmN0aW9uIGV4YW1wbGUoKQogICAgICAgICB9IGNh dGNoIChcRXhjZXB0aW9uICRlKSB7CiAgICAgICAgICAgICBsb2coJ0ZhaWxlZCBwcm9jZXNzaW5n IHRoZSBmaWxlIGluIHNvbWUgd2F5LicpOwogICAgICAgICB9Ci0gICAgfQorICAgIH0pOwogCiAg ICAgdmFyaW91c191bnJlbGF0ZWRfY29kZSgpOwogfQpkaWZmIC0tZ2l0IGEvZmlsZS1vYmplY3Qv YXBwbGljYXRpb24vM2ItaW9jLWF1dG8tY2FwdHVyZS5waHAgYi9maWxlLW9iamVjdC9hcHBsaWNh dGlvbi8zYi1pb2MtYXV0by1jYXB0dXJlLnBocAppbmRleCBkNjdhMGIxLi5hMzUxN2VjIDEwMDY0 NAotLS0gYS9maWxlLW9iamVjdC9hcHBsaWNhdGlvbi8zYi1pb2MtYXV0by1jYXB0dXJlLnBocAor KysgYi9maWxlLW9iamVjdC9hcHBsaWNhdGlvbi8zYi1pb2MtYXV0by1jYXB0dXJlLnBocApAQCAt MTcsNyArMTcsNyBAQCBmdW5jdGlvbiBleGFtcGxlKCkKICAgICAgICAgfSBjYXRjaCAoXEV4Y2Vw dGlvbiAkZSkgewogICAgICAgICAgICAgbG9nKCdGYWlsZWQgcHJvY2Vzc2luZyB0aGUgZmlsZSBp biBzb21lIHdheS4nKTsKICAgICAgICAgfQotICAgIH0KKyAgICB9KTsKIAogICAgIHZhcmlvdXNf dW5yZWxhdGVkX2NvZGUoKTsKIH0KZGlmZiAtLWdpdCBhL3N0dWIucGhwIGIvc3R1Yi5waHAKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTI1ZmUyYgotLS0gL2Rldi9udWxsCisr KyBiL3N0dWIucGhwCkBAIC0wLDAgKzEsOCBAQAorPD9waHAKKworZnVuY3Rpb24gdmFyaW91c191 bnJlbGF0ZWRfY29kZSgpIHt9CitmdW5jdGlvbiBzb21lX3VucmVsYXRlZF9jb2RlKCk6IGl0ZXJh YmxlIHsgcmV0dXJuIFtdOyB9CitmdW5jdGlvbiBkb19zb21ldGhpbmdfd2l0aCgkZHVtbXkpIHt9 CitmdW5jdGlvbiBsb2dfYW5kX2NvbnRpbnVlKCRlKSB7fQorCitjbGFzcyBTb21lU3BlY2lmaWNF eGNlcHRpb24gZXh0ZW5kcyBFeGNlcHRpb24geyB9Ci0tIAoyLjQzLjAKCg== --=_f410305b29631a7421d12819bebf4afd--