Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1v7Rqg-002s7V-UM for pgsql-hackers@arkaria.postgresql.org; Sat, 11 Oct 2025 05:08:55 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1v7Rqc-00FGdr-Fx for pgsql-hackers@arkaria.postgresql.org; Sat, 11 Oct 2025 05:08:51 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1v7Rqc-00FGdj-2W for pgsql-hackers@lists.postgresql.org; Sat, 11 Oct 2025 05:08:51 +0000 Received: from mail-ua1-x92c.google.com ([2607:f8b0:4864:20::92c]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1v7RqZ-001X24-3A for pgsql-hackers@postgresql.org; Sat, 11 Oct 2025 05:08:50 +0000 Received: by mail-ua1-x92c.google.com with SMTP id a1e0cc1a2514c-8e30a19da78so1739963241.2 for ; Fri, 10 Oct 2025 22:08:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1760159325; x=1760764125; darn=postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=u9e+Oh4c1StpVOquVPQxNB8AdjRN57zkmKriiuIt6r4=; b=ASkE3vAfhkfyVhbqMKAMLc9BQOkCpobB0XGlihB8/yMUq9MxjV/KLCcEPceoBCFfPA gcxT03AbA8Yn/p4ZVbDnpLnIHV8Fwro7vAhO33U6zO4hSEIIkeJixpT3gia+TB1VSOfh 78S2rTJJd3n0vP4tTy/msL0rO6KxtdGBT3Nh3+BCqL3LFV/mHVIy1NjnGvaI2RLabCpd 2gfKRnRnpGZEkJ8dQshSLURpjFhwg9Hn5cM/2HFSdNz6oxngkke4N/NG4Ayn263oPDuC GtjZI4mpvI2kQsuZnl9ZiZ2fFHxThYMDfB8OdCybRrwQwPZnTioboIhIM059l7mvvNBq mnMg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760159325; x=1760764125; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=u9e+Oh4c1StpVOquVPQxNB8AdjRN57zkmKriiuIt6r4=; b=G+V6o8zAxcBe4R3b52QgAF9ODN4N1dFfYpOBzrA2eVzAHocQrmggj05hzuupGKtOu7 ujMaHzBN5eTzoOtQLeE8JNrpTj4DzrRMnS+fohvc3JL8JRX8pnlj9RF3OuRfRuNywUaS qq484YofoN0QtbdeXUaj7RLp8UP5RmnvqWTh4lUMdZ1pN11HX4GJlI9UvC144YZw9Qx8 UllkeI67ZxK2rn75m745rq5LEIdF4D7S7962omgS27dCi1WbUZKC3ZmXw/GNiw1xYSC5 t9kaECleq2zsDNKGYaKj2YEXyhtK88Pr7015U/JbmkL53sq7qNb+B4TciS7NRNc8EA1r rZTw== X-Gm-Message-State: AOJu0YzY/7hXmAIJxAOvgLKvOZBGlS2p5IKFvubv+c5cv8afgDaH++8N 5baVy9H5b0yk9vViEcLF10WMPFNHVIcbe8HGvAsmCkxEWEFiQAFcTbF8O2MzrVjvaz7lITwPdJl 0aXRmwJhmLrfTXD8B7NdpYE4eiMm6BIc= X-Gm-Gg: ASbGnct+uef1DQENfAp8PSXZ2PZvbXbwiopmDlPyGXlk1cjA07PqS3LE/1IeJNH4HZT MLkwGRYiAzD2t385GtPdTTAlMz3gdb25wE7Wth+NYV3d8pkFuEjGVuZF4BaY1FeUoApgQr3Fz55 bkFd2J0k7azUfBrlDwo+Jjaxeg/g5XthOeN7Qgje4P0lblBPygRIQefzr11EUpQcvzbXniTUplL KLdg8Eeq/CRD1YSaxzCyCP3oRH2yNEDa1P/R/K4XaMu0RveRiouETw1eX1qgN8/Qm//I3Vc4syU 1VJ1BPmm5PaR23AKlUuGGRB0GZBnz2ysFK+/cByIp8g67TjI0eiFL9AfRybEH717XzrlbjqxyDW pEmsRFmZimvQ4pu+qq10qtWoO1TJpoRkLNq31xjFO6bK5FuKToPY= X-Google-Smtp-Source: AGHT+IGnGNYg3RE1TUsFmQsrm3S4YoD+ejsO1gwfp9zS+8Be7d4gyAp93C5GdVveEN1nSJY36HJ8vfrRyvxt8JQW4yA= X-Received: by 2002:a05:6122:6d11:b0:554:b927:c76f with SMTP id 71dfb90a1353d-554b927cb3dmr5407093e0c.0.1760159325157; Fri, 10 Oct 2025 22:08:45 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: jian he Date: Sat, 11 Oct 2025 13:08:08 +0800 X-Gm-Features: AS18NWDZibaKEOKRBWxTUkanCfvaHXUZNNVKDuFfrTEIKxEnYvkUbMPWTTIAmBo Message-ID: Subject: Re: create table like including storage parameter To: "David G. Johnston" Cc: PostgreSQL-development Content-Type: multipart/mixed; boundary="0000000000005324570640db0750" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --0000000000005324570640db0750 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Wed, Oct 1, 2025 at 2:42=E2=80=AFPM jian he wrote: > > =E2=80=9Cincluding parameters=E2=80=9D would add another keyword "PARAMET= ERS''. > currently "INCLUDING STORAGE PARAMETER" no need to add a new keyword. > If other people favor =E2=80=9Cincluding parameters=E2=80=9D, then we can= do it that > way in the future. > > attached is just a simple rebase of v1. hi. https://api.cirrus-ci.com/v1/artifact/task/5202996067303424/testrun/build/t= estrun/regress/regress/regression.diffs +ERROR: relation "t" already exists I made the same mistake, regress test using a simple name like "t" will con= flict with other regress tests. please check the attached, mainly regress tests changes. --0000000000005324570640db0750 Content-Type: text/x-patch; charset="US-ASCII"; name="v3-0001-create-table-like-incluing-storage-parameter.patch" Content-Disposition: attachment; filename="v3-0001-create-table-like-incluing-storage-parameter.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mgltdk3v0 RnJvbSA1OGU1MjdlMDhlMDY3MzY4MzI5NTQ2NWUwN2UwNDlkNDFiMjlkNzllIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBqaWFuIGhlIDxqaWFuLnVuaXZlcnNhbGl0eUBnbWFpbC5jb20+ CkRhdGU6IFNhdCwgMTEgT2N0IDIwMjUgMTE6MDM6NTEgKzA4MDAKU3ViamVjdDogW1BBVENIIHYz IDEvMV0gY3JlYXRlIHRhYmxlIGxpa2UgaW5jbHVpbmcgc3RvcmFnZSBwYXJhbWV0ZXIKCmRlbW86 CmNyZWF0ZSB0YWJsZSB0KGEgdGV4dCkgd2l0aCAoZmlsbGZhY3RvciA9IDEwMCwgdG9hc3QudmFj dXVtX3RydW5jYXRlPXRydWUpOwpjcmVhdGUgdGFibGUgdDIobGlrZSB0IGluY2x1ZGluZyBzdG9y YWdlIHBhcmFtZXRlcik7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBUYWJsZSAicHVibGljLnQyIgogQ29sdW1uIHwgVHlwZSB8IENvbGxhdGlvbiB8IE51bGxhYmxl IHwgRGVmYXVsdCB8IFN0b3JhZ2UgIHwgQ29tcHJlc3Npb24gfCBTdGF0cyB0YXJnZXQgfCBEZXNj cmlwdGlvbgotLS0tLS0tLSstLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0r LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0KIGEg ICAgICB8IHRleHQgfCAgICAgICAgICAgfCAgICAgICAgICB8ICAgICAgICAgfCBleHRlbmRlZCB8 ICAgICAgICAgICAgIHwgICAgICAgICAgICAgIHwKQWNjZXNzIG1ldGhvZDogaGVhcApPcHRpb25z OiBmaWxsZmFjdG9yPTEwMCwgdG9hc3QudmFjdXVtX3RydW5jYXRlPXRydWUKCmRpc2N1c3Npb246 IGh0dHBzOi8vcG9zdGdyLmVzL20vQ0FDSnVmeEhyPW5LRXNTNjZNN3JUSGdCK21YZFE5NDg9X2VK MWp6dEFjN1BULWVKZWZBQG1haWwuZ21haWwuY29tCmNvbW1pdGZlc3QgZW50cnk6IGh0dHBzOi8v Y29tbWl0ZmVzdC5wb3N0Z3Jlc3FsLm9yZy9wYXRjaC82MDg4Ci0tLQogZG9jL3NyYy9zZ21sL3Jl Zi9jcmVhdGVfdGFibGUuc2dtbCAgICAgICAgICAgIHwgMTkgKysrKystCiBzcmMvYmFja2VuZC9h Y2Nlc3MvY29tbW9uL3JlbG9wdGlvbnMuYyAgICAgICAgfCA0OSArKysrKysrKysrKysrKysKIHNy Yy9iYWNrZW5kL3BhcnNlci9ncmFtLnkgICAgICAgICAgICAgICAgICAgICB8ICAxICsKIHNyYy9i YWNrZW5kL3BhcnNlci9wYXJzZV91dGlsY21kLmMgICAgICAgICAgICB8IDYzICsrKysrKysrKysr KysrKysrKysKIHNyYy9pbmNsdWRlL2FjY2Vzcy9yZWxvcHRpb25zLmggICAgICAgICAgICAgICB8 ICAxICsKIHNyYy9pbmNsdWRlL25vZGVzL3BhcnNlbm9kZXMuaCAgICAgICAgICAgICAgICB8ICAx ICsKIC4uLi9yZWdyZXNzL2V4cGVjdGVkL2NyZWF0ZV90YWJsZV9saWtlLm91dCAgICB8IDM5ICsr KysrKysrKysrKwogc3JjL3Rlc3QvcmVncmVzcy9zcWwvY3JlYXRlX3RhYmxlX2xpa2Uuc3FsICAg IHwgMjggKysrKysrKysrCiA4IGZpbGVzIGNoYW5nZWQsIDIwMCBpbnNlcnRpb25zKCspLCAxIGRl bGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVfdGFibGUuc2dt bCBiL2RvYy9zcmMvc2dtbC9yZWYvY3JlYXRlX3RhYmxlLnNnbWwKaW5kZXggZGMwMDBlOTEzYzEu LmEzODljZTU5N2E5IDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvcmVmL2NyZWF0ZV90YWJsZS5z Z21sCisrKyBiL2RvYy9zcmMvc2dtbC9yZWYvY3JlYXRlX3RhYmxlLnNnbWwKQEAgLTg4LDcgKzg4 LDcgQEAgY2xhc3M9InBhcmFtZXRlciI+cmVmZXJlbnRpYWxfYWN0aW9uPC9yZXBsYWNlYWJsZT4g XSBbIE9OIFVQREFURSA8cmVwbGFjZWFibGUgY2wKIAogPHBocmFzZT5hbmQgPHJlcGxhY2VhYmxl IGNsYXNzPSJwYXJhbWV0ZXIiPmxpa2Vfb3B0aW9uPC9yZXBsYWNlYWJsZT4gaXM6PC9waHJhc2U+ CiAKLXsgSU5DTFVESU5HIHwgRVhDTFVESU5HIH0geyBDT01NRU5UUyB8IENPTVBSRVNTSU9OIHwg Q09OU1RSQUlOVFMgfCBERUZBVUxUUyB8IEdFTkVSQVRFRCB8IElERU5USVRZIHwgSU5ERVhFUyB8 IFNUQVRJU1RJQ1MgfCBTVE9SQUdFIHwgQUxMIH0KK3sgSU5DTFVESU5HIHwgRVhDTFVESU5HIH0g eyBDT01NRU5UUyB8IENPTVBSRVNTSU9OIHwgQ09OU1RSQUlOVFMgfCBERUZBVUxUUyB8IEdFTkVS QVRFRCB8IElERU5USVRZIHwgSU5ERVhFUyB8IFNUQVRJU1RJQ1MgfCBTVE9SQUdFIHwgU1RPUkFH RSBQQVJBTUVURVIgfCBBTEwgfQogCiA8cGhyYXNlPmFuZCA8cmVwbGFjZWFibGUgY2xhc3M9InBh cmFtZXRlciI+cGFydGl0aW9uX2JvdW5kX3NwZWM8L3JlcGxhY2VhYmxlPiBpczo8L3BocmFzZT4K IApAQCAtNzc2LDYgKzc3NiwyMyBAQCBXSVRIICggTU9EVUxVUyA8cmVwbGFjZWFibGUgY2xhc3M9 InBhcmFtZXRlciI+bnVtZXJpY19saXRlcmFsPC9yZXBsYWNlYWJsZT4sIFJFTQogICAgICAgICA8 L2xpc3RpdGVtPgogICAgICAgIDwvdmFybGlzdGVudHJ5PgogCisgICAgICAgPHZhcmxpc3RlbnRy eSBpZD0ic3FsLWNyZWF0ZXRhYmxlLXBhcm1zLWxpa2Utb3B0LXN0b3JhZ2UtcGFyYW10ZXIiPgor ICAgICAgICA8dGVybT48bGl0ZXJhbD5JTkNMVURJTkcgU1RPUkFHRSBQQVJBTUVURVI8L2xpdGVy YWw+PC90ZXJtPgorICAgICAgICA8bGlzdGl0ZW0+CisgICAgICAgICA8cGFyYT4KKyAgICAgICAg ICA8bGl0ZXJhbD5TVE9SQUdFIFBBUkFNRVRFUjwvbGl0ZXJhbD4gc2V0dGluZ3MgZm9yIHRoZSBj b3BpZWQgdGFibGUgd2lsbCBiZSBjb3BpZWQuCisgICAgICAgICAgRm9yIHRhYmxlIHN0b3JhZ2Ug cGFyYW1ldGVycywgc2VlIDx4cmVmIGxpbmtlbmQ9InNxbC1jcmVhdGV0YWJsZS1zdG9yYWdlLXBh cmFtZXRlcnMiLz4gYmVsb3cgZm9yIG1vcmUgaW5mb3JtYXRpb24uCisgICAgICAgICA8L3BhcmE+ CisKKyAgICAgICAgPHBhcmE+CisgICAgICAgICAgRG8gbm90IGNvbmZ1c2UgdGhpcyB3aXRoIDxs aXRlcmFsPklOQ0xVRElORyBTVE9SQUdFPC9saXRlcmFsPi4KKyAgICAgICAgICA8bGl0ZXJhbD5J TkNMVURJTkcgU1RPUkFHRTwvbGl0ZXJhbD4gaXMgZm9yIGNvcHlpbmcgdGFibGUgY29sdW1uIHN0 b3JhZ2UgcHJvcGVydHksCisgICAgICAgICAgdGhpcyBpcyBmb3IgY29weWluZyB0YWJsZSBzdG9y YWdlIHBhcmFtZXRlcnMuCisgICAgICAgIDwvcGFyYT4KKworICAgICAgICA8L2xpc3RpdGVtPgor ICAgICAgIDwvdmFybGlzdGVudHJ5PgorCiAgICAgICAgPHZhcmxpc3RlbnRyeSBpZD0ic3FsLWNy ZWF0ZXRhYmxlLXBhcm1zLWxpa2Utb3B0LWFsbCI+CiAgICAgICAgIDx0ZXJtPjxsaXRlcmFsPklO Q0xVRElORyBBTEw8L2xpdGVyYWw+PC90ZXJtPgogICAgICAgICA8bGlzdGl0ZW0+CmRpZmYgLS1n aXQgYS9zcmMvYmFja2VuZC9hY2Nlc3MvY29tbW9uL3JlbG9wdGlvbnMuYyBiL3NyYy9iYWNrZW5k L2FjY2Vzcy9jb21tb24vcmVsb3B0aW9ucy5jCmluZGV4IDM1MTUwYmYyMzdiLi42MDMyY2Q1ODEz ZSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvYWNjZXNzL2NvbW1vbi9yZWxvcHRpb25zLmMKKysr IGIvc3JjL2JhY2tlbmQvYWNjZXNzL2NvbW1vbi9yZWxvcHRpb25zLmMKQEAgLTEzODMsNiArMTM4 Myw1NSBAQCB1bnRyYW5zZm9ybVJlbE9wdGlvbnMoRGF0dW0gb3B0aW9ucykKIAlyZXR1cm4gcmVz dWx0OwogfQogCisvKgorICogQ29udmVydCB0aGUgcmVsb3B0aW9ucyBmcm9tIHRleHQtYXJyYXkg Zm9ybWF0IGludG8gYSBMaXN0IG9mIERlZkVsZW0uICBUaGlzCisgKiBpcyB0aGUgcmV2ZXJzZSBv cGVyYXRpb24gb2YgdHJhbnNmb3JtUmVsT3B0aW9ucygpLiBJZiBhbnkgb3B0aW9uIGluY2x1ZGVz IGEKKyAqIG5hbWVzcGFjZSBxdWFsaWZpY2F0aW9uLCBjcmVhdGUgdGhlIERlZkVsZW0gaW4gdGhh dCBuYW1lc3BhY2UuCisgKiBJZiBuYW1lU3BhY2UgaXMgTlVMTCwgdGhpcyBiZWhhdmUgdGhlIHNh bWUgYXMgdW50cmFuc2Zvcm1SZWxPcHRpb25zLgorICovCitMaXN0ICoKK3VudHJhbnNmb3JtUmVs T3B0aW9uc0V4dGVuZGVkKERhdHVtIG9wdGlvbnMsIGNoYXIqIG5hbWVTcGFjZSkKK3sKKwlMaXN0 CSAgICpyZXN1bHQgPSBOSUw7CisJQXJyYXlUeXBlICAqYXJyYXk7CisJRGF0dW0JICAgKm9wdGlv bmRhdHVtczsKKwlpbnQJCQlub3B0aW9uczsKKwlpbnQJCQlpOworCisJLyogTm90aGluZyB0byBk byBpZiBubyBvcHRpb25zICovCisJaWYgKERhdHVtR2V0UG9pbnRlcihvcHRpb25zKSA9PSBOVUxM KQorCQlyZXR1cm4gcmVzdWx0OworCisJYXJyYXkgPSBEYXR1bUdldEFycmF5VHlwZVAob3B0aW9u cyk7CisKKwlkZWNvbnN0cnVjdF9hcnJheV9idWlsdGluKGFycmF5LCBURVhUT0lELCAmb3B0aW9u ZGF0dW1zLCBOVUxMLCAmbm9wdGlvbnMpOworCisJZm9yIChpID0gMDsgaSA8IG5vcHRpb25zOyBp KyspCisJeworCQljaGFyCSAgICpzOworCQljaGFyCSAgICpwOworCQlOb2RlCSAgICp2YWwgPSBO VUxMOworCisJCXMgPSBUZXh0RGF0dW1HZXRDU3RyaW5nKG9wdGlvbmRhdHVtc1tpXSk7CisJCXAg PSBzdHJjaHIocywgJz0nKTsKKwkJaWYgKHApCisJCXsKKwkJCSpwKysgPSAnXDAnOworCQkJdmFs ID0gKE5vZGUgKikgbWFrZVN0cmluZyhwKTsKKwkJfQorCisJCWlmIChuYW1lU3BhY2UgPT0gTlVM TCkKKwkJCXJlc3VsdCA9IGxhcHBlbmQocmVzdWx0LCBtYWtlRGVmRWxlbShzLCB2YWwsIC0xKSk7 CisJCWVsc2UKKwkJCXJlc3VsdCA9IGxhcHBlbmQocmVzdWx0LCBtYWtlRGVmRWxlbUV4dGVuZGVk KG5hbWVTcGFjZSwgcywgdmFsLAorCQkJCQkJCQkJCQkJCQkgREVGRUxFTV9VTlNQRUMsCisJCQkJ CQkJCQkJCQkJCSAtMSkpOworCX0KKworCXJldHVybiByZXN1bHQ7Cit9CisKKwogLyoKICAqIEV4 dHJhY3QgYW5kIHBhcnNlIHJlbG9wdGlvbnMgZnJvbSBhIHBnX2NsYXNzIHR1cGxlLgogICoKZGlm ZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3BhcnNlci9ncmFtLnkgYi9zcmMvYmFja2VuZC9wYXJzZXIv Z3JhbS55CmluZGV4IDIxY2FmMmQ0M2JmLi5lZjg0OThkZGIyMyAxMDA2NDQKLS0tIGEvc3JjL2Jh Y2tlbmQvcGFyc2VyL2dyYW0ueQorKysgYi9zcmMvYmFja2VuZC9wYXJzZXIvZ3JhbS55CkBAIC00 MjIzLDYgKzQyMjMsNyBAQCBUYWJsZUxpa2VPcHRpb246CiAJCQkJfCBJTkRFWEVTCQkJeyAkJCA9 IENSRUFURV9UQUJMRV9MSUtFX0lOREVYRVM7IH0KIAkJCQl8IFNUQVRJU1RJQ1MJCXsgJCQgPSBD UkVBVEVfVEFCTEVfTElLRV9TVEFUSVNUSUNTOyB9CiAJCQkJfCBTVE9SQUdFCQkJeyAkJCA9IENS RUFURV9UQUJMRV9MSUtFX1NUT1JBR0U7IH0KKwkJCQl8IFNUT1JBR0UgUEFSQU1FVEVSCXsgJCQg PSBDUkVBVEVfVEFCTEVfTElLRV9TVE9SQUdFX1BBUkFNRVRFUjsgfQogCQkJCXwgQUxMCQkJCXsg JCQgPSBDUkVBVEVfVEFCTEVfTElLRV9BTEw7IH0KIAkJOwogCmRpZmYgLS1naXQgYS9zcmMvYmFj a2VuZC9wYXJzZXIvcGFyc2VfdXRpbGNtZC5jIGIvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX3V0 aWxjbWQuYwppbmRleCBlOTZiMzhhNTlkNS4uYmQ0MDFjYmE1ZTQgMTAwNjQ0Ci0tLSBhL3NyYy9i YWNrZW5kL3BhcnNlci9wYXJzZV91dGlsY21kLmMKKysrIGIvc3JjL2JhY2tlbmQvcGFyc2VyL3Bh cnNlX3V0aWxjbWQuYwpAQCAtODUsNiArODUsNyBAQCB0eXBlZGVmIHN0cnVjdAogCUxpc3QJICAg KmZrY29uc3RyYWludHM7CS8qIEZPUkVJR04gS0VZIGNvbnN0cmFpbnRzICovCiAJTGlzdAkgICAq aXhjb25zdHJhaW50czsJLyogaW5kZXgtY3JlYXRpbmcgY29uc3RyYWludHMgKi8KIAlMaXN0CSAg ICpsaWtlY2xhdXNlczsJLyogTElLRSBjbGF1c2VzIHRoYXQgbmVlZCBwb3N0LXByb2Nlc3Npbmcg Ki8KKwlMaXN0CSAgICpvcHRpb25zOwkJLyogb3B0aW9ucyBmcm9tIFdJVEggY2xhdXNlLCB0YWJs ZSBBTSBzcGVjaWZpYyBwYXJhbWV0ZXJzICovCiAJTGlzdAkgICAqYmxpc3Q7CQkJLyogImJlZm9y ZSBsaXN0IiBvZiB0aGluZ3MgdG8gZG8gYmVmb3JlCiAJCQkJCQkJCSAqIGNyZWF0aW5nIHRoZSB0 YWJsZSAqLwogCUxpc3QJICAgKmFsaXN0OwkJCS8qICJhZnRlciBsaXN0IiBvZiB0aGluZ3MgdG8g ZG8gYWZ0ZXIgY3JlYXRpbmcKQEAgLTI0NSw2ICsyNDYsNyBAQCB0cmFuc2Zvcm1DcmVhdGVTdG10 KENyZWF0ZVN0bXQgKnN0bXQsIGNvbnN0IGNoYXIgKnF1ZXJ5U3RyaW5nKQogCWN4dC5ma2NvbnN0 cmFpbnRzID0gTklMOwogCWN4dC5peGNvbnN0cmFpbnRzID0gTklMOwogCWN4dC5saWtlY2xhdXNl cyA9IE5JTDsKKwljeHQub3B0aW9ucyA9IHN0bXQtPm9wdGlvbnM7CiAJY3h0LmJsaXN0ID0gTklM OwogCWN4dC5hbGlzdCA9IE5JTDsKIAljeHQucGtleSA9IE5VTEw7CkBAIC0zNjksNiArMzcxLDcg QEAgdHJhbnNmb3JtQ3JlYXRlU3RtdChDcmVhdGVTdG10ICpzdG10LCBjb25zdCBjaGFyICpxdWVy eVN0cmluZykKIAlzdG10LT50YWJsZUVsdHMgPSBjeHQuY29sdW1uczsKIAlzdG10LT5jb25zdHJh aW50cyA9IGN4dC5ja2NvbnN0cmFpbnRzOwogCXN0bXQtPm5uY29uc3RyYWludHMgPSBjeHQubm5j b25zdHJhaW50czsKKwlzdG10LT5vcHRpb25zID0gY3h0Lm9wdGlvbnM7CiAKIAlyZXN1bHQgPSBs YXBwZW5kKGN4dC5ibGlzdCwgc3RtdCk7CiAJcmVzdWx0ID0gbGlzdF9jb25jYXQocmVzdWx0LCBj eHQuYWxpc3QpOwpAQCAtMTI2OCw2ICsxMjcxLDY1IEBAIHRyYW5zZm9ybVRhYmxlTGlrZUNsYXVz ZShDcmVhdGVTdG10Q29udGV4dCAqY3h0LCBUYWJsZUxpa2VDbGF1c2UgKnRhYmxlX2xpa2VfY2xh CiAJCX0KIAl9CiAKKwkvKiBMaWtld2lzZSwgY29weSBzdG9yYWdlIHBhcmFtdGVyIGlmIHJlcXVl c3RlZCAqLworCWlmICgodGFibGVfbGlrZV9jbGF1c2UtPm9wdGlvbnMgJiBDUkVBVEVfVEFCTEVf TElLRV9TVE9SQUdFX1BBUkFNRVRFUikgJiYKKwkJIWN4dC0+aXNmb3JlaWduKQorCXsKKwkJSGVh cFR1cGxlCXR1cGxlOworCQlEYXR1bQkJcmVsb3B0aW9uczsKKwkJYm9vbAkJaXNudWxsOworCQlP aWQJCQlyZWxpZDsKKwkJTGlzdAkJKm9sZG9wdGlvbnMgPSBOSUw7CisJCUxpc3QJCSpvbGR0b2Fz dG9wdGlvbnMgPSBOSUw7CisKKwkJcmVsaWQgPSBSZWxhdGlvbkdldFJlbGlkKHJlbGF0aW9uKTsK KwkJdHVwbGUgPSBTZWFyY2hTeXNDYWNoZTEoUkVMT0lELCBPYmplY3RJZEdldERhdHVtKHJlbGlk KSk7CisJCWlmICghSGVhcFR1cGxlSXNWYWxpZCh0dXBsZSkpCisJCQllbG9nKEVSUk9SLCAiY2Fj aGUgbG9va3VwIGZhaWxlZCBmb3IgcmVsYXRpb24gJXUiLCByZWxpZCk7CisKKwkJcmVsb3B0aW9u cyA9IFN5c0NhY2hlR2V0QXR0cihSRUxPSUQsIHR1cGxlLAorCQkJCQkJCQkJIEFudW1fcGdfY2xh c3NfcmVsb3B0aW9ucywgJmlzbnVsbCk7CisKKwkJaWYgKCFpc251bGwpCisJCXsKKwkJCW9sZG9w dGlvbnMgPSB1bnRyYW5zZm9ybVJlbE9wdGlvbnMocmVsb3B0aW9ucyk7CisKKwkJCWZvcmVhY2hf bm9kZShEZWZFbGVtLCBvcHRpb24sIG9sZG9wdGlvbnMpCisJCQkJY3h0LT5vcHRpb25zID0gbGFw cGVuZChjeHQtPm9wdGlvbnMsIG9wdGlvbik7CisJCX0KKworCQlSZWxlYXNlU3lzQ2FjaGUodHVw bGUpOworCisJCS8qIG5vdyBnZXQgdGhlIHNvdXJjZSByZWxhdGlvbiB0b2FzdCByZWxhdGlvbiBy ZWxvcHRpb25zICovCisJCWlmIChPaWRJc1ZhbGlkKHJlbGF0aW9uLT5yZF9yZWwtPnJlbHRvYXN0 cmVsaWQpKQorCQl7CisJCQlSZWxhdGlvbgl0b2FzdHJlbDsKKworCQkJT2lkCQkJdG9hc3RpZCA9 IHJlbGF0aW9uLT5yZF9yZWwtPnJlbHRvYXN0cmVsaWQ7CisKKwkJCXRvYXN0cmVsID0gdGFibGVf b3Blbih0b2FzdGlkLCBBY2Nlc3NTaGFyZUxvY2spOworCisJCQkvKiBGZXRjaCBoZWFwIHR1cGxl ICovCisJCQl0dXBsZSA9IFNlYXJjaFN5c0NhY2hlMShSRUxPSUQsIE9iamVjdElkR2V0RGF0dW0o dG9hc3RpZCkpOworCQkJaWYgKCFIZWFwVHVwbGVJc1ZhbGlkKHR1cGxlKSkKKwkJCQllbG9nKEVS Uk9SLCAiY2FjaGUgbG9va3VwIGZhaWxlZCBmb3IgdG9hc3QgcmVsYXRpb24gJXUiLCB0b2FzdGlk KTsKKworCQkJLyogR2V0IHRoZSB0b2FzdCByZWxvcHRpb25zICovCisJCQlyZWxvcHRpb25zID0g U3lzQ2FjaGVHZXRBdHRyKFJFTE9JRCwgdHVwbGUsIEFudW1fcGdfY2xhc3NfcmVsb3B0aW9ucywK KwkJCQkJCQkJCQkgJmlzbnVsbCk7CisJCQlpZiAoIWlzbnVsbCkKKwkJCXsKKwkJCQlvbGR0b2Fz dG9wdGlvbnMgPSB1bnRyYW5zZm9ybVJlbE9wdGlvbnNFeHRlbmRlZChyZWxvcHRpb25zLCAidG9h c3QiKTsKKwkJCQlmb3JlYWNoX25vZGUoRGVmRWxlbSwgb3B0aW9uLCBvbGR0b2FzdG9wdGlvbnMp CisJCQkJCWN4dC0+b3B0aW9ucyA9IGxhcHBlbmQoY3h0LT5vcHRpb25zLCBvcHRpb24pOworCQkJ fQorCisJCQlSZWxlYXNlU3lzQ2FjaGUodHVwbGUpOworCisJCQl0YWJsZV9jbG9zZSh0b2FzdHJl bCwgTm9Mb2NrKTsKKwkJfQorCX0KKwogCS8qCiAJICogUmVwcm9kdWNlIG5vdC1udWxsIGNvbnN0 cmFpbnRzLCBpZiBhbnksIGJ5IGNvcHlpbmcgdGhlbS4gIFdlIGRvIHRoaXMKIAkgKiByZWdhcmRs ZXNzIG9mIG9wdGlvbnMgZ2l2ZW4uCkBAIC0zNTc1LDYgKzM2MzcsNyBAQCB0cmFuc2Zvcm1BbHRl clRhYmxlU3RtdChPaWQgcmVsaWQsIEFsdGVyVGFibGVTdG10ICpzdG10LAogCWN4dC5ma2NvbnN0 cmFpbnRzID0gTklMOwogCWN4dC5peGNvbnN0cmFpbnRzID0gTklMOwogCWN4dC5saWtlY2xhdXNl cyA9IE5JTDsKKwljeHQub3B0aW9ucyA9IE5JTDsKIAljeHQuYmxpc3QgPSBOSUw7CiAJY3h0LmFs aXN0ID0gTklMOwogCWN4dC5wa2V5ID0gTlVMTDsKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2Fj Y2Vzcy9yZWxvcHRpb25zLmggYi9zcmMvaW5jbHVkZS9hY2Nlc3MvcmVsb3B0aW9ucy5oCmluZGV4 IGE2MDRhNDcwMmMzLi44NTg5NjE2ZDA4YiAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvYWNjZXNz L3JlbG9wdGlvbnMuaAorKysgYi9zcmMvaW5jbHVkZS9hY2Nlc3MvcmVsb3B0aW9ucy5oCkBAIC0y MzYsNiArMjM2LDcgQEAgZXh0ZXJuIERhdHVtIHRyYW5zZm9ybVJlbE9wdGlvbnMoRGF0dW0gb2xk T3B0aW9ucywgTGlzdCAqZGVmTGlzdCwKIAkJCQkJCQkJIGNvbnN0IGNoYXIgKm5hbWVTcGFjZSwg Y29uc3QgY2hhciAqY29uc3QgdmFsaWRuc3BzW10sCiAJCQkJCQkJCSBib29sIGFjY2VwdE9pZHNP ZmYsIGJvb2wgaXNSZXNldCk7CiBleHRlcm4gTGlzdCAqdW50cmFuc2Zvcm1SZWxPcHRpb25zKERh dHVtIG9wdGlvbnMpOworZXh0ZXJuIExpc3QgKnVudHJhbnNmb3JtUmVsT3B0aW9uc0V4dGVuZGVk KERhdHVtIG9wdGlvbnMsIGNoYXIqIG5hbWVTcGFjZSk7CiBleHRlcm4gYnl0ZWEgKmV4dHJhY3RS ZWxPcHRpb25zKEhlYXBUdXBsZSB0dXBsZSwgVHVwbGVEZXNjIHR1cGRlc2MsCiAJCQkJCQkJCWFt b3B0aW9uc19mdW5jdGlvbiBhbW9wdGlvbnMpOwogZXh0ZXJuIHZvaWQgKmJ1aWxkX3JlbG9wdGlv bnMoRGF0dW0gcmVsb3B0aW9ucywgYm9vbCB2YWxpZGF0ZSwKZGlmZiAtLWdpdCBhL3NyYy9pbmNs dWRlL25vZGVzL3BhcnNlbm9kZXMuaCBiL3NyYy9pbmNsdWRlL25vZGVzL3BhcnNlbm9kZXMuaApp bmRleCBkYzA5ZDFhM2YwMy4uNGY5YjhlM2UzODEgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL25v ZGVzL3BhcnNlbm9kZXMuaAorKysgYi9zcmMvaW5jbHVkZS9ub2Rlcy9wYXJzZW5vZGVzLmgKQEAg LTc5NSw2ICs3OTUsNyBAQCB0eXBlZGVmIGVudW0gVGFibGVMaWtlT3B0aW9uCiAJQ1JFQVRFX1RB QkxFX0xJS0VfSU5ERVhFUyA9IDEgPDwgNiwKIAlDUkVBVEVfVEFCTEVfTElLRV9TVEFUSVNUSUNT ID0gMSA8PCA3LAogCUNSRUFURV9UQUJMRV9MSUtFX1NUT1JBR0UgPSAxIDw8IDgsCisJQ1JFQVRF X1RBQkxFX0xJS0VfU1RPUkFHRV9QQVJBTUVURVIgPSAxIDw8IDksCiAJQ1JFQVRFX1RBQkxFX0xJ S0VfQUxMID0gUEdfSU5UMzJfTUFYCiB9IFRhYmxlTGlrZU9wdGlvbjsKIApkaWZmIC0tZ2l0IGEv c3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9jcmVhdGVfdGFibGVfbGlrZS5vdXQgYi9zcmMvdGVz dC9yZWdyZXNzL2V4cGVjdGVkL2NyZWF0ZV90YWJsZV9saWtlLm91dAppbmRleCBkM2MzNWMxNDg0 Ny4uYjgzMzZkZTMzNDMgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvY3Jl YXRlX3RhYmxlX2xpa2Uub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvY3JlYXRl X3RhYmxlX2xpa2Uub3V0CkBAIC02OTksMyArNjk5LDQyIEBAIERST1AgRk9SRUlHTiBUQUJMRSBj dGxfZm9yZWlnbl90YWJsZTE7CiBEUk9QIEZPUkVJR04gVEFCTEUgY3RsX2ZvcmVpZ25fdGFibGUy OwogRFJPUCBGT1JFSUdOIERBVEEgV1JBUFBFUiBjdGxfZHVtbXkgQ0FTQ0FERTsKIE5PVElDRTog IGRyb3AgY2FzY2FkZXMgdG8gc2VydmVyIGN0bF9zMAorLS1DUkVBVEUgVEFCTEUgTElLRSB3aXRo IFNUT1JBR0UgUEFSQU1FVEVSCitjcmVhdGUgdGFibGUgdF9zdG9yYWdlKGEgdGV4dCkgd2l0aCAo CisgICAgZmlsbGZhY3RvciA9IDEwMCwKKyAgICB0b2FzdF90dXBsZV90YXJnZXQgPSAxMjgsCisg ICAgdmFjdXVtX2luZGV4X2NsZWFudXAgPSBhdXRvLAorICAgIHRvYXN0LnZhY3V1bV9pbmRleF9j bGVhbnVwID0gYXV0bywKKyAgICB2YWN1dW1fdHJ1bmNhdGUgPSB0cnVlLAorICAgIHRvYXN0LnZh Y3V1bV90cnVuY2F0ZSA9IGZhbHNlLAorICAgIGxvZ19hdXRvdmFjdXVtX21pbl9kdXJhdGlvbiA9 IDEwMCwKKyAgICB0b2FzdC5sb2dfYXV0b3ZhY3V1bV9taW5fZHVyYXRpb24gPSAxMDApOworY3Jl YXRlIHRhYmxlIHQxKGxpa2UgdF9zdG9yYWdlIGluY2x1ZGluZyBzdG9yYWdlIHBhcmFtZXRlcikg d2l0aCAoZmlsbGZhY3RvciA9IDEwMCk7IC0tZXJyb3IKK0VSUk9SOiAgcGFyYW1ldGVyICJmaWxs ZmFjdG9yIiBzcGVjaWZpZWQgbW9yZSB0aGFuIG9uY2UKK2NyZWF0ZSB0YWJsZSB0X3N0b3JhZ2Ux KGxpa2UgdF9zdG9yYWdlIGV4Y2x1ZGluZyBzdG9yYWdlIHBhcmFtZXRlcikgd2l0aCAoZmlsbGZh Y3RvciA9IDEwMCk7IC0tb2sKK1xkKyB0X3N0b3JhZ2UxCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgVGFibGUgInB1YmxpYy50X3N0b3JhZ2UxIgorIENvbHVtbiB8IFR5cGUgfCBDb2xs YXRpb24gfCBOdWxsYWJsZSB8IERlZmF1bHQgfCBTdG9yYWdlICB8IFN0YXRzIHRhcmdldCB8IERl c2NyaXB0aW9uIAorLS0tLS0tLS0rLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0t LS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLQorIGEgICAgICB8IHRl eHQgfCAgICAgICAgICAgfCAgICAgICAgICB8ICAgICAgICAgfCBleHRlbmRlZCB8ICAgICAgICAg ICAgICB8IAorT3B0aW9uczogZmlsbGZhY3Rvcj0xMDAKKworY3JlYXRlIHRhYmxlIHRfc3RvcmFn ZTIobGlrZSB0X3N0b3JhZ2UgaW5jbHVkaW5nIHN0b3JhZ2UgcGFyYW1ldGVyKSB3aXRoICgKKyAg cGFyYWxsZWxfd29ya2VycyA9IDMsCisgIHRvYXN0LmF1dG92YWN1dW1fdmFjdXVtX3RocmVzaG9s ZCA9IDEwMSwKKyAgdG9hc3QuYXV0b3ZhY3V1bV92YWN1dW1fc2NhbGVfZmFjdG9yID0gMC4zKTsK K3NlbGVjdCAgICBjLnJlbG5hbWUsIGMucmVsb3B0aW9ucywgdGMucmVsb3B0aW9ucyBhcyB0b2Fz dF9vcHRpb25zCitmcm9tICAgICAgcGdfY2F0YWxvZy5wZ19jbGFzcyBjCitsZWZ0IGpvaW4gcGdf Y2F0YWxvZy5wZ19jbGFzcyB0YyBPTiAoYy5yZWx0b2FzdHJlbGlkID0gdGMub2lkKQord2hlcmUg ICAgIGMucmVsbmFtZSBpbiAoJ3Rfc3RvcmFnZScsICd0X3N0b3JhZ2UyJykKK29yZGVyIGJ5ICBj LnJlbG5hbWUgXGd4CistWyBSRUNPUkQgMSBdLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQorcmVsbmFtZSAgICAgICB8IHRfc3RvcmFnZQorcmVsb3B0aW9ucyAgICB8IHtmaWxs ZmFjdG9yPTEwMCx0b2FzdF90dXBsZV90YXJnZXQ9MTI4LHZhY3V1bV9pbmRleF9jbGVhbnVwPWF1 dG8sdmFjdXVtX3RydW5jYXRlPXRydWUsbG9nX2F1dG92YWN1dW1fbWluX2R1cmF0aW9uPTEwMH0K K3RvYXN0X29wdGlvbnMgfCB7dmFjdXVtX2luZGV4X2NsZWFudXA9YXV0byx2YWN1dW1fdHJ1bmNh dGU9ZmFsc2UsbG9nX2F1dG92YWN1dW1fbWluX2R1cmF0aW9uPTEwMH0KKy1bIFJFQ09SRCAyIF0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCityZWxuYW1lICAgICAgIHwgdF9z dG9yYWdlMgorcmVsb3B0aW9ucyAgICB8IHtwYXJhbGxlbF93b3JrZXJzPTMsZmlsbGZhY3Rvcj0x MDAsdG9hc3RfdHVwbGVfdGFyZ2V0PTEyOCx2YWN1dW1faW5kZXhfY2xlYW51cD1hdXRvLHZhY3V1 bV90cnVuY2F0ZT10cnVlLGxvZ19hdXRvdmFjdXVtX21pbl9kdXJhdGlvbj0xMDB9Cit0b2FzdF9v cHRpb25zIHwge2F1dG92YWN1dW1fdmFjdXVtX3RocmVzaG9sZD0xMDEsYXV0b3ZhY3V1bV92YWN1 dW1fc2NhbGVfZmFjdG9yPTAuMyx2YWN1dW1faW5kZXhfY2xlYW51cD1hdXRvLHZhY3V1bV90cnVu Y2F0ZT1mYWxzZSxsb2dfYXV0b3ZhY3V1bV9taW5fZHVyYXRpb249MTAwfQorCitkcm9wIHRhYmxl IHRfc3RvcmFnZSwgdF9zdG9yYWdlMSwgdF9zdG9yYWdlMjsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0 L3JlZ3Jlc3Mvc3FsL2NyZWF0ZV90YWJsZV9saWtlLnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3Fs L2NyZWF0ZV90YWJsZV9saWtlLnNxbAppbmRleCA5MzM4OWI1N2RiZi4uZGRkYWE4MGI4NDYgMTAw NjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL2NyZWF0ZV90YWJsZV9saWtlLnNxbAorKysg Yi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9jcmVhdGVfdGFibGVfbGlrZS5zcWwKQEAgLTI4MCwzICsy ODAsMzEgQEAgRFJPUCBUQUJMRSBjdGxfdGFibGU7CiBEUk9QIEZPUkVJR04gVEFCTEUgY3RsX2Zv cmVpZ25fdGFibGUxOwogRFJPUCBGT1JFSUdOIFRBQkxFIGN0bF9mb3JlaWduX3RhYmxlMjsKIERS T1AgRk9SRUlHTiBEQVRBIFdSQVBQRVIgY3RsX2R1bW15IENBU0NBREU7CisKKy0tQ1JFQVRFIFRB QkxFIExJS0Ugd2l0aCBTVE9SQUdFIFBBUkFNRVRFUgorY3JlYXRlIHRhYmxlIHRfc3RvcmFnZShh IHRleHQpIHdpdGggKAorICAgIGZpbGxmYWN0b3IgPSAxMDAsCisgICAgdG9hc3RfdHVwbGVfdGFy Z2V0ID0gMTI4LAorICAgIHZhY3V1bV9pbmRleF9jbGVhbnVwID0gYXV0bywKKyAgICB0b2FzdC52 YWN1dW1faW5kZXhfY2xlYW51cCA9IGF1dG8sCisgICAgdmFjdXVtX3RydW5jYXRlID0gdHJ1ZSwK KyAgICB0b2FzdC52YWN1dW1fdHJ1bmNhdGUgPSBmYWxzZSwKKyAgICBsb2dfYXV0b3ZhY3V1bV9t aW5fZHVyYXRpb24gPSAxMDAsCisgICAgdG9hc3QubG9nX2F1dG92YWN1dW1fbWluX2R1cmF0aW9u ID0gMTAwKTsKKworY3JlYXRlIHRhYmxlIHQxKGxpa2UgdF9zdG9yYWdlIGluY2x1ZGluZyBzdG9y YWdlIHBhcmFtZXRlcikgd2l0aCAoZmlsbGZhY3RvciA9IDEwMCk7IC0tZXJyb3IKK2NyZWF0ZSB0 YWJsZSB0X3N0b3JhZ2UxKGxpa2UgdF9zdG9yYWdlIGV4Y2x1ZGluZyBzdG9yYWdlIHBhcmFtZXRl cikgd2l0aCAoZmlsbGZhY3RvciA9IDEwMCk7IC0tb2sKK1xkKyB0X3N0b3JhZ2UxCisKK2NyZWF0 ZSB0YWJsZSB0X3N0b3JhZ2UyKGxpa2UgdF9zdG9yYWdlIGluY2x1ZGluZyBzdG9yYWdlIHBhcmFt ZXRlcikgd2l0aCAoCisgIHBhcmFsbGVsX3dvcmtlcnMgPSAzLAorICB0b2FzdC5hdXRvdmFjdXVt X3ZhY3V1bV90aHJlc2hvbGQgPSAxMDEsCisgIHRvYXN0LmF1dG92YWN1dW1fdmFjdXVtX3NjYWxl X2ZhY3RvciA9IDAuMyk7CisKK3NlbGVjdCAgICBjLnJlbG5hbWUsIGMucmVsb3B0aW9ucywgdGMu cmVsb3B0aW9ucyBhcyB0b2FzdF9vcHRpb25zCitmcm9tICAgICAgcGdfY2F0YWxvZy5wZ19jbGFz cyBjCitsZWZ0IGpvaW4gcGdfY2F0YWxvZy5wZ19jbGFzcyB0YyBPTiAoYy5yZWx0b2FzdHJlbGlk ID0gdGMub2lkKQord2hlcmUgICAgIGMucmVsbmFtZSBpbiAoJ3Rfc3RvcmFnZScsICd0X3N0b3Jh Z2UyJykKK29yZGVyIGJ5ICBjLnJlbG5hbWUgXGd4CisKK2Ryb3AgdGFibGUgdF9zdG9yYWdlLCB0 X3N0b3JhZ2UxLCB0X3N0b3JhZ2UyOwotLSAKMi4zNC4xCgo= --0000000000005324570640db0750--