Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oW27T-0003Xj-ES for pgsql-hackers@arkaria.postgresql.org; Wed, 07 Sep 2022 20:58:00 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1oW27S-0006oy-9J for pgsql-hackers@arkaria.postgresql.org; Wed, 07 Sep 2022 20:57:58 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oW27R-0006oj-HY for pgsql-hackers@lists.postgresql.org; Wed, 07 Sep 2022 20:57:57 +0000 Received: from forward500p.mail.yandex.net ([2a02:6b8:0:1472:2741:0:8b7:110]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oW27M-00072Z-Mw for pgsql-hackers@lists.postgresql.org; Wed, 07 Sep 2022 20:57:56 +0000 Received: from iva6-cd10f6a5bd10.qloud-c.yandex.net (iva6-cd10f6a5bd10.qloud-c.yandex.net [IPv6:2a02:6b8:c0c:8c2b:0:640:cd10:f6a5]) by forward500p.mail.yandex.net (Yandex) with ESMTP id 2B358F01D37; Wed, 7 Sep 2022 23:57:48 +0300 (MSK) Received: from 2a02:6b8:c0c:9a82:0:640:d8ca:7b1d (2a02:6b8:c0c:9a82:0:640:d8ca:7b1d [2a02:6b8:c0c:9a82:0:640:d8ca:7b1d]) by iva6-cd10f6a5bd10.qloud-c.yandex.net (mxback/Yandex) with HTTP id Nvbvkf0fZiE1-vlf8aJh2; Wed, 07 Sep 2022 23:57:47 +0300 X-Yandex-Fwd: 1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arenadata.io; s=mail; t=1662584267; bh=EdEQpP5+f8gTNiV04Y7DfUltRJBsqCJ4DykckiiDShA=; h=References:Date:Message-Id:Cc:Subject:In-Reply-To:To:From; b=HkCUMNcOy87pDSwN5zHZ/HC/Kkiavsc43gxh0dgCitgQh5HLP2+tEeVi7w6Od68bb 51S3N2nJp/CiJSCXFYnK60MoBB6i1VHQsXmJrtBDBIvN94jbcmaxVnuLWq/ieJ4ZbM z9Rx4JdGSeMScNWOKGoQPgHm8k313w1QbTwc2vjY= Authentication-Results: iva6-cd10f6a5bd10.qloud-c.yandex.net; dkim=pass header.i=@arenadata.io Received: by iva6-d8ca7b1d7b79.qloud-c.yandex.net with HTTP; Wed, 07 Sep 2022 23:57:47 +0300 From: Andrey Sokolov To: Kyotaro Horiguchi Cc: "pgsql-hackers@lists.postgresql.org" In-Reply-To: <20220905.171210.1866682352957653815.horikyota.ntt@gmail.com> References: <942241662288242@mail.yandex.ru> <20220905.171210.1866682352957653815.horikyota.ntt@gmail.com> Subject: Re: [BUG] Storage declaration in ECPG MIME-Version: 1.0 X-Mailer: Yamail [ http://yandex.ru ] 5.0 Date: Wed, 07 Sep 2022 23:57:47 +0300 Message-Id: <303741662583862@mail.yandex.ru> Content-Type: multipart/mixed; boundary="----==--bound.212839.iva6-d8ca7b1d7b79.qloud-c.yandex.net" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk ------==--bound.212839.iva6-d8ca7b1d7b79.qloud-c.yandex.net Content-Transfer-Encoding: 8bit Content-Type: text/html; charset=utf-8
05.09.2022, 11:12, "Kyotaro Horiguchi" <horikyota.ntt@gmail.com>:
 

About the test, don't we need the test for non-varchar/bytea static
variables like "static int inta, intb, intc;"?

Good idea, thanks. I have added tests for static int and bytea. The new patch is in the attachment and here https://github.com/andr-sokolov/postgresql/commit/5a4adc1b5a2a0adfc152debcaf825e7a95a47450
------==--bound.212839.iva6-d8ca7b1d7b79.qloud-c.yandex.net Content-Disposition: attachment; filename="v2-0001-Fix-storage-declaration-in-ECPG.patch" Content-Transfer-Encoding: base64 Content-Type: text/x-diff; name="v2-0001-Fix-storage-declaration-in-ECPG.patch" RnJvbSA1YTRhZGMxYjVhMmEwYWRmYzE1MmRlYmNhZjgyNWU3YTk1YTQ3NDUwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbmRyZXkgU29rb2xvdiA8YS5zb2tvbG92QGFyZW5hZGF0YS5p bz4KRGF0ZTogU3VuLCA0IFNlcCAyMDIyIDEyOjQ4OjIyICswMzAwClN1YmplY3Q6IFtQQVRDSCB2 Ml0gRml4IHN0b3JhZ2UgZGVjbGFyYXRpb24gaW4gRUNQRwoKVGhlIEVDUEcgcHJlcHJvY2Vzc29y IGNvbnZlcnRlZCB0aGUgY29kZQoic3RhdGljIFZBUkNIQVIgc3RyMVsxMF0sIHN0cjJbMjBdLCBz dHIzWzMwXTsiCmludG8KInN0YXRpYyAgc3RydWN0IHZhcmNoYXJfMSAgeyBpbnQgbGVuOyBjaGFy IGFyclsgMTAgXTsgfSAgc3RyMSA7CiAgICAgICAgIHN0cnVjdCB2YXJjaGFyXzIgIHsgaW50IGxl bjsgY2hhciBhcnJbIDIwIF07IH0gIHN0cjIgOwogICAgICAgICBzdHJ1Y3QgdmFyY2hhcl8zICB7 IGludCBsZW47IGNoYXIgYXJyWyAzMCBdOyB9ICBzdHIzIDsiLgpTdG9yYWdlIGRlY2xhcmF0aW9u IGFwcGxpZWQgb25seSB0byB0aGUgZmlyc3Qgc3RydWN0dXJlLgpOb3cgc3RvcmFnZSBkZWNsYXJh dGlvbiBpcyByZXBlYXRlZCBiZWZvcmUgZWFjaCBzdHJ1Y3R1cmUuCi0tLQogc3JjL2ludGVyZmFj ZXMvZWNwZy9wcmVwcm9jL2VjcGcudHJhaWxlciAgICAgIHwgICA0ICstCiBzcmMvaW50ZXJmYWNl cy9lY3BnL3ByZXByb2MvdHlwZS5oICAgICAgICAgICAgfCAgIDEgKwogc3JjL2ludGVyZmFjZXMv ZWNwZy90ZXN0L2VjcGdfc2NoZWR1bGUgICAgICAgIHwgICAxICsKIC4uLi90ZXN0L2V4cGVjdGVk L3ByZXByb2Mtc3RhdGljX3ZhcmlhYmxlcy5jICB8IDIxNSArKysrKysrKysrKysrKysrKysKIC4u Li9leHBlY3RlZC9wcmVwcm9jLXN0YXRpY192YXJpYWJsZXMuc3RkZXJyICB8IDE1MCArKysrKysr KysrKysKIC4uLi9leHBlY3RlZC9wcmVwcm9jLXN0YXRpY192YXJpYWJsZXMuc3Rkb3V0ICB8ICAx MiArCiBzcmMvaW50ZXJmYWNlcy9lY3BnL3Rlc3QvcHJlcHJvYy8uZ2l0aWdub3JlICAgfCAgIDIg Kwogc3JjL2ludGVyZmFjZXMvZWNwZy90ZXN0L3ByZXByb2MvTWFrZWZpbGUgICAgIHwgICAxICsK IC4uLi9lY3BnL3Rlc3QvcHJlcHJvYy9zdGF0aWNfdmFyaWFibGVzLnBnYyAgICB8IDExOCArKysr KysrKysrCiA5IGZpbGVzIGNoYW5nZWQsIDUwMyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0p CiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL2ludGVyZmFjZXMvZWNwZy90ZXN0L2V4cGVjdGVkL3By ZXByb2Mtc3RhdGljX3ZhcmlhYmxlcy5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL2ludGVyZmFj ZXMvZWNwZy90ZXN0L2V4cGVjdGVkL3ByZXByb2Mtc3RhdGljX3ZhcmlhYmxlcy5zdGRlcnIKIGNy ZWF0ZSBtb2RlIDEwMDY0NCBzcmMvaW50ZXJmYWNlcy9lY3BnL3Rlc3QvZXhwZWN0ZWQvcHJlcHJv Yy1zdGF0aWNfdmFyaWFibGVzLnN0ZG91dAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy9pbnRlcmZh Y2VzL2VjcGcvdGVzdC9wcmVwcm9jL3N0YXRpY192YXJpYWJsZXMucGdjCgpkaWZmIC0tZ2l0IGEv c3JjL2ludGVyZmFjZXMvZWNwZy9wcmVwcm9jL2VjcGcudHJhaWxlciBiL3NyYy9pbnRlcmZhY2Vz L2VjcGcvcHJlcHJvYy9lY3BnLnRyYWlsZXIKaW5kZXggMGIxMDBiOWIwNC4uNTQyNTRlMmY5NyAx MDA2NDQKLS0tIGEvc3JjL2ludGVyZmFjZXMvZWNwZy9wcmVwcm9jL2VjcGcudHJhaWxlcgorKysg Yi9zcmMvaW50ZXJmYWNlcy9lY3BnL3ByZXByb2MvZWNwZy50cmFpbGVyCkBAIC00NzksNiArNDc5 LDcgQEAgdHlwZV9kZWNsYXJhdGlvbjogU19UWVBFREVGCiB2YXJfZGVjbGFyYXRpb246IHN0b3Jh Z2VfZGVjbGFyYXRpb24KIAkJdmFyX3R5cGUKIAkJeworCQkJYWN0dWFsX3R5cGVbc3RydWN0X2xl dmVsXS50eXBlX3N0b3JhZ2UgPSAkMTsKIAkJCWFjdHVhbF90eXBlW3N0cnVjdF9sZXZlbF0udHlw ZV9lbnVtID0gJDIudHlwZV9lbnVtOwogCQkJYWN0dWFsX3R5cGVbc3RydWN0X2xldmVsXS50eXBl X3N0ciA9ICQyLnR5cGVfc3RyOwogCQkJYWN0dWFsX3R5cGVbc3RydWN0X2xldmVsXS50eXBlX2Rp bWVuc2lvbiA9ICQyLnR5cGVfZGltZW5zaW9uOwpAQCAtNDkzLDYgKzQ5NCw3IEBAIHZhcl9kZWNs YXJhdGlvbjogc3RvcmFnZV9kZWNsYXJhdGlvbgogCQl9CiAJCXwgdmFyX3R5cGUKIAkJeworCQkJ YWN0dWFsX3R5cGVbc3RydWN0X2xldmVsXS50eXBlX3N0b3JhZ2UgPSBFTVBUWTsKIAkJCWFjdHVh bF90eXBlW3N0cnVjdF9sZXZlbF0udHlwZV9lbnVtID0gJDEudHlwZV9lbnVtOwogCQkJYWN0dWFs X3R5cGVbc3RydWN0X2xldmVsXS50eXBlX3N0ciA9ICQxLnR5cGVfc3RyOwogCQkJYWN0dWFsX3R5 cGVbc3RydWN0X2xldmVsXS50eXBlX2RpbWVuc2lvbiA9ICQxLnR5cGVfZGltZW5zaW9uOwpAQCAt OTQ5LDcgKzk1MSw3IEBAIHZhcmlhYmxlX2xpc3Q6IHZhcmlhYmxlCiAJCXwgdmFyaWFibGVfbGlz dCAnLCcgdmFyaWFibGUKIAkJewogCQkJaWYgKGFjdHVhbF90eXBlW3N0cnVjdF9sZXZlbF0udHlw ZV9lbnVtID09IEVDUEd0X3ZhcmNoYXIgfHwgYWN0dWFsX3R5cGVbc3RydWN0X2xldmVsXS50eXBl X2VudW0gPT0gRUNQR3RfYnl0ZWEpCi0JCQkJJCQgPSBjYXRfc3RyKDMsICQxLCBtbV9zdHJkdXAo IjsiKSwgJDMpOworCQkJCSQkID0gY2F0X3N0cig0LCAkMSwgbW1fc3RyZHVwKCI7IiksIG1tX3N0 cmR1cChhY3R1YWxfdHlwZVtzdHJ1Y3RfbGV2ZWxdLnR5cGVfc3RvcmFnZSksICQzKTsKIAkJCWVs c2UKIAkJCQkkJCA9IGNhdF9zdHIoMywgJDEsIG1tX3N0cmR1cCgiLCIpLCAkMyk7CiAJCX0KZGlm ZiAtLWdpdCBhL3NyYy9pbnRlcmZhY2VzL2VjcGcvcHJlcHJvYy90eXBlLmggYi9zcmMvaW50ZXJm YWNlcy9lY3BnL3ByZXByb2MvdHlwZS5oCmluZGV4IGZiMjBiZTUzZTAuLjA4YjczOWU1ZjMgMTAw NjQ0Ci0tLSBhL3NyYy9pbnRlcmZhY2VzL2VjcGcvcHJlcHJvYy90eXBlLmgKKysrIGIvc3JjL2lu dGVyZmFjZXMvZWNwZy9wcmVwcm9jL3R5cGUuaApAQCAtMTE0LDYgKzExNCw3IEBAIHN0cnVjdCBl eGVjCiAKIHN0cnVjdCB0aGlzX3R5cGUKIHsKKwljaGFyCSAgICp0eXBlX3N0b3JhZ2U7CiAJZW51 bSBFQ1BHdHR5cGUgdHlwZV9lbnVtOwogCWNoYXIJICAgKnR5cGVfc3RyOwogCWNoYXIJICAgKnR5 cGVfZGltZW5zaW9uOwpkaWZmIC0tZ2l0IGEvc3JjL2ludGVyZmFjZXMvZWNwZy90ZXN0L2VjcGdf c2NoZWR1bGUgYi9zcmMvaW50ZXJmYWNlcy9lY3BnL3Rlc3QvZWNwZ19zY2hlZHVsZQppbmRleCBl MDM0YzVhNDIwLi5kNTk0YzRkOWIwIDEwMDY0NAotLS0gYS9zcmMvaW50ZXJmYWNlcy9lY3BnL3Rl c3QvZWNwZ19zY2hlZHVsZQorKysgYi9zcmMvaW50ZXJmYWNlcy9lY3BnL3Rlc3QvZWNwZ19zY2hl ZHVsZQpAQCAtMjQsNiArMjQsNyBAQCB0ZXN0OiBwcmVwcm9jL2NvbW1lbnQKIHRlc3Q6IHByZXBy b2MvY3Vyc29yCiB0ZXN0OiBwcmVwcm9jL2RlZmluZQogdGVzdDogcHJlcHJvYy9pbml0Cit0ZXN0 OiBwcmVwcm9jL3N0YXRpY192YXJpYWJsZXMKIHRlc3Q6IHByZXByb2Mvc3RyaW5ncwogdGVzdDog cHJlcHJvYy90eXBlCiB0ZXN0OiBwcmVwcm9jL3ZhcmlhYmxlCmRpZmYgLS1naXQgYS9zcmMvaW50 ZXJmYWNlcy9lY3BnL3Rlc3QvZXhwZWN0ZWQvcHJlcHJvYy1zdGF0aWNfdmFyaWFibGVzLmMgYi9z cmMvaW50ZXJmYWNlcy9lY3BnL3Rlc3QvZXhwZWN0ZWQvcHJlcHJvYy1zdGF0aWNfdmFyaWFibGVz LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uNWE2YmNlZTY2NgotLS0g L2Rldi9udWxsCisrKyBiL3NyYy9pbnRlcmZhY2VzL2VjcGcvdGVzdC9leHBlY3RlZC9wcmVwcm9j LXN0YXRpY192YXJpYWJsZXMuYwpAQCAtMCwwICsxLDIxNSBAQAorLyogUHJvY2Vzc2VkIGJ5IGVj cGcgKHJlZ3Jlc3Npb24gbW9kZSkgKi8KKy8qIFRoZXNlIGluY2x1ZGUgZmlsZXMgYXJlIGFkZGVk IGJ5IHRoZSBwcmVwcm9jZXNzb3IgKi8KKyNpbmNsdWRlIDxlY3BnbGliLmg+CisjaW5jbHVkZSA8 ZWNwZ2Vycm5vLmg+CisjaW5jbHVkZSA8c3FsY2EuaD4KKy8qIEVuZCBvZiBhdXRvbWF0aWMgaW5j bHVkZSBzZWN0aW9uICovCisjZGVmaW5lIEVDUEdkZWJ1ZyhYLFkpIEVDUEdkZWJ1ZygoWCkrMTAw LChZKSkKKworI2xpbmUgMSAic3RhdGljX3ZhcmlhYmxlcy5wZ2MiCisjaW5jbHVkZSA8c3RkbGli Lmg+CisKKworI2xpbmUgMSAicmVncmVzc2lvbi5oIgorCisKKworCisKKworI2xpbmUgMyAic3Rh dGljX3ZhcmlhYmxlcy5wZ2MiCisKKworLyogZXhlYyBzcWwgd2hlbmV2ZXIgc3FsZXJyb3IgIHN0 b3AgOyAqLworI2xpbmUgNSAic3RhdGljX3ZhcmlhYmxlcy5wZ2MiCisKKworLyogZGVjbGFyZSBj dXIgY3Vyc29yIGZvciBzZWxlY3QgZmlyc3RuYW1lICwgbGFzdG5hbWUgLCBhZGRyZXNzICwgeWVh cl9vZl9iaXJ0aCAsIGhlaWdodF9pbl9zbSAsIHdlaWdodF9pbl9rZyAsIGRhdGExICwgZGF0YTIg LCBkYXRhMyBmcm9tIHBlcnNvbnMgKi8KKyNsaW5lIDExICJzdGF0aWNfdmFyaWFibGVzLnBnYyIK KworCisvKiBleGVjIHNxbCBiZWdpbiBkZWNsYXJlIHNlY3Rpb24gKi8KKwkgICAgCisJICAgIAor CSAgICAgICAgCisJCQkJICAgIAorCisjbGluZSAxNCAic3RhdGljX3ZhcmlhYmxlcy5wZ2MiCisg c3RhdGljICBzdHJ1Y3QgdmFyY2hhcl8xICB7IGludCBsZW47IGNoYXIgYXJyWyA1MCBdOyB9ICBm aXJzdG5hbWUgOyBzdGF0aWMgIHN0cnVjdCB2YXJjaGFyXzIgIHsgaW50IGxlbjsgY2hhciBhcnJb IDUwIF07IH0gIGxhc3RuYW1lIDsgc3RhdGljICBzdHJ1Y3QgdmFyY2hhcl8zICB7IGludCBsZW47 IGNoYXIgYXJyWyAyNTUgXTsgfSAgYWRkcmVzcyA7CisgCisjbGluZSAxNSAic3RhdGljX3Zhcmlh Ymxlcy5wZ2MiCisgc3RhdGljIGludCB5ZWFyX29mX2JpcnRoICwgaGVpZ2h0X2luX3NtICwgd2Vp Z2h0X2luX2tnIDsKKyAKKyNsaW5lIDE2ICJzdGF0aWNfdmFyaWFibGVzLnBnYyIKKyBzdGF0aWMg IHN0cnVjdCBieXRlYV8xICB7IGludCBsZW47IGNoYXIgYXJyWyA1IF07IH0gIGRhdGExIDsgc3Rh dGljICBzdHJ1Y3QgYnl0ZWFfMiAgeyBpbnQgbGVuOyBjaGFyIGFyclsgOCBdOyB9ICBkYXRhMiA7 IHN0YXRpYyAgc3RydWN0IGJ5dGVhXzMgIHsgaW50IGxlbjsgY2hhciBhcnJbIDEyIF07IH0gIGRh dGEzIDsgc3RhdGljICBzdHJ1Y3QgYnl0ZWFfNCAgeyBpbnQgbGVuOyBjaGFyIGFyclsgNSBdOyB9 ICBkYXRhMV8yIDsgc3RhdGljICBzdHJ1Y3QgYnl0ZWFfNSAgeyBpbnQgbGVuOyBjaGFyIGFyclsg OCBdOyB9ICBkYXRhMl8yIDsgc3RhdGljICBzdHJ1Y3QgYnl0ZWFfNiAgeyBpbnQgbGVuOyBjaGFy IGFyclsgMTIgXTsgfSAgZGF0YTNfMiA7CisvKiBleGVjIHNxbCBlbmQgZGVjbGFyZSBzZWN0aW9u ICovCisjbGluZSAxOCAic3RhdGljX3ZhcmlhYmxlcy5wZ2MiCisKKworc3RhdGljIHZvaWQKK2R1 bXBfYmluYXJ5KGNoYXIgKmJ1ZiwgaW50IGxlbikKK3sKKwlpbnQgaTsKKworCXByaW50ZigibGVu PSVkLCBkYXRhPTB4IiwgbGVuKTsKKwlmb3IgKGkgPSAwOyBpIDwgbGVuOyArK2kpCisJCXByaW50 ZigiJTAyeCIsIGJ1ZltpXSk7CisJcHJpbnRmKCJcbiIpOworfQorCitpbnQKK21haW4gKHZvaWQp Cit7CisJaW50IGxvb3Bjb3VudDsKKworCUVDUEdkZWJ1ZygxLCBzdGRlcnIpOworCisJeyBFQ1BH Y29ubmVjdChfX0xJTkVfXywgMCwgImVjcGcxX3JlZ3Jlc3Npb24iICwgTlVMTCwgTlVMTCAsIE5V TEwsIDApOyAKKyNsaW5lIDM4ICJzdGF0aWNfdmFyaWFibGVzLnBnYyIKKworaWYgKHNxbGNhLnNx bGNvZGUgPCAwKSBleGl0ICgxKTt9CisjbGluZSAzOCAic3RhdGljX3ZhcmlhYmxlcy5wZ2MiCisK KworCXsgRUNQR2RvKF9fTElORV9fLCAwLCAxLCBOVUxMLCAwLCBFQ1BHc3Rfbm9ybWFsLCAiY3Jl YXRlIHRhYmxlIHBlcnNvbnMgKCBmaXJzdG5hbWUgdmFyY2hhciAoIDUwICkgbm90IG51bGwgLCBs YXN0bmFtZSB2YXJjaGFyICggNTAgKSBub3QgbnVsbCAsIGFkZHJlc3MgdmFyY2hhciAoIDI1NSAp IG5vdCBudWxsICwgeWVhcl9vZl9iaXJ0aCBpbnQgbm90IG51bGwgLCBoZWlnaHRfaW5fc20gaW50 IG5vdCBudWxsICwgd2VpZ2h0X2luX2tnIGludCBub3QgbnVsbCAsIGRhdGExIGJ5dGVhIG5vdCBu dWxsICwgZGF0YTIgYnl0ZWEgbm90IG51bGwgLCBkYXRhMyBieXRlYSBub3QgbnVsbCApIiwgRUNQ R3RfRU9JVCwgRUNQR3RfRU9SVCk7CisjbGluZSA1MCAic3RhdGljX3ZhcmlhYmxlcy5wZ2MiCisK K2lmIChzcWxjYS5zcWxjb2RlIDwgMCkgZXhpdCAoMSk7fQorI2xpbmUgNTAgInN0YXRpY192YXJp YWJsZXMucGdjIgorCisKKwlkYXRhMS5sZW4gPSA1OworCWZvciAobG9vcGNvdW50ID0gMDsgbG9v cGNvdW50IDwgZGF0YTEubGVuOyBsb29wY291bnQrKykKKwkJZGF0YTEuYXJyW2xvb3Bjb3VudF0g PSAxOworCisJZGF0YTIubGVuID0gODsKKwlmb3IgKGxvb3Bjb3VudCA9IDA7IGxvb3Bjb3VudCA8 IGRhdGEyLmxlbjsgbG9vcGNvdW50KyspCisJCWRhdGEyLmFycltsb29wY291bnRdID0gMjsKKwor CWRhdGEzLmxlbiA9IDEyOworCWZvciAobG9vcGNvdW50ID0gMDsgbG9vcGNvdW50IDwgZGF0YTMu bGVuOyBsb29wY291bnQrKykKKwkJZGF0YTMuYXJyW2xvb3Bjb3VudF0gPSAzOworCisJeyBFQ1BH ZG8oX19MSU5FX18sIDAsIDEsIE5VTEwsIDAsIEVDUEdzdF9ub3JtYWwsICJpbnNlcnQgaW50byBw ZXJzb25zICggZmlyc3RuYW1lICwgbGFzdG5hbWUgLCBhZGRyZXNzICwgeWVhcl9vZl9iaXJ0aCAs IGhlaWdodF9pbl9zbSAsIHdlaWdodF9pbl9rZyAsIGRhdGExICwgZGF0YTIgLCBkYXRhMyApIHZh bHVlcyAoICdmaXJzdG5hbWUxJyAsICdsYXN0bmFtZTEnICwgJ2FkZHJlc3MxJyAsIDE5ODUgLCAx ODAgLCA3MCAsICQxICAsICQyICAsICQzICApIiwgCisJRUNQR3RfYnl0ZWEsJihkYXRhMSksKGxv bmcpNSwobG9uZykxLHNpemVvZihzdHJ1Y3QgYnl0ZWFfMSksIAorCUVDUEd0X05PX0lORElDQVRP UiwgTlVMTCAsIDBMLCAwTCwgMEwsIAorCUVDUEd0X2J5dGVhLCYoZGF0YTIpLChsb25nKTgsKGxv bmcpMSxzaXplb2Yoc3RydWN0IGJ5dGVhXzIpLCAKKwlFQ1BHdF9OT19JTkRJQ0FUT1IsIE5VTEwg LCAwTCwgMEwsIDBMLCAKKwlFQ1BHdF9ieXRlYSwmKGRhdGEzKSwobG9uZykxMiwobG9uZykxLHNp emVvZihzdHJ1Y3QgYnl0ZWFfMyksIAorCUVDUEd0X05PX0lORElDQVRPUiwgTlVMTCAsIDBMLCAw TCwgMEwsIEVDUEd0X0VPSVQsIEVDUEd0X0VPUlQpOworI2xpbmUgNzEgInN0YXRpY192YXJpYWJs ZXMucGdjIgorCitpZiAoc3FsY2Euc3FsY29kZSA8IDApIGV4aXQgKDEpO30KKyNsaW5lIDcxICJz dGF0aWNfdmFyaWFibGVzLnBnYyIKKworCisJeyBFQ1BHZG8oX19MSU5FX18sIDAsIDEsIE5VTEws IDAsIEVDUEdzdF9ub3JtYWwsICJpbnNlcnQgaW50byBwZXJzb25zICggZmlyc3RuYW1lICwgbGFz dG5hbWUgLCBhZGRyZXNzICwgeWVhcl9vZl9iaXJ0aCAsIGhlaWdodF9pbl9zbSAsIHdlaWdodF9p bl9rZyAsIGRhdGExICwgZGF0YTIgLCBkYXRhMyApIHZhbHVlcyAoICdmaXJzdG5hbWUyJyAsICds YXN0bmFtZTInICwgJ2FkZHJlc3MyJyAsIDE5OTUgLCAxNzAgLCA2NSAsICQxICAsICQyICAsICQz ICApIiwgCisJRUNQR3RfYnl0ZWEsJihkYXRhMSksKGxvbmcpNSwobG9uZykxLHNpemVvZihzdHJ1 Y3QgYnl0ZWFfMSksIAorCUVDUEd0X05PX0lORElDQVRPUiwgTlVMTCAsIDBMLCAwTCwgMEwsIAor CUVDUEd0X2J5dGVhLCYoZGF0YTIpLChsb25nKTgsKGxvbmcpMSxzaXplb2Yoc3RydWN0IGJ5dGVh XzIpLCAKKwlFQ1BHdF9OT19JTkRJQ0FUT1IsIE5VTEwgLCAwTCwgMEwsIDBMLCAKKwlFQ1BHdF9i eXRlYSwmKGRhdGEzKSwobG9uZykxMiwobG9uZykxLHNpemVvZihzdHJ1Y3QgYnl0ZWFfMyksIAor CUVDUEd0X05PX0lORElDQVRPUiwgTlVMTCAsIDBMLCAwTCwgMEwsIEVDUEd0X0VPSVQsIEVDUEd0 X0VPUlQpOworI2xpbmUgODAgInN0YXRpY192YXJpYWJsZXMucGdjIgorCitpZiAoc3FsY2Euc3Fs Y29kZSA8IDApIGV4aXQgKDEpO30KKyNsaW5lIDgwICJzdGF0aWNfdmFyaWFibGVzLnBnYyIKKwor CisJeyBFQ1BHZG8oX19MSU5FX18sIDAsIDEsIE5VTEwsIDAsIEVDUEdzdF9ub3JtYWwsICJpbnNl cnQgaW50byBwZXJzb25zICggZmlyc3RuYW1lICwgbGFzdG5hbWUgLCBhZGRyZXNzICwgeWVhcl9v Zl9iaXJ0aCAsIGhlaWdodF9pbl9zbSAsIHdlaWdodF9pbl9rZyAsIGRhdGExICwgZGF0YTIgLCBk YXRhMyApIHZhbHVlcyAoICdmaXJzdG5hbWUzJyAsICdsYXN0bmFtZTMnICwgJ2FkZHJlc3MzJyAs IDIwMDAgLCAxNzIgLCA4MCAsICQxICAsICQyICAsICQzICApIiwgCisJRUNQR3RfYnl0ZWEsJihk YXRhMSksKGxvbmcpNSwobG9uZykxLHNpemVvZihzdHJ1Y3QgYnl0ZWFfMSksIAorCUVDUEd0X05P X0lORElDQVRPUiwgTlVMTCAsIDBMLCAwTCwgMEwsIAorCUVDUEd0X2J5dGVhLCYoZGF0YTIpLChs b25nKTgsKGxvbmcpMSxzaXplb2Yoc3RydWN0IGJ5dGVhXzIpLCAKKwlFQ1BHdF9OT19JTkRJQ0FU T1IsIE5VTEwgLCAwTCwgMEwsIDBMLCAKKwlFQ1BHdF9ieXRlYSwmKGRhdGEzKSwobG9uZykxMiwo bG9uZykxLHNpemVvZihzdHJ1Y3QgYnl0ZWFfMyksIAorCUVDUEd0X05PX0lORElDQVRPUiwgTlVM TCAsIDBMLCAwTCwgMEwsIEVDUEd0X0VPSVQsIEVDUEd0X0VPUlQpOworI2xpbmUgODkgInN0YXRp Y192YXJpYWJsZXMucGdjIgorCitpZiAoc3FsY2Euc3FsY29kZSA8IDApIGV4aXQgKDEpO30KKyNs aW5lIDg5ICJzdGF0aWNfdmFyaWFibGVzLnBnYyIKKworCisJeyBFQ1BHdHJhbnMoX19MSU5FX18s IE5VTEwsICJjb21taXQiKTsKKyNsaW5lIDkxICJzdGF0aWNfdmFyaWFibGVzLnBnYyIKKworaWYg KHNxbGNhLnNxbGNvZGUgPCAwKSBleGl0ICgxKTt9CisjbGluZSA5MSAic3RhdGljX3ZhcmlhYmxl cy5wZ2MiCisKKworCXsgRUNQR2RvKF9fTElORV9fLCAwLCAxLCBOVUxMLCAwLCBFQ1BHc3Rfbm9y bWFsLCAiZGVjbGFyZSBjdXIgY3Vyc29yIGZvciBzZWxlY3QgZmlyc3RuYW1lICwgbGFzdG5hbWUg LCBhZGRyZXNzICwgeWVhcl9vZl9iaXJ0aCAsIGhlaWdodF9pbl9zbSAsIHdlaWdodF9pbl9rZyAs IGRhdGExICwgZGF0YTIgLCBkYXRhMyBmcm9tIHBlcnNvbnMiLCBFQ1BHdF9FT0lULCBFQ1BHdF9F T1JUKTsKKyNsaW5lIDkzICJzdGF0aWNfdmFyaWFibGVzLnBnYyIKKworaWYgKHNxbGNhLnNxbGNv ZGUgPCAwKSBleGl0ICgxKTt9CisjbGluZSA5MyAic3RhdGljX3ZhcmlhYmxlcy5wZ2MiCisKKwor CS8qIGV4ZWMgc3FsIHdoZW5ldmVyIG5vdCBmb3VuZCAgYnJlYWsgOyAqLworI2xpbmUgOTUgInN0 YXRpY192YXJpYWJsZXMucGdjIgorCisKKwlmb3IgKGxvb3Bjb3VudCA9IDA7IGxvb3Bjb3VudCA8 IDEwMDsgbG9vcGNvdW50KyspCisJeworCQl7IEVDUEdkbyhfX0xJTkVfXywgMCwgMSwgTlVMTCwg MCwgRUNQR3N0X25vcm1hbCwgImZldGNoIGN1ciIsIEVDUEd0X0VPSVQsIAorCUVDUEd0X3ZhcmNo YXIsJihmaXJzdG5hbWUpLChsb25nKTUwLChsb25nKTEsc2l6ZW9mKHN0cnVjdCB2YXJjaGFyXzEp LCAKKwlFQ1BHdF9OT19JTkRJQ0FUT1IsIE5VTEwgLCAwTCwgMEwsIDBMLCAKKwlFQ1BHdF92YXJj aGFyLCYobGFzdG5hbWUpLChsb25nKTUwLChsb25nKTEsc2l6ZW9mKHN0cnVjdCB2YXJjaGFyXzIp LCAKKwlFQ1BHdF9OT19JTkRJQ0FUT1IsIE5VTEwgLCAwTCwgMEwsIDBMLCAKKwlFQ1BHdF92YXJj aGFyLCYoYWRkcmVzcyksKGxvbmcpMjU1LChsb25nKTEsc2l6ZW9mKHN0cnVjdCB2YXJjaGFyXzMp LCAKKwlFQ1BHdF9OT19JTkRJQ0FUT1IsIE5VTEwgLCAwTCwgMEwsIDBMLCAKKwlFQ1BHdF9pbnQs Jih5ZWFyX29mX2JpcnRoKSwobG9uZykxLChsb25nKTEsc2l6ZW9mKGludCksIAorCUVDUEd0X05P X0lORElDQVRPUiwgTlVMTCAsIDBMLCAwTCwgMEwsIAorCUVDUEd0X2ludCwmKGhlaWdodF9pbl9z bSksKGxvbmcpMSwobG9uZykxLHNpemVvZihpbnQpLCAKKwlFQ1BHdF9OT19JTkRJQ0FUT1IsIE5V TEwgLCAwTCwgMEwsIDBMLCAKKwlFQ1BHdF9pbnQsJih3ZWlnaHRfaW5fa2cpLChsb25nKTEsKGxv bmcpMSxzaXplb2YoaW50KSwgCisJRUNQR3RfTk9fSU5ESUNBVE9SLCBOVUxMICwgMEwsIDBMLCAw TCwgCisJRUNQR3RfYnl0ZWEsJihkYXRhMV8yKSwobG9uZyk1LChsb25nKTEsc2l6ZW9mKHN0cnVj dCBieXRlYV80KSwgCisJRUNQR3RfTk9fSU5ESUNBVE9SLCBOVUxMICwgMEwsIDBMLCAwTCwgCisJ RUNQR3RfYnl0ZWEsJihkYXRhMl8yKSwobG9uZyk4LChsb25nKTEsc2l6ZW9mKHN0cnVjdCBieXRl YV81KSwgCisJRUNQR3RfTk9fSU5ESUNBVE9SLCBOVUxMICwgMEwsIDBMLCAwTCwgCisJRUNQR3Rf Ynl0ZWEsJihkYXRhM18yKSwobG9uZykxMiwobG9uZykxLHNpemVvZihzdHJ1Y3QgYnl0ZWFfNiks IAorCUVDUEd0X05PX0lORElDQVRPUiwgTlVMTCAsIDBMLCAwTCwgMEwsIEVDUEd0X0VPUlQpOwor I2xpbmUgMTAxICJzdGF0aWNfdmFyaWFibGVzLnBnYyIKKworaWYgKHNxbGNhLnNxbGNvZGUgPT0g RUNQR19OT1RfRk9VTkQpIGJyZWFrOworI2xpbmUgMTAxICJzdGF0aWNfdmFyaWFibGVzLnBnYyIK KworaWYgKHNxbGNhLnNxbGNvZGUgPCAwKSBleGl0ICgxKTt9CisjbGluZSAxMDEgInN0YXRpY192 YXJpYWJsZXMucGdjIgorCisKKwkJcHJpbnRmKCIlLipzXHQlLipzXHQlLipzXHQlaVx0JWlcdCVp XG4iLAorCQkJZmlyc3RuYW1lLmxlbiwgZmlyc3RuYW1lLmFyciwKKwkJCWxhc3RuYW1lLmxlbiwg bGFzdG5hbWUuYXJyLAorCQkJYWRkcmVzcy5sZW4sIGFkZHJlc3MuYXJyLAorCQkJeWVhcl9vZl9i aXJ0aCwgaGVpZ2h0X2luX3NtLCB3ZWlnaHRfaW5fa2cpOworCQlkdW1wX2JpbmFyeShkYXRhMV8y LmFyciwgZGF0YTFfMi5sZW4pOworCQlkdW1wX2JpbmFyeShkYXRhMl8yLmFyciwgZGF0YTJfMi5s ZW4pOworCQlkdW1wX2JpbmFyeShkYXRhM18yLmFyciwgZGF0YTNfMi5sZW4pOworCX0KKworCXsg RUNQR2RvKF9fTElORV9fLCAwLCAxLCBOVUxMLCAwLCBFQ1BHc3Rfbm9ybWFsLCAiY2xvc2UgY3Vy IiwgRUNQR3RfRU9JVCwgRUNQR3RfRU9SVCk7CisjbGluZSAxMTMgInN0YXRpY192YXJpYWJsZXMu cGdjIgorCitpZiAoc3FsY2Euc3FsY29kZSA8IDApIGV4aXQgKDEpO30KKyNsaW5lIDExMyAic3Rh dGljX3ZhcmlhYmxlcy5wZ2MiCisKKwl7IEVDUEdkbyhfX0xJTkVfXywgMCwgMSwgTlVMTCwgMCwg RUNQR3N0X25vcm1hbCwgImRyb3AgdGFibGUgcGVyc29ucyIsIEVDUEd0X0VPSVQsIEVDUEd0X0VP UlQpOworI2xpbmUgMTE0ICJzdGF0aWNfdmFyaWFibGVzLnBnYyIKKworaWYgKHNxbGNhLnNxbGNv ZGUgPCAwKSBleGl0ICgxKTt9CisjbGluZSAxMTQgInN0YXRpY192YXJpYWJsZXMucGdjIgorCisJ eyBFQ1BHdHJhbnMoX19MSU5FX18sIE5VTEwsICJjb21taXQiKTsKKyNsaW5lIDExNSAic3RhdGlj X3ZhcmlhYmxlcy5wZ2MiCisKK2lmIChzcWxjYS5zcWxjb2RlIDwgMCkgZXhpdCAoMSk7fQorI2xp bmUgMTE1ICJzdGF0aWNfdmFyaWFibGVzLnBnYyIKKworCXsgRUNQR2Rpc2Nvbm5lY3QoX19MSU5F X18sICJDVVJSRU5UIik7CisjbGluZSAxMTYgInN0YXRpY192YXJpYWJsZXMucGdjIgorCitpZiAo c3FsY2Euc3FsY29kZSA8IDApIGV4aXQgKDEpO30KKyNsaW5lIDExNiAic3RhdGljX3ZhcmlhYmxl cy5wZ2MiCisKKwlyZXR1cm4gMDsKK30KZGlmZiAtLWdpdCBhL3NyYy9pbnRlcmZhY2VzL2VjcGcv dGVzdC9leHBlY3RlZC9wcmVwcm9jLXN0YXRpY192YXJpYWJsZXMuc3RkZXJyIGIvc3JjL2ludGVy ZmFjZXMvZWNwZy90ZXN0L2V4cGVjdGVkL3ByZXByb2Mtc3RhdGljX3ZhcmlhYmxlcy5zdGRlcnIK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uYjNlOTRmMWM1MgotLS0gL2Rl di9udWxsCisrKyBiL3NyYy9pbnRlcmZhY2VzL2VjcGcvdGVzdC9leHBlY3RlZC9wcmVwcm9jLXN0 YXRpY192YXJpYWJsZXMuc3RkZXJyCkBAIC0wLDAgKzEsMTUwIEBACitbTk9fUElEXTogRUNQR2Rl YnVnOiBzZXQgdG8gMQorW05PX1BJRF06IHNxbGNhOiBjb2RlOiAwLCBzdGF0ZTogMDAwMDAKK1tO T19QSURdOiBFQ1BHY29ubmVjdDogb3BlbmluZyBkYXRhYmFzZSBlY3BnMV9yZWdyZXNzaW9uIG9u IDxERUZBVUxUPiBwb3J0IDxERUZBVUxUPiAgCitbTk9fUElEXTogc3FsY2E6IGNvZGU6IDAsIHN0 YXRlOiAwMDAwMAorW05PX1BJRF06IGVjcGdfZXhlY3V0ZSBvbiBsaW5lIDQwOiBxdWVyeTogY3Jl YXRlIHRhYmxlIHBlcnNvbnMgKCBmaXJzdG5hbWUgdmFyY2hhciAoIDUwICkgbm90IG51bGwgLCBs YXN0bmFtZSB2YXJjaGFyICggNTAgKSBub3QgbnVsbCAsIGFkZHJlc3MgdmFyY2hhciAoIDI1NSAp IG5vdCBudWxsICwgeWVhcl9vZl9iaXJ0aCBpbnQgbm90IG51bGwgLCBoZWlnaHRfaW5fc20gaW50 IG5vdCBudWxsICwgd2VpZ2h0X2luX2tnIGludCBub3QgbnVsbCAsIGRhdGExIGJ5dGVhIG5vdCBu dWxsICwgZGF0YTIgYnl0ZWEgbm90IG51bGwgLCBkYXRhMyBieXRlYSBub3QgbnVsbCApOyB3aXRo IDAgcGFyYW1ldGVyKHMpIG9uIGNvbm5lY3Rpb24gZWNwZzFfcmVncmVzc2lvbgorW05PX1BJRF06 IHNxbGNhOiBjb2RlOiAwLCBzdGF0ZTogMDAwMDAKK1tOT19QSURdOiBlY3BnX2V4ZWN1dGUgb24g bGluZSA0MDogdXNpbmcgUFFleGVjCitbTk9fUElEXTogc3FsY2E6IGNvZGU6IDAsIHN0YXRlOiAw MDAwMAorW05PX1BJRF06IGVjcGdfcHJvY2Vzc19vdXRwdXQgb24gbGluZSA0MDogT0s6IENSRUFU RSBUQUJMRQorW05PX1BJRF06IHNxbGNhOiBjb2RlOiAwLCBzdGF0ZTogMDAwMDAKK1tOT19QSURd OiBlY3BnX2V4ZWN1dGUgb24gbGluZSA2NDogcXVlcnk6IGluc2VydCBpbnRvIHBlcnNvbnMgKCBm aXJzdG5hbWUgLCBsYXN0bmFtZSAsIGFkZHJlc3MgLCB5ZWFyX29mX2JpcnRoICwgaGVpZ2h0X2lu X3NtICwgd2VpZ2h0X2luX2tnICwgZGF0YTEgLCBkYXRhMiAsIGRhdGEzICkgdmFsdWVzICggJ2Zp cnN0bmFtZTEnICwgJ2xhc3RuYW1lMScgLCAnYWRkcmVzczEnICwgMTk4NSAsIDE4MCAsIDcwICwg JDEgICwgJDIgICwgJDMgICk7IHdpdGggMyBwYXJhbWV0ZXIocykgb24gY29ubmVjdGlvbiBlY3Bn MV9yZWdyZXNzaW9uCitbTk9fUElEXTogc3FsY2E6IGNvZGU6IDAsIHN0YXRlOiAwMDAwMAorW05P X1BJRF06IGVjcGdfZXhlY3V0ZSBvbiBsaW5lIDY0OiB1c2luZyBQUWV4ZWNQYXJhbXMKK1tOT19Q SURdOiBzcWxjYTogY29kZTogMCwgc3RhdGU6IDAwMDAwCitbTk9fUElEXTogZWNwZ19mcmVlX3Bh cmFtcyBvbiBsaW5lIDY0OiBwYXJhbWV0ZXIgMSA9IDAxMDEwMTAxMDEKK1tOT19QSURdOiBzcWxj YTogY29kZTogMCwgc3RhdGU6IDAwMDAwCitbTk9fUElEXTogZWNwZ19mcmVlX3BhcmFtcyBvbiBs aW5lIDY0OiBwYXJhbWV0ZXIgMiA9IDAyMDIwMjAyMDIwMjAyMDIKK1tOT19QSURdOiBzcWxjYTog Y29kZTogMCwgc3RhdGU6IDAwMDAwCitbTk9fUElEXTogZWNwZ19mcmVlX3BhcmFtcyBvbiBsaW5l IDY0OiBwYXJhbWV0ZXIgMyA9IDAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMworW05PX1BJRF06IHNx bGNhOiBjb2RlOiAwLCBzdGF0ZTogMDAwMDAKK1tOT19QSURdOiBlY3BnX3Byb2Nlc3Nfb3V0cHV0 IG9uIGxpbmUgNjQ6IE9LOiBJTlNFUlQgMCAxCitbTk9fUElEXTogc3FsY2E6IGNvZGU6IDAsIHN0 YXRlOiAwMDAwMAorW05PX1BJRF06IGVjcGdfZXhlY3V0ZSBvbiBsaW5lIDczOiBxdWVyeTogaW5z ZXJ0IGludG8gcGVyc29ucyAoIGZpcnN0bmFtZSAsIGxhc3RuYW1lICwgYWRkcmVzcyAsIHllYXJf b2ZfYmlydGggLCBoZWlnaHRfaW5fc20gLCB3ZWlnaHRfaW5fa2cgLCBkYXRhMSAsIGRhdGEyICwg ZGF0YTMgKSB2YWx1ZXMgKCAnZmlyc3RuYW1lMicgLCAnbGFzdG5hbWUyJyAsICdhZGRyZXNzMicg LCAxOTk1ICwgMTcwICwgNjUgLCAkMSAgLCAkMiAgLCAkMyAgKTsgd2l0aCAzIHBhcmFtZXRlcihz KSBvbiBjb25uZWN0aW9uIGVjcGcxX3JlZ3Jlc3Npb24KK1tOT19QSURdOiBzcWxjYTogY29kZTog MCwgc3RhdGU6IDAwMDAwCitbTk9fUElEXTogZWNwZ19leGVjdXRlIG9uIGxpbmUgNzM6IHVzaW5n IFBRZXhlY1BhcmFtcworW05PX1BJRF06IHNxbGNhOiBjb2RlOiAwLCBzdGF0ZTogMDAwMDAKK1tO T19QSURdOiBlY3BnX2ZyZWVfcGFyYW1zIG9uIGxpbmUgNzM6IHBhcmFtZXRlciAxID0gMDEwMTAx MDEwMQorW05PX1BJRF06IHNxbGNhOiBjb2RlOiAwLCBzdGF0ZTogMDAwMDAKK1tOT19QSURdOiBl Y3BnX2ZyZWVfcGFyYW1zIG9uIGxpbmUgNzM6IHBhcmFtZXRlciAyID0gMDIwMjAyMDIwMjAyMDIw MgorW05PX1BJRF06IHNxbGNhOiBjb2RlOiAwLCBzdGF0ZTogMDAwMDAKK1tOT19QSURdOiBlY3Bn X2ZyZWVfcGFyYW1zIG9uIGxpbmUgNzM6IHBhcmFtZXRlciAzID0gMDMwMzAzMDMwMzAzMDMwMzAz MDMwMzAzCitbTk9fUElEXTogc3FsY2E6IGNvZGU6IDAsIHN0YXRlOiAwMDAwMAorW05PX1BJRF06 IGVjcGdfcHJvY2Vzc19vdXRwdXQgb24gbGluZSA3MzogT0s6IElOU0VSVCAwIDEKK1tOT19QSURd OiBzcWxjYTogY29kZTogMCwgc3RhdGU6IDAwMDAwCitbTk9fUElEXTogZWNwZ19leGVjdXRlIG9u IGxpbmUgODI6IHF1ZXJ5OiBpbnNlcnQgaW50byBwZXJzb25zICggZmlyc3RuYW1lICwgbGFzdG5h bWUgLCBhZGRyZXNzICwgeWVhcl9vZl9iaXJ0aCAsIGhlaWdodF9pbl9zbSAsIHdlaWdodF9pbl9r ZyAsIGRhdGExICwgZGF0YTIgLCBkYXRhMyApIHZhbHVlcyAoICdmaXJzdG5hbWUzJyAsICdsYXN0 bmFtZTMnICwgJ2FkZHJlc3MzJyAsIDIwMDAgLCAxNzIgLCA4MCAsICQxICAsICQyICAsICQzICAp OyB3aXRoIDMgcGFyYW1ldGVyKHMpIG9uIGNvbm5lY3Rpb24gZWNwZzFfcmVncmVzc2lvbgorW05P X1BJRF06IHNxbGNhOiBjb2RlOiAwLCBzdGF0ZTogMDAwMDAKK1tOT19QSURdOiBlY3BnX2V4ZWN1 dGUgb24gbGluZSA4MjogdXNpbmcgUFFleGVjUGFyYW1zCitbTk9fUElEXTogc3FsY2E6IGNvZGU6 IDAsIHN0YXRlOiAwMDAwMAorW05PX1BJRF06IGVjcGdfZnJlZV9wYXJhbXMgb24gbGluZSA4Mjog cGFyYW1ldGVyIDEgPSAwMTAxMDEwMTAxCitbTk9fUElEXTogc3FsY2E6IGNvZGU6IDAsIHN0YXRl OiAwMDAwMAorW05PX1BJRF06IGVjcGdfZnJlZV9wYXJhbXMgb24gbGluZSA4MjogcGFyYW1ldGVy IDIgPSAwMjAyMDIwMjAyMDIwMjAyCitbTk9fUElEXTogc3FsY2E6IGNvZGU6IDAsIHN0YXRlOiAw MDAwMAorW05PX1BJRF06IGVjcGdfZnJlZV9wYXJhbXMgb24gbGluZSA4MjogcGFyYW1ldGVyIDMg PSAwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMKK1tOT19QSURdOiBzcWxjYTogY29kZTogMCwgc3Rh dGU6IDAwMDAwCitbTk9fUElEXTogZWNwZ19wcm9jZXNzX291dHB1dCBvbiBsaW5lIDgyOiBPSzog SU5TRVJUIDAgMQorW05PX1BJRF06IHNxbGNhOiBjb2RlOiAwLCBzdGF0ZTogMDAwMDAKK1tOT19Q SURdOiBFQ1BHdHJhbnMgb24gbGluZSA5MTogYWN0aW9uICJjb21taXQiOyBjb25uZWN0aW9uICJl Y3BnMV9yZWdyZXNzaW9uIgorW05PX1BJRF06IHNxbGNhOiBjb2RlOiAwLCBzdGF0ZTogMDAwMDAK K1tOT19QSURdOiBlY3BnX2V4ZWN1dGUgb24gbGluZSA5MzogcXVlcnk6IGRlY2xhcmUgY3VyIGN1 cnNvciBmb3Igc2VsZWN0IGZpcnN0bmFtZSAsIGxhc3RuYW1lICwgYWRkcmVzcyAsIHllYXJfb2Zf YmlydGggLCBoZWlnaHRfaW5fc20gLCB3ZWlnaHRfaW5fa2cgLCBkYXRhMSAsIGRhdGEyICwgZGF0 YTMgZnJvbSBwZXJzb25zOyB3aXRoIDAgcGFyYW1ldGVyKHMpIG9uIGNvbm5lY3Rpb24gZWNwZzFf cmVncmVzc2lvbgorW05PX1BJRF06IHNxbGNhOiBjb2RlOiAwLCBzdGF0ZTogMDAwMDAKK1tOT19Q SURdOiBlY3BnX2V4ZWN1dGUgb24gbGluZSA5MzogdXNpbmcgUFFleGVjCitbTk9fUElEXTogc3Fs Y2E6IGNvZGU6IDAsIHN0YXRlOiAwMDAwMAorW05PX1BJRF06IGVjcGdfcHJvY2Vzc19vdXRwdXQg b24gbGluZSA5MzogT0s6IERFQ0xBUkUgQ1VSU09SCitbTk9fUElEXTogc3FsY2E6IGNvZGU6IDAs IHN0YXRlOiAwMDAwMAorW05PX1BJRF06IGVjcGdfZXhlY3V0ZSBvbiBsaW5lIDk5OiBxdWVyeTog ZmV0Y2ggY3VyOyB3aXRoIDAgcGFyYW1ldGVyKHMpIG9uIGNvbm5lY3Rpb24gZWNwZzFfcmVncmVz c2lvbgorW05PX1BJRF06IHNxbGNhOiBjb2RlOiAwLCBzdGF0ZTogMDAwMDAKK1tOT19QSURdOiBl Y3BnX2V4ZWN1dGUgb24gbGluZSA5OTogdXNpbmcgUFFleGVjCitbTk9fUElEXTogc3FsY2E6IGNv ZGU6IDAsIHN0YXRlOiAwMDAwMAorW05PX1BJRF06IGVjcGdfcHJvY2Vzc19vdXRwdXQgb24gbGlu ZSA5OTogY29ycmVjdGx5IGdvdCAxIHR1cGxlcyB3aXRoIDkgZmllbGRzCitbTk9fUElEXTogc3Fs Y2E6IGNvZGU6IDAsIHN0YXRlOiAwMDAwMAorW05PX1BJRF06IGVjcGdfZ2V0X2RhdGEgb24gbGlu ZSA5OTogUkVTVUxUOiBmaXJzdG5hbWUxIG9mZnNldDogLTE7IGFycmF5OiBubworW05PX1BJRF06 IHNxbGNhOiBjb2RlOiAwLCBzdGF0ZTogMDAwMDAKK1tOT19QSURdOiBlY3BnX2dldF9kYXRhIG9u IGxpbmUgOTk6IFJFU1VMVDogbGFzdG5hbWUxIG9mZnNldDogLTE7IGFycmF5OiBubworW05PX1BJ RF06IHNxbGNhOiBjb2RlOiAwLCBzdGF0ZTogMDAwMDAKK1tOT19QSURdOiBlY3BnX2dldF9kYXRh IG9uIGxpbmUgOTk6IFJFU1VMVDogYWRkcmVzczEgb2Zmc2V0OiAtMTsgYXJyYXk6IG5vCitbTk9f UElEXTogc3FsY2E6IGNvZGU6IDAsIHN0YXRlOiAwMDAwMAorW05PX1BJRF06IGVjcGdfZ2V0X2Rh dGEgb24gbGluZSA5OTogUkVTVUxUOiAxOTg1IG9mZnNldDogLTE7IGFycmF5OiBubworW05PX1BJ RF06IHNxbGNhOiBjb2RlOiAwLCBzdGF0ZTogMDAwMDAKK1tOT19QSURdOiBlY3BnX2dldF9kYXRh IG9uIGxpbmUgOTk6IFJFU1VMVDogMTgwIG9mZnNldDogLTE7IGFycmF5OiBubworW05PX1BJRF06 IHNxbGNhOiBjb2RlOiAwLCBzdGF0ZTogMDAwMDAKK1tOT19QSURdOiBlY3BnX2dldF9kYXRhIG9u IGxpbmUgOTk6IFJFU1VMVDogNzAgb2Zmc2V0OiAtMTsgYXJyYXk6IG5vCitbTk9fUElEXTogc3Fs Y2E6IGNvZGU6IDAsIHN0YXRlOiAwMDAwMAorW05PX1BJRF06IGVjcGdfZ2V0X2RhdGEgb24gbGlu ZSA5OTogUkVTVUxUOiBceDAxMDEwMTAxMDEgb2Zmc2V0OiAtMTsgYXJyYXk6IG5vCitbTk9fUElE XTogc3FsY2E6IGNvZGU6IDAsIHN0YXRlOiAwMDAwMAorW05PX1BJRF06IGVjcGdfZ2V0X2RhdGEg b24gbGluZSA5OTogUkVTVUxUOiBceDAyMDIwMjAyMDIwMjAyMDIgb2Zmc2V0OiAtMTsgYXJyYXk6 IG5vCitbTk9fUElEXTogc3FsY2E6IGNvZGU6IDAsIHN0YXRlOiAwMDAwMAorW05PX1BJRF06IGVj cGdfZ2V0X2RhdGEgb24gbGluZSA5OTogUkVTVUxUOiBceDAzMDMwMzAzMDMwMzAzMDMwMzAzMDMw MyBvZmZzZXQ6IC0xOyBhcnJheTogbm8KK1tOT19QSURdOiBzcWxjYTogY29kZTogMCwgc3RhdGU6 IDAwMDAwCitbTk9fUElEXTogZWNwZ19leGVjdXRlIG9uIGxpbmUgOTk6IHF1ZXJ5OiBmZXRjaCBj dXI7IHdpdGggMCBwYXJhbWV0ZXIocykgb24gY29ubmVjdGlvbiBlY3BnMV9yZWdyZXNzaW9uCitb Tk9fUElEXTogc3FsY2E6IGNvZGU6IDAsIHN0YXRlOiAwMDAwMAorW05PX1BJRF06IGVjcGdfZXhl Y3V0ZSBvbiBsaW5lIDk5OiB1c2luZyBQUWV4ZWMKK1tOT19QSURdOiBzcWxjYTogY29kZTogMCwg c3RhdGU6IDAwMDAwCitbTk9fUElEXTogZWNwZ19wcm9jZXNzX291dHB1dCBvbiBsaW5lIDk5OiBj b3JyZWN0bHkgZ290IDEgdHVwbGVzIHdpdGggOSBmaWVsZHMKK1tOT19QSURdOiBzcWxjYTogY29k ZTogMCwgc3RhdGU6IDAwMDAwCitbTk9fUElEXTogZWNwZ19nZXRfZGF0YSBvbiBsaW5lIDk5OiBS RVNVTFQ6IGZpcnN0bmFtZTIgb2Zmc2V0OiAtMTsgYXJyYXk6IG5vCitbTk9fUElEXTogc3FsY2E6 IGNvZGU6IDAsIHN0YXRlOiAwMDAwMAorW05PX1BJRF06IGVjcGdfZ2V0X2RhdGEgb24gbGluZSA5 OTogUkVTVUxUOiBsYXN0bmFtZTIgb2Zmc2V0OiAtMTsgYXJyYXk6IG5vCitbTk9fUElEXTogc3Fs Y2E6IGNvZGU6IDAsIHN0YXRlOiAwMDAwMAorW05PX1BJRF06IGVjcGdfZ2V0X2RhdGEgb24gbGlu ZSA5OTogUkVTVUxUOiBhZGRyZXNzMiBvZmZzZXQ6IC0xOyBhcnJheTogbm8KK1tOT19QSURdOiBz cWxjYTogY29kZTogMCwgc3RhdGU6IDAwMDAwCitbTk9fUElEXTogZWNwZ19nZXRfZGF0YSBvbiBs aW5lIDk5OiBSRVNVTFQ6IDE5OTUgb2Zmc2V0OiAtMTsgYXJyYXk6IG5vCitbTk9fUElEXTogc3Fs Y2E6IGNvZGU6IDAsIHN0YXRlOiAwMDAwMAorW05PX1BJRF06IGVjcGdfZ2V0X2RhdGEgb24gbGlu ZSA5OTogUkVTVUxUOiAxNzAgb2Zmc2V0OiAtMTsgYXJyYXk6IG5vCitbTk9fUElEXTogc3FsY2E6 IGNvZGU6IDAsIHN0YXRlOiAwMDAwMAorW05PX1BJRF06IGVjcGdfZ2V0X2RhdGEgb24gbGluZSA5 OTogUkVTVUxUOiA2NSBvZmZzZXQ6IC0xOyBhcnJheTogbm8KK1tOT19QSURdOiBzcWxjYTogY29k ZTogMCwgc3RhdGU6IDAwMDAwCitbTk9fUElEXTogZWNwZ19nZXRfZGF0YSBvbiBsaW5lIDk5OiBS RVNVTFQ6IFx4MDEwMTAxMDEwMSBvZmZzZXQ6IC0xOyBhcnJheTogbm8KK1tOT19QSURdOiBzcWxj YTogY29kZTogMCwgc3RhdGU6IDAwMDAwCitbTk9fUElEXTogZWNwZ19nZXRfZGF0YSBvbiBsaW5l IDk5OiBSRVNVTFQ6IFx4MDIwMjAyMDIwMjAyMDIwMiBvZmZzZXQ6IC0xOyBhcnJheTogbm8KK1tO T19QSURdOiBzcWxjYTogY29kZTogMCwgc3RhdGU6IDAwMDAwCitbTk9fUElEXTogZWNwZ19nZXRf ZGF0YSBvbiBsaW5lIDk5OiBSRVNVTFQ6IFx4MDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzIG9mZnNl dDogLTE7IGFycmF5OiBubworW05PX1BJRF06IHNxbGNhOiBjb2RlOiAwLCBzdGF0ZTogMDAwMDAK K1tOT19QSURdOiBlY3BnX2V4ZWN1dGUgb24gbGluZSA5OTogcXVlcnk6IGZldGNoIGN1cjsgd2l0 aCAwIHBhcmFtZXRlcihzKSBvbiBjb25uZWN0aW9uIGVjcGcxX3JlZ3Jlc3Npb24KK1tOT19QSURd OiBzcWxjYTogY29kZTogMCwgc3RhdGU6IDAwMDAwCitbTk9fUElEXTogZWNwZ19leGVjdXRlIG9u IGxpbmUgOTk6IHVzaW5nIFBRZXhlYworW05PX1BJRF06IHNxbGNhOiBjb2RlOiAwLCBzdGF0ZTog MDAwMDAKK1tOT19QSURdOiBlY3BnX3Byb2Nlc3Nfb3V0cHV0IG9uIGxpbmUgOTk6IGNvcnJlY3Rs eSBnb3QgMSB0dXBsZXMgd2l0aCA5IGZpZWxkcworW05PX1BJRF06IHNxbGNhOiBjb2RlOiAwLCBz dGF0ZTogMDAwMDAKK1tOT19QSURdOiBlY3BnX2dldF9kYXRhIG9uIGxpbmUgOTk6IFJFU1VMVDog Zmlyc3RuYW1lMyBvZmZzZXQ6IC0xOyBhcnJheTogbm8KK1tOT19QSURdOiBzcWxjYTogY29kZTog MCwgc3RhdGU6IDAwMDAwCitbTk9fUElEXTogZWNwZ19nZXRfZGF0YSBvbiBsaW5lIDk5OiBSRVNV TFQ6IGxhc3RuYW1lMyBvZmZzZXQ6IC0xOyBhcnJheTogbm8KK1tOT19QSURdOiBzcWxjYTogY29k ZTogMCwgc3RhdGU6IDAwMDAwCitbTk9fUElEXTogZWNwZ19nZXRfZGF0YSBvbiBsaW5lIDk5OiBS RVNVTFQ6IGFkZHJlc3MzIG9mZnNldDogLTE7IGFycmF5OiBubworW05PX1BJRF06IHNxbGNhOiBj b2RlOiAwLCBzdGF0ZTogMDAwMDAKK1tOT19QSURdOiBlY3BnX2dldF9kYXRhIG9uIGxpbmUgOTk6 IFJFU1VMVDogMjAwMCBvZmZzZXQ6IC0xOyBhcnJheTogbm8KK1tOT19QSURdOiBzcWxjYTogY29k ZTogMCwgc3RhdGU6IDAwMDAwCitbTk9fUElEXTogZWNwZ19nZXRfZGF0YSBvbiBsaW5lIDk5OiBS RVNVTFQ6IDE3MiBvZmZzZXQ6IC0xOyBhcnJheTogbm8KK1tOT19QSURdOiBzcWxjYTogY29kZTog MCwgc3RhdGU6IDAwMDAwCitbTk9fUElEXTogZWNwZ19nZXRfZGF0YSBvbiBsaW5lIDk5OiBSRVNV TFQ6IDgwIG9mZnNldDogLTE7IGFycmF5OiBubworW05PX1BJRF06IHNxbGNhOiBjb2RlOiAwLCBz dGF0ZTogMDAwMDAKK1tOT19QSURdOiBlY3BnX2dldF9kYXRhIG9uIGxpbmUgOTk6IFJFU1VMVDog XHgwMTAxMDEwMTAxIG9mZnNldDogLTE7IGFycmF5OiBubworW05PX1BJRF06IHNxbGNhOiBjb2Rl OiAwLCBzdGF0ZTogMDAwMDAKK1tOT19QSURdOiBlY3BnX2dldF9kYXRhIG9uIGxpbmUgOTk6IFJF U1VMVDogXHgwMjAyMDIwMjAyMDIwMjAyIG9mZnNldDogLTE7IGFycmF5OiBubworW05PX1BJRF06 IHNxbGNhOiBjb2RlOiAwLCBzdGF0ZTogMDAwMDAKK1tOT19QSURdOiBlY3BnX2dldF9kYXRhIG9u IGxpbmUgOTk6IFJFU1VMVDogXHgwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMgb2Zmc2V0OiAtMTsg YXJyYXk6IG5vCitbTk9fUElEXTogc3FsY2E6IGNvZGU6IDAsIHN0YXRlOiAwMDAwMAorW05PX1BJ RF06IGVjcGdfZXhlY3V0ZSBvbiBsaW5lIDk5OiBxdWVyeTogZmV0Y2ggY3VyOyB3aXRoIDAgcGFy YW1ldGVyKHMpIG9uIGNvbm5lY3Rpb24gZWNwZzFfcmVncmVzc2lvbgorW05PX1BJRF06IHNxbGNh OiBjb2RlOiAwLCBzdGF0ZTogMDAwMDAKK1tOT19QSURdOiBlY3BnX2V4ZWN1dGUgb24gbGluZSA5 OTogdXNpbmcgUFFleGVjCitbTk9fUElEXTogc3FsY2E6IGNvZGU6IDAsIHN0YXRlOiAwMDAwMAor W05PX1BJRF06IGVjcGdfcHJvY2Vzc19vdXRwdXQgb24gbGluZSA5OTogY29ycmVjdGx5IGdvdCAw IHR1cGxlcyB3aXRoIDkgZmllbGRzCitbTk9fUElEXTogc3FsY2E6IGNvZGU6IDAsIHN0YXRlOiAw MDAwMAorW05PX1BJRF06IHJhaXNpbmcgc3FsY29kZSAxMDAgb24gbGluZSA5OTogbm8gZGF0YSBm b3VuZCBvbiBsaW5lIDk5CitbTk9fUElEXTogc3FsY2E6IGNvZGU6IDEwMCwgc3RhdGU6IDAyMDAw CitbTk9fUElEXTogZWNwZ19leGVjdXRlIG9uIGxpbmUgMTEzOiBxdWVyeTogY2xvc2UgY3VyOyB3 aXRoIDAgcGFyYW1ldGVyKHMpIG9uIGNvbm5lY3Rpb24gZWNwZzFfcmVncmVzc2lvbgorW05PX1BJ RF06IHNxbGNhOiBjb2RlOiAwLCBzdGF0ZTogMDAwMDAKK1tOT19QSURdOiBlY3BnX2V4ZWN1dGUg b24gbGluZSAxMTM6IHVzaW5nIFBRZXhlYworW05PX1BJRF06IHNxbGNhOiBjb2RlOiAwLCBzdGF0 ZTogMDAwMDAKK1tOT19QSURdOiBlY3BnX3Byb2Nlc3Nfb3V0cHV0IG9uIGxpbmUgMTEzOiBPSzog Q0xPU0UgQ1VSU09SCitbTk9fUElEXTogc3FsY2E6IGNvZGU6IDAsIHN0YXRlOiAwMDAwMAorW05P X1BJRF06IGVjcGdfZXhlY3V0ZSBvbiBsaW5lIDExNDogcXVlcnk6IGRyb3AgdGFibGUgcGVyc29u czsgd2l0aCAwIHBhcmFtZXRlcihzKSBvbiBjb25uZWN0aW9uIGVjcGcxX3JlZ3Jlc3Npb24KK1tO T19QSURdOiBzcWxjYTogY29kZTogMCwgc3RhdGU6IDAwMDAwCitbTk9fUElEXTogZWNwZ19leGVj dXRlIG9uIGxpbmUgMTE0OiB1c2luZyBQUWV4ZWMKK1tOT19QSURdOiBzcWxjYTogY29kZTogMCwg c3RhdGU6IDAwMDAwCitbTk9fUElEXTogZWNwZ19wcm9jZXNzX291dHB1dCBvbiBsaW5lIDExNDog T0s6IERST1AgVEFCTEUKK1tOT19QSURdOiBzcWxjYTogY29kZTogMCwgc3RhdGU6IDAwMDAwCitb Tk9fUElEXTogRUNQR3RyYW5zIG9uIGxpbmUgMTE1OiBhY3Rpb24gImNvbW1pdCI7IGNvbm5lY3Rp b24gImVjcGcxX3JlZ3Jlc3Npb24iCitbTk9fUElEXTogc3FsY2E6IGNvZGU6IDAsIHN0YXRlOiAw MDAwMAorW05PX1BJRF06IGVjcGdfZmluaXNoOiBjb25uZWN0aW9uIGVjcGcxX3JlZ3Jlc3Npb24g Y2xvc2VkCitbTk9fUElEXTogc3FsY2E6IGNvZGU6IDAsIHN0YXRlOiAwMDAwMApkaWZmIC0tZ2l0 IGEvc3JjL2ludGVyZmFjZXMvZWNwZy90ZXN0L2V4cGVjdGVkL3ByZXByb2Mtc3RhdGljX3Zhcmlh Ymxlcy5zdGRvdXQgYi9zcmMvaW50ZXJmYWNlcy9lY3BnL3Rlc3QvZXhwZWN0ZWQvcHJlcHJvYy1z dGF0aWNfdmFyaWFibGVzLnN0ZG91dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAwLi5kNTE0OGY3OGZhCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL2ludGVyZmFjZXMvZWNwZy90 ZXN0L2V4cGVjdGVkL3ByZXByb2Mtc3RhdGljX3ZhcmlhYmxlcy5zdGRvdXQKQEAgLTAsMCArMSwx MiBAQAorZmlyc3RuYW1lMQlsYXN0bmFtZTEJYWRkcmVzczEJMTk4NQkxODAJNzAKK2xlbj01LCBk YXRhPTB4MDEwMTAxMDEwMQorbGVuPTgsIGRhdGE9MHgwMjAyMDIwMjAyMDIwMjAyCitsZW49MTIs IGRhdGE9MHgwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMKK2ZpcnN0bmFtZTIJbGFzdG5hbWUyCWFk ZHJlc3MyCTE5OTUJMTcwCTY1CitsZW49NSwgZGF0YT0weDAxMDEwMTAxMDEKK2xlbj04LCBkYXRh PTB4MDIwMjAyMDIwMjAyMDIwMgorbGVuPTEyLCBkYXRhPTB4MDMwMzAzMDMwMzAzMDMwMzAzMDMw MzAzCitmaXJzdG5hbWUzCWxhc3RuYW1lMwlhZGRyZXNzMwkyMDAwCTE3Mgk4MAorbGVuPTUsIGRh dGE9MHgwMTAxMDEwMTAxCitsZW49OCwgZGF0YT0weDAyMDIwMjAyMDIwMjAyMDIKK2xlbj0xMiwg ZGF0YT0weDAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMwpkaWZmIC0tZ2l0IGEvc3JjL2ludGVyZmFj ZXMvZWNwZy90ZXN0L3ByZXByb2MvLmdpdGlnbm9yZSBiL3NyYy9pbnRlcmZhY2VzL2VjcGcvdGVz dC9wcmVwcm9jLy5naXRpZ25vcmUKaW5kZXggZmQ2M2U2NDVhMy4uODMxYWNjYzUyNiAxMDA2NDQK LS0tIGEvc3JjL2ludGVyZmFjZXMvZWNwZy90ZXN0L3ByZXByb2MvLmdpdGlnbm9yZQorKysgYi9z cmMvaW50ZXJmYWNlcy9lY3BnL3Rlc3QvcHJlcHJvYy8uZ2l0aWdub3JlCkBAIC0xNCw2ICsxNCw4 IEBACiAvb3V0b2ZzY29wZS5jCiAvcG9pbnRlcl90b19zdHJ1Y3QKIC9wb2ludGVyX3RvX3N0cnVj dC5jCisvc3RhdGljX3ZhcmlhYmxlcworL3N0YXRpY192YXJpYWJsZXMuYwogL3N0cmluZ3MKIC9z dHJpbmdzLmMKIC90eXBlCmRpZmYgLS1naXQgYS9zcmMvaW50ZXJmYWNlcy9lY3BnL3Rlc3QvcHJl cHJvYy9NYWtlZmlsZSBiL3NyYy9pbnRlcmZhY2VzL2VjcGcvdGVzdC9wcmVwcm9jL01ha2VmaWxl CmluZGV4IDM5YjE5NzRmNWYuLmEzY2ZlNjUzM2YgMTAwNjQ0Ci0tLSBhL3NyYy9pbnRlcmZhY2Vz L2VjcGcvdGVzdC9wcmVwcm9jL01ha2VmaWxlCisrKyBiL3NyYy9pbnRlcmZhY2VzL2VjcGcvdGVz dC9wcmVwcm9jL01ha2VmaWxlCkBAIC0xMCw2ICsxMCw3IEBAIFRFU1RTID0gYXJyYXlfb2Zfc3Ry dWN0IGFycmF5X29mX3N0cnVjdC5jIFwKIAljdXJzb3IgY3Vyc29yLmMgXAogCWRlZmluZSBkZWZp bmUuYyBcCiAJaW5pdCBpbml0LmMgXAorCXN0YXRpY192YXJpYWJsZXMgc3RhdGljX3ZhcmlhYmxl cy5jIFwKIAlzdHJpbmdzIHN0cmluZ3MuYyBcCiAJb3V0b2ZzY29wZSBvdXRvZnNjb3BlLmMgXAog CXR5cGUgdHlwZS5jIFwKZGlmZiAtLWdpdCBhL3NyYy9pbnRlcmZhY2VzL2VjcGcvdGVzdC9wcmVw cm9jL3N0YXRpY192YXJpYWJsZXMucGdjIGIvc3JjL2ludGVyZmFjZXMvZWNwZy90ZXN0L3ByZXBy b2Mvc3RhdGljX3ZhcmlhYmxlcy5wZ2MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MDAwMC4uMDViZTg5OGUwMQotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9pbnRlcmZhY2VzL2VjcGcv dGVzdC9wcmVwcm9jL3N0YXRpY192YXJpYWJsZXMucGdjCkBAIC0wLDAgKzEsMTE4IEBACisjaW5j bHVkZSA8c3RkbGliLmg+CisKK2V4ZWMgc3FsIGluY2x1ZGUgLi4vcmVncmVzc2lvbjsKKworZXhl YyBzcWwgd2hlbmV2ZXIgc3FsZXJyb3Igc3RvcDsKKworZXhlYyBzcWwgZGVjbGFyZSBjdXIgY3Vy c29yIGZvcgorCXNlbGVjdCBmaXJzdG5hbWUsIGxhc3RuYW1lLCBhZGRyZXNzLAorCQkgICB5ZWFy X29mX2JpcnRoLCBoZWlnaHRfaW5fc20sIHdlaWdodF9pbl9rZywKKwkJICAgZGF0YTEsIGRhdGEy LCBkYXRhMworCWZyb20gcGVyc29uczsKKworZXhlYyBzcWwgYmVnaW4gZGVjbGFyZSBzZWN0aW9u OworCXN0YXRpYyB2YXJjaGFyIGZpcnN0bmFtZVs1MF0sIGxhc3RuYW1lWzUwXSwgYWRkcmVzc1sy NTVdOworCXN0YXRpYyBpbnQgeWVhcl9vZl9iaXJ0aCwgaGVpZ2h0X2luX3NtLCB3ZWlnaHRfaW5f a2c7CisJc3RhdGljIGJ5dGVhIGRhdGExWzVdLCAgIGRhdGEyWzhdLCAgIGRhdGEzWzEyXSwKKwkJ CQkgZGF0YTFfMls1XSwgZGF0YTJfMls4XSwgZGF0YTNfMlsxMl07IAorZXhlYyBzcWwgZW5kIGRl Y2xhcmUgc2VjdGlvbjsKKworc3RhdGljIHZvaWQKK2R1bXBfYmluYXJ5KGNoYXIgKmJ1ZiwgaW50 IGxlbikKK3sKKwlpbnQgaTsKKworCXByaW50ZigibGVuPSVkLCBkYXRhPTB4IiwgbGVuKTsKKwlm b3IgKGkgPSAwOyBpIDwgbGVuOyArK2kpCisJCXByaW50ZigiJTAyeCIsIGJ1ZltpXSk7CisJcHJp bnRmKCJcbiIpOworfQorCitpbnQKK21haW4gKHZvaWQpCit7CisJaW50IGxvb3Bjb3VudDsKKwor CUVDUEdkZWJ1ZygxLCBzdGRlcnIpOworCisJZXhlYyBzcWwgY29ubmVjdCB0byBSRUdSRVNTREIx OworCisJZXhlYyBzcWwgY3JlYXRlIHRhYmxlIHBlcnNvbnMgKAorCQlmaXJzdG5hbWUgdmFyY2hh cig1MCkgbm90IG51bGwsCisJCWxhc3RuYW1lIHZhcmNoYXIoNTApIG5vdCBudWxsLAorCQlhZGRy ZXNzIHZhcmNoYXIoMjU1KSBub3QgbnVsbCwKKwkJeWVhcl9vZl9iaXJ0aCBpbnQgbm90IG51bGws CisJCWhlaWdodF9pbl9zbSBpbnQgbm90IG51bGwsCisJCXdlaWdodF9pbl9rZyBpbnQgbm90IG51 bGwsCisJCWRhdGExIGJ5dGVhIG5vdCBudWxsLAorCQlkYXRhMiBieXRlYSBub3QgbnVsbCwKKwkJ ZGF0YTMgYnl0ZWEgbm90IG51bGwKKwkpOworCisJZGF0YTEubGVuID0gNTsKKwlmb3IgKGxvb3Bj b3VudCA9IDA7IGxvb3Bjb3VudCA8IGRhdGExLmxlbjsgbG9vcGNvdW50KyspCisJCWRhdGExLmFy cltsb29wY291bnRdID0gMTsKKworCWRhdGEyLmxlbiA9IDg7CisJZm9yIChsb29wY291bnQgPSAw OyBsb29wY291bnQgPCBkYXRhMi5sZW47IGxvb3Bjb3VudCsrKQorCQlkYXRhMi5hcnJbbG9vcGNv dW50XSA9IDI7CisKKwlkYXRhMy5sZW4gPSAxMjsKKwlmb3IgKGxvb3Bjb3VudCA9IDA7IGxvb3Bj b3VudCA8IGRhdGEzLmxlbjsgbG9vcGNvdW50KyspCisJCWRhdGEzLmFycltsb29wY291bnRdID0g MzsKKworCWV4ZWMgc3FsIGluc2VydCBpbnRvIHBlcnNvbnMgKAorCQkJCWZpcnN0bmFtZSwgbGFz dG5hbWUsIGFkZHJlc3MsIAorCQkJCXllYXJfb2ZfYmlydGgsIGhlaWdodF9pbl9zbSwgd2VpZ2h0 X2luX2tnLAorCQkJCWRhdGExLCBkYXRhMiwgZGF0YTMpCisJCQkgdmFsdWVzICgKKwkJCQknZmly c3RuYW1lMScsICdsYXN0bmFtZTEnLCAnYWRkcmVzczEnLAorCQkJCTE5ODUsIDE4MCwgNzAsCisJ CQkJOmRhdGExLCA6ZGF0YTIsIDpkYXRhMyk7CisKKwlleGVjIHNxbCBpbnNlcnQgaW50byBwZXJz b25zICgKKwkJCQlmaXJzdG5hbWUsIGxhc3RuYW1lLCBhZGRyZXNzLCAKKwkJCQl5ZWFyX29mX2Jp cnRoLCBoZWlnaHRfaW5fc20sIHdlaWdodF9pbl9rZywKKwkJCQlkYXRhMSwgZGF0YTIsIGRhdGEz KQorCQkJIHZhbHVlcyAoCisJCQkJJ2ZpcnN0bmFtZTInLCAnbGFzdG5hbWUyJywgJ2FkZHJlc3My JywKKwkJCQkxOTk1LCAxNzAsIDY1LAorCQkJCTpkYXRhMSwgOmRhdGEyLCA6ZGF0YTMpOworCisJ ZXhlYyBzcWwgaW5zZXJ0IGludG8gcGVyc29ucyAoCisJCQkJZmlyc3RuYW1lLCBsYXN0bmFtZSwg YWRkcmVzcywgCisJCQkJeWVhcl9vZl9iaXJ0aCwgaGVpZ2h0X2luX3NtLCB3ZWlnaHRfaW5fa2cs CisJCQkJZGF0YTEsIGRhdGEyLCBkYXRhMykKKwkJCSB2YWx1ZXMgKAorCQkJCSdmaXJzdG5hbWUz JywgJ2xhc3RuYW1lMycsICdhZGRyZXNzMycsCisJCQkJMjAwMCwgMTcyLCA4MCwKKwkJCQk6ZGF0 YTEsIDpkYXRhMiwgOmRhdGEzKTsKKworCWV4ZWMgc3FsIGNvbW1pdDsKKworCWV4ZWMgc3FsIG9w ZW4gY3VyOworCisJZXhlYyBzcWwgd2hlbmV2ZXIgbm90IGZvdW5kIGRvIGJyZWFrOworCisJZm9y IChsb29wY291bnQgPSAwOyBsb29wY291bnQgPCAxMDA7IGxvb3Bjb3VudCsrKQorCXsKKwkJZXhl YyBzcWwgZmV0Y2ggY3VyIGludG8gOmZpcnN0bmFtZSwgOmxhc3RuYW1lLCA6YWRkcmVzcywKKwkJ CQkJCQkJOnllYXJfb2ZfYmlydGgsIDpoZWlnaHRfaW5fc20sIDp3ZWlnaHRfaW5fa2csCisJCQkJ CQkJCTpkYXRhMV8yLCA6ZGF0YTJfMiwgOmRhdGEzXzI7CisKKwkJcHJpbnRmKCIlLipzXHQlLipz XHQlLipzXHQlaVx0JWlcdCVpXG4iLAorCQkJZmlyc3RuYW1lLmxlbiwgZmlyc3RuYW1lLmFyciwK KwkJCWxhc3RuYW1lLmxlbiwgbGFzdG5hbWUuYXJyLAorCQkJYWRkcmVzcy5sZW4sIGFkZHJlc3Mu YXJyLAorCQkJeWVhcl9vZl9iaXJ0aCwgaGVpZ2h0X2luX3NtLCB3ZWlnaHRfaW5fa2cpOworCQlk dW1wX2JpbmFyeShkYXRhMV8yLmFyciwgZGF0YTFfMi5sZW4pOworCQlkdW1wX2JpbmFyeShkYXRh Ml8yLmFyciwgZGF0YTJfMi5sZW4pOworCQlkdW1wX2JpbmFyeShkYXRhM18yLmFyciwgZGF0YTNf Mi5sZW4pOworCX0KKworCWV4ZWMgc3FsIGNsb3NlIGN1cjsKKwlleGVjIHNxbCBkcm9wIHRhYmxl IHBlcnNvbnM7CisJZXhlYyBzcWwgY29tbWl0OworCWV4ZWMgc3FsIGRpc2Nvbm5lY3Q7CisJcmV0 dXJuIDA7Cit9Ci0tIAoyLjMzLjMKCg== ------==--bound.212839.iva6-d8ca7b1d7b79.qloud-c.yandex.net--