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.96) (envelope-from ) id 1vV4GD-00Cvlg-2M for pgsql-hackers@arkaria.postgresql.org; Mon, 15 Dec 2025 08:48:54 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vV4GC-00GgUt-2B for pgsql-hackers@arkaria.postgresql.org; Mon, 15 Dec 2025 08:48:53 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vV4GC-00GgUg-0Q for pgsql-hackers@lists.postgresql.org; Mon, 15 Dec 2025 08:48:53 +0000 Received: from mail-vs1-xe36.google.com ([2607:f8b0:4864:20::e36]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1vV4GA-000kqR-2W for pgsql-hackers@postgresql.org; Mon, 15 Dec 2025 08:48:52 +0000 Received: by mail-vs1-xe36.google.com with SMTP id ada2fe7eead31-5dd88eef2f3so1221592137.3 for ; Mon, 15 Dec 2025 00:48:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1765788529; x=1766393329; 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=2VfobxkzlXs+4drKKOsZO/IdBY0Uytbhpfu8Xb3QnGE=; b=Poh+kixpSFZ/0j0aJ7f7mkF8CMOfAdElrEL5JCJtU0bnV7kmf/3R3LFOHvMSNMfvPT EBvdfat08m0WKMoG8WsLh6kir7ed5brYU52hucTmSE8USLmxu2wHk1Zp5b2hvy5cWvbm CyCPuECaL9djnQ5topjmm6byR/olNTGwQ5NbsADXOIcabjbDw5mdcX6JqnKHqeH3ccFe iKe7neVmcKgewPVE3IdocSR90RhS4qMXkizePtdzTszjqzcRQpZX1ZbE4MgU5OEALBNv cM7e9EUqmDUY+7XQGcuLxcxbJsjin4yaJnQLxdHtV08/IeBkm7Eizk9kOQGidbSo1LBH y/kw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1765788529; x=1766393329; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=2VfobxkzlXs+4drKKOsZO/IdBY0Uytbhpfu8Xb3QnGE=; b=AKQHpsWebPe/CTr1cOItXAWUURhvrJpfH13d694XDmrs9zlO2+nGmH7KKBKqqrq4HB oHvXj/rt9XS/CUAVD8ZW3lPi6ju6kpBcIRqtU5oC2ceh6Qx2dP390+g2x8DDvrj6mrgo 5AFF1z2Cp66ZA1zLymeRGd3Aj5qdzpx4NKunzwYPsakwmoHqiJu0FCwTWiwYpqZBdaFT C8b6k5eLyx1bHTdLZ5Uk+6coBBqQ6TP/1/QGjowfLNHfz0NDt5orXkE7S+giqmDEltrs JMC+9iFuLEreQuKb+jrzNRLw2E3AwNn7JUc1owyWL1kfLz5iEPuK7g4VOOGmWlSJeP7m yhGg== X-Forwarded-Encrypted: i=1; AJvYcCUIcl1FXaSnY6V7PQUf5G8J98sgQ2V1Do0A2zPD1Az/Cs5VcRg/CVaQ5gDlQxZZIB2Gi30SpKCLHVb9yG84@postgresql.org X-Gm-Message-State: AOJu0Yx/7DT4LsU6iHLsW5Rp1RSymt6XZ7dnvSOWnJTDGdpnvR2DzM5L 8LyEOaTu9yyyaZ6M8906vRaIG+R+/HWETQn/ocXO7B/8h47AXfe4doWpT+u0OILV/mqhJtrPOs+ UBh6Pnq+Ziqu58AaI8nKYw4PhhKxSuwE= X-Gm-Gg: AY/fxX7qqZedLC1529wmxqKzhyO2hr3btSm0+5jS/rtnS+FwdJ6E9zeyqz8n5N4kKN/ N9n2c8JZrXK3p7ZySpqw10mk4S2cNntn/QPfFKhZI5Zfbnfli4IgZ2p+0pBRXHnAT2o8hpUvIXw DJxYoSahlloLWkXlSQhS0AwFEAeDrx6JxYiDmmjjA5h+elOKv3lHHfn+IKiz7aEvZOQQDd/YJg3 6FbBTaq4HMjacmJOLWCYdi2Ufdml21Ga5WDwU+35zAD+ns7tA0AABpKERbxTla7QJbADjsVh7/F nz4pvLmMDX7cHeZ4h4IWiF1zQ9fuPL1F7BbOoyvRWJZ58HsiETcA3zDuOJVV2BEqngdZbiY2EyQ CiwQmmv7ixoOf2D98ZeiddBR2aMNLfbrN4h8aBQ5qhEMLZPIz9Doqbp1jFWUYNTfNzWV2p+/z3A aYkiD4uNE4VfZqjHm57xA= X-Google-Smtp-Source: AGHT+IEjY5uqpyp3guFq483n15QhFcVza2u69+1gHt6fFaoDnStNUM1dHLlXXDJO5V1nzOqgn8Gm+1UHef63yzcm0tQ= X-Received: by 2002:a05:6102:3708:b0:5df:b4c8:b9cf with SMTP id ada2fe7eead31-5e82780634fmr2652960137.24.1765788529502; Mon, 15 Dec 2025 00:48:49 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: jian he Date: Mon, 15 Dec 2025 16:48:12 +0800 X-Gm-Features: AQt7F2rl6gevVOL4jOoNBQ391mrZBEGYuB-96bAOOqkkO7EoLbYf-yXo0_yZg3s Message-ID: Subject: Re: create table like including storage parameter To: Nathan Bossart Cc: "David G. Johnston" , PostgreSQL-development Content-Type: multipart/mixed; boundary="0000000000000ccbcb0645f9ae36" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --0000000000000ccbcb0645f9ae36 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Thu, Oct 30, 2025 at 9:57=E2=80=AFAM jian he wrote: > > attached patch using syntax: > CREATE TABLE LIKE INCLUDING PARAMETERS. hi. rebased, with minor comment polishing. -- jian https://www.enterprisedb.com/ --0000000000000ccbcb0645f9ae36 Content-Type: text/x-patch; charset="US-ASCII"; name="v5-0001-create-table-like-incluing-parameters.patch" Content-Disposition: attachment; filename="v5-0001-create-table-like-incluing-parameters.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mj6wv9ld0 RnJvbSBmMDIyNmFjNjJhMTYyZDBjZjZkMDk2M2FjMWFhNGNmZDU0MzYzNjY0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBqaWFuIGhlIDxqaWFuLnVuaXZlcnNhbGl0eUBnbWFpbC5jb20+ CkRhdGU6IE1vbiwgMTUgRGVjIDIwMjUgMTY6NDE6NTkgKzA4MDAKU3ViamVjdDogW1BBVENIIHY1 IDEvMV0gY3JlYXRlIHRhYmxlIGxpa2UgaW5jbHVpbmcgcGFyYW1ldGVycwoKZGVtbzoKY3JlYXRl IHRhYmxlIHQoYSB0ZXh0KSB3aXRoIChmaWxsZmFjdG9yID0gMTAwLCB0b2FzdC52YWN1dW1fdHJ1 bmNhdGU9dHJ1ZSk7CmNyZWF0ZSB0YWJsZSB0MihsaWtlIHQgaW5jbHVkaW5nIHBhcmFtZXRlcnMp OwpcZCsgdDIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGFibGUg InB1YmxpYy50MiIKIENvbHVtbiB8IFR5cGUgfCBDb2xsYXRpb24gfCBOdWxsYWJsZSB8IERlZmF1 bHQgfCBTdG9yYWdlICB8IENvbXByZXNzaW9uIHwgU3RhdHMgdGFyZ2V0IHwgRGVzY3JpcHRpb24K LS0tLS0tLS0rLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tCiBhICAgICAgfCB0 ZXh0IHwgICAgICAgICAgIHwgICAgICAgICAgfCAgICAgICAgIHwgZXh0ZW5kZWQgfCAgICAgICAg ICAgICB8ICAgICAgICAgICAgICB8CkFjY2VzcyBtZXRob2Q6IGhlYXAKT3B0aW9uczogZmlsbGZh Y3Rvcj0xMDAsIHRvYXN0LnZhY3V1bV90cnVuY2F0ZT10cnVlCgpjb21taXRmZXN0OiBodHRwczov L2NvbW1pdGZlc3QucG9zdGdyZXNxbC5vcmcvcGF0Y2gvNjA4OApkaXNjdXNzaW9uOiBodHRwczov L3Bvc3Rnci5lcy9tL0NBQ0p1ZnhIcj1uS0VzUzY2TTdyVEhnQittWGRROTQ4PV9lSjFqenRBYzdQ VC1lSmVmQUBtYWlsLmdtYWlsLmNvbQotLS0KIGRvYy9zcmMvc2dtbC9yZWYvY3JlYXRlX3RhYmxl LnNnbWwgICAgICAgICAgICB8IDE0ICsrKy0KIHNyYy9iYWNrZW5kL2FjY2Vzcy9jb21tb24vcmVs b3B0aW9ucy5jICAgICAgICB8IDUwICsrKysrKysrKysrKwogc3JjL2JhY2tlbmQvcGFyc2VyL2dy YW0ueSAgICAgICAgICAgICAgICAgICAgIHwgIDUgKy0KIHNyYy9iYWNrZW5kL3BhcnNlci9wYXJz ZV91dGlsY21kLmMgICAgICAgICAgICB8IDc2ICsrKysrKysrKysrKysrKysrKysKIHNyYy9pbmNs dWRlL2FjY2Vzcy9yZWxvcHRpb25zLmggICAgICAgICAgICAgICB8ICAxICsKIHNyYy9pbmNsdWRl L25vZGVzL3BhcnNlbm9kZXMuaCAgICAgICAgICAgICAgICB8ICAxICsKIHNyYy9pbmNsdWRlL3Bh cnNlci9rd2xpc3QuaCAgICAgICAgICAgICAgICAgICB8ICAxICsKIC4uLi9yZWdyZXNzL2V4cGVj dGVkL2NyZWF0ZV90YWJsZV9saWtlLm91dCAgICB8IDM5ICsrKysrKysrKysKIHNyYy90ZXN0L3Jl Z3Jlc3Mvc3FsL2NyZWF0ZV90YWJsZV9saWtlLnNxbCAgICB8IDI4ICsrKysrKysKIDkgZmlsZXMg Y2hhbmdlZCwgMjEzIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv ZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVfdGFibGUuc2dtbCBiL2RvYy9zcmMvc2dtbC9yZWYvY3Jl YXRlX3RhYmxlLnNnbWwKaW5kZXggNzdjNWE3NjNkNDUuLmQ2NDVhYjRlZDMxIDEwMDY0NAotLS0g YS9kb2Mvc3JjL3NnbWwvcmVmL2NyZWF0ZV90YWJsZS5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9y ZWYvY3JlYXRlX3RhYmxlLnNnbWwKQEAgLTg4LDcgKzg4LDcgQEAgY2xhc3M9InBhcmFtZXRlciI+ cmVmZXJlbnRpYWxfYWN0aW9uPC9yZXBsYWNlYWJsZT4gXSBbIE9OIFVQREFURSA8cmVwbGFjZWFi bGUgY2wKIAogPHBocmFzZT5hbmQgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmxpa2Vf b3B0aW9uPC9yZXBsYWNlYWJsZT4gaXM6PC9waHJhc2U+CiAKLXsgSU5DTFVESU5HIHwgRVhDTFVE SU5HIH0geyBDT01NRU5UUyB8IENPTVBSRVNTSU9OIHwgQ09OU1RSQUlOVFMgfCBERUZBVUxUUyB8 IEdFTkVSQVRFRCB8IElERU5USVRZIHwgSU5ERVhFUyB8IFNUQVRJU1RJQ1MgfCBTVE9SQUdFIHwg QUxMIH0KK3sgSU5DTFVESU5HIHwgRVhDTFVESU5HIH0geyBDT01NRU5UUyB8IENPTVBSRVNTSU9O IHwgQ09OU1RSQUlOVFMgfCBERUZBVUxUUyB8IEdFTkVSQVRFRCB8IElERU5USVRZIHwgSU5ERVhF UyB8IFNUQVRJU1RJQ1MgfCBTVE9SQUdFIHwgUEFSQU1FVEVSUyB8IEFMTCB9CiAKIDxwaHJhc2U+ YW5kIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5wYXJ0aXRpb25fYm91bmRfc3BlYzwv cmVwbGFjZWFibGU+IGlzOjwvcGhyYXNlPgogCkBAIC03NTMsNiArNzUzLDE4IEBAIFdJVEggKCBN T0RVTFVTIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5udW1lcmljX2xpdGVyYWw8L3Jl cGxhY2VhYmxlPiwgUkVNCiAgICAgICAgIDwvbGlzdGl0ZW0+CiAgICAgICAgPC92YXJsaXN0ZW50 cnk+CiAKKyAgICAgICA8dmFybGlzdGVudHJ5IGlkPSJzcWwtY3JlYXRldGFibGUtcGFybXMtbGlr ZS1vcHQtc3RvcmFnZS1wYXJhbXRlciI+CisgICAgICAgIDx0ZXJtPjxsaXRlcmFsPklOQ0xVRElO RyBQQVJBTUVURVJTPC9saXRlcmFsPjwvdGVybT4KKyAgICAgICAgPGxpc3RpdGVtPgorICAgICAg ICAgPHBhcmE+CisgICAgICAgICAgQWxsIHRhYmxlIHBhcmFtZXRlcnMsIHN1Y2ggYXMgdGhlIDxs aXRlcmFsPnN0b3JhZ2UgcGFyYW1ldGVyPC9saXRlcmFsPgorICAgICAgICAgIHNldHRpbmdzIG9m IHRoZSBzb3VyY2UgdGFibGUsIHdpbGwgYmUgY29waWVkLiAgRm9yIHRhYmxlIHN0b3JhZ2UKKyAg ICAgICAgICBwYXJhbWV0ZXJzLCBzZWUgPHhyZWYgbGlua2VuZD0ic3FsLWNyZWF0ZXRhYmxlLXN0 b3JhZ2UtcGFyYW1ldGVycyIvPgorICAgICAgICAgIGJlbG93IGZvciBtb3JlIGluZm9ybWF0aW9u LgorICAgICAgICAgPC9wYXJhPgorICAgICAgICA8L2xpc3RpdGVtPgorICAgICAgIDwvdmFybGlz dGVudHJ5PgorCiAgICAgICAgPHZhcmxpc3RlbnRyeSBpZD0ic3FsLWNyZWF0ZXRhYmxlLXBhcm1z LWxpa2Utb3B0LXN0YXRpc3RpY3MiPgogICAgICAgICA8dGVybT48bGl0ZXJhbD5JTkNMVURJTkcg U1RBVElTVElDUzwvbGl0ZXJhbD48L3Rlcm0+CiAgICAgICAgIDxsaXN0aXRlbT4KZGlmZiAtLWdp dCBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9jb21tb24vcmVsb3B0aW9ucy5jIGIvc3JjL2JhY2tlbmQv YWNjZXNzL2NvbW1vbi9yZWxvcHRpb25zLmMKaW5kZXggMzE5MjZkOGEzNjguLjkyODljYWVmN2Jh IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9hY2Nlc3MvY29tbW9uL3JlbG9wdGlvbnMuYworKysg Yi9zcmMvYmFja2VuZC9hY2Nlc3MvY29tbW9uL3JlbG9wdGlvbnMuYwpAQCAtMTM5Miw2ICsxMzky LDU2IEBAIHVudHJhbnNmb3JtUmVsT3B0aW9ucyhEYXR1bSBvcHRpb25zKQogCXJldHVybiByZXN1 bHQ7CiB9CiAKKy8qCisgKiBDb252ZXJ0IHRoZSByZWxvcHRpb25zIGZyb20gdGV4dC1hcnJheSBm b3JtYXQgaW50byBhIExpc3Qgb2YgRGVmRWxlbS4gIFRoaXMKKyAqIGlzIHRoZSByZXZlcnNlIG9w ZXJhdGlvbiBvZiB0cmFuc2Zvcm1SZWxPcHRpb25zKCkuCisgKgorICogSWYgYW55IG9wdGlvbiBp bmNsdWRlcyBhIG5hbWVzcGFjZSBxdWFsaWZpY2F0aW9uLCBjcmVhdGUgdGhlIERlZkVsZW0gaW4g dGhhdAorICogbmFtZXNwYWNlLCBvdGhlcndpc2UgdGhpcyBiZWhhdmUgdGhlIHNhbWUgYXMgdW50 cmFuc2Zvcm1SZWxPcHRpb25zLgorICovCitMaXN0ICoKK3VudHJhbnNmb3JtUmVsT3B0aW9uc0V4 dGVuZGVkKERhdHVtIG9wdGlvbnMsIGNoYXIqIG5hbWVTcGFjZSkKK3sKKwlMaXN0CSAgICpyZXN1 bHQgPSBOSUw7CisJQXJyYXlUeXBlICAqYXJyYXk7CisJRGF0dW0JICAgKm9wdGlvbmRhdHVtczsK KwlpbnQJCQlub3B0aW9uczsKKwlpbnQJCQlpOworCisJLyogTm90aGluZyB0byBkbyBpZiBubyBv cHRpb25zICovCisJaWYgKERhdHVtR2V0UG9pbnRlcihvcHRpb25zKSA9PSBOVUxMKQorCQlyZXR1 cm4gcmVzdWx0OworCisJYXJyYXkgPSBEYXR1bUdldEFycmF5VHlwZVAob3B0aW9ucyk7CisKKwlk ZWNvbnN0cnVjdF9hcnJheV9idWlsdGluKGFycmF5LCBURVhUT0lELCAmb3B0aW9uZGF0dW1zLCBO VUxMLCAmbm9wdGlvbnMpOworCisJZm9yIChpID0gMDsgaSA8IG5vcHRpb25zOyBpKyspCisJewor CQljaGFyCSAgICpzOworCQljaGFyCSAgICpwOworCQlOb2RlCSAgICp2YWwgPSBOVUxMOworCisJ CXMgPSBUZXh0RGF0dW1HZXRDU3RyaW5nKG9wdGlvbmRhdHVtc1tpXSk7CisJCXAgPSBzdHJjaHIo cywgJz0nKTsKKwkJaWYgKHApCisJCXsKKwkJCSpwKysgPSAnXDAnOworCQkJdmFsID0gKE5vZGUg KikgbWFrZVN0cmluZyhwKTsKKwkJfQorCisJCWlmIChuYW1lU3BhY2UgPT0gTlVMTCkKKwkJCXJl c3VsdCA9IGxhcHBlbmQocmVzdWx0LCBtYWtlRGVmRWxlbShzLCB2YWwsIC0xKSk7CisJCWVsc2UK KwkJCXJlc3VsdCA9IGxhcHBlbmQocmVzdWx0LCBtYWtlRGVmRWxlbUV4dGVuZGVkKG5hbWVTcGFj ZSwgcywgdmFsLAorCQkJCQkJCQkJCQkJCQkgREVGRUxFTV9VTlNQRUMsCisJCQkJCQkJCQkJCQkJ CSAtMSkpOworCX0KKworCXJldHVybiByZXN1bHQ7Cit9CisKKwogLyoKICAqIEV4dHJhY3QgYW5k IHBhcnNlIHJlbG9wdGlvbnMgZnJvbSBhIHBnX2NsYXNzIHR1cGxlLgogICoKZGlmZiAtLWdpdCBh L3NyYy9iYWNrZW5kL3BhcnNlci9ncmFtLnkgYi9zcmMvYmFja2VuZC9wYXJzZXIvZ3JhbS55Cmlu ZGV4IDI4ZjRlMTFlMzBmLi43MzJjYmU4ZGJhYiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcGFy c2VyL2dyYW0ueQorKysgYi9zcmMvYmFja2VuZC9wYXJzZXIvZ3JhbS55CkBAIC03NjUsNyArNzY1 LDcgQEAgc3RhdGljIE5vZGUgKm1ha2VSZWN1cnNpdmVWaWV3U2VsZWN0KGNoYXIgKnJlbG5hbWUs IExpc3QgKmFsaWFzZXMsIE5vZGUgKnF1ZXJ5KTsKIAlPUkRFUiBPUkRJTkFMSVRZIE9USEVSUyBP VVRfUCBPVVRFUl9QCiAJT1ZFUiBPVkVSTEFQUyBPVkVSTEFZIE9WRVJSSURJTkcgT1dORUQgT1dO RVIKIAotCVBBUkFMTEVMIFBBUkFNRVRFUiBQQVJTRVIgUEFSVElBTCBQQVJUSVRJT04gUEFSVElU SU9OUyBQQVNTSU5HIFBBU1NXT1JEIFBBVEgKKwlQQVJBTExFTCBQQVJBTUVURVIgUEFSQU1FVEVS UyBQQVJTRVIgUEFSVElBTCBQQVJUSVRJT04gUEFSVElUSU9OUyBQQVNTSU5HIFBBU1NXT1JEIFBB VEgKIAlQRVJJT0QgUExBQ0lORyBQTEFOIFBMQU5TIFBPTElDWQogCVBPU0lUSU9OIFBSRUNFRElO RyBQUkVDSVNJT04gUFJFU0VSVkUgUFJFUEFSRSBQUkVQQVJFRCBQUklNQVJZCiAJUFJJT1IgUFJJ VklMRUdFUyBQUk9DRURVUkFMIFBST0NFRFVSRSBQUk9DRURVUkVTIFBST0dSQU0gUFVCTElDQVRJ T04KQEAgLTQyOTYsNiArNDI5Niw3IEBAIFRhYmxlTGlrZU9wdGlvbjoKIAkJCQl8IElOREVYRVMJ CQl7ICQkID0gQ1JFQVRFX1RBQkxFX0xJS0VfSU5ERVhFUzsgfQogCQkJCXwgU1RBVElTVElDUwkJ eyAkJCA9IENSRUFURV9UQUJMRV9MSUtFX1NUQVRJU1RJQ1M7IH0KIAkJCQl8IFNUT1JBR0UJCQl7 ICQkID0gQ1JFQVRFX1RBQkxFX0xJS0VfU1RPUkFHRTsgfQorCQkJCXwgUEFSQU1FVEVSUyAJCXsg JCQgPSBDUkVBVEVfVEFCTEVfTElLRV9QQVJBTUVURVJTOyB9CiAJCQkJfCBBTEwJCQkJeyAkJCA9 IENSRUFURV9UQUJMRV9MSUtFX0FMTDsgfQogCQk7CiAKQEAgLTE4MDg3LDYgKzE4MDg4LDcgQEAg dW5yZXNlcnZlZF9rZXl3b3JkOgogCQkJfCBPV05FUgogCQkJfCBQQVJBTExFTAogCQkJfCBQQVJB TUVURVIKKwkJCXwgUEFSQU1FVEVSUwogCQkJfCBQQVJTRVIKIAkJCXwgUEFSVElBTAogCQkJfCBQ QVJUSVRJT04KQEAgLTE4NzE5LDYgKzE4NzIxLDcgQEAgYmFyZV9sYWJlbF9rZXl3b3JkOgogCQkJ fCBPV05FUgogCQkJfCBQQVJBTExFTAogCQkJfCBQQVJBTUVURVIKKwkJCXwgUEFSQU1FVEVSUwog CQkJfCBQQVJTRVIKIAkJCXwgUEFSVElBTAogCQkJfCBQQVJUSVRJT04KZGlmZiAtLWdpdCBhL3Ny Yy9iYWNrZW5kL3BhcnNlci9wYXJzZV91dGlsY21kLmMgYi9zcmMvYmFja2VuZC9wYXJzZXIvcGFy c2VfdXRpbGNtZC5jCmluZGV4IDM3NWI0MGIyOWFmLi4yZTc3YzJkYjE5YiAxMDA2NDQKLS0tIGEv c3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX3V0aWxjbWQuYworKysgYi9zcmMvYmFja2VuZC9wYXJz ZXIvcGFyc2VfdXRpbGNtZC5jCkBAIC04OCw2ICs4OCw3IEBAIHR5cGVkZWYgc3RydWN0CiAJTGlz dAkgICAqZmtjb25zdHJhaW50czsJLyogRk9SRUlHTiBLRVkgY29uc3RyYWludHMgKi8KIAlMaXN0 CSAgICppeGNvbnN0cmFpbnRzOwkvKiBpbmRleC1jcmVhdGluZyBjb25zdHJhaW50cyAqLwogCUxp c3QJICAgKmxpa2VjbGF1c2VzOwkvKiBMSUtFIGNsYXVzZXMgdGhhdCBuZWVkIHBvc3QtcHJvY2Vz c2luZyAqLworCUxpc3QJICAgKm9wdGlvbnM7CQkvKiBvcHRpb25zIGZyb20gV0lUSCBjbGF1c2Us IHRhYmxlIEFNIHNwZWNpZmljIHBhcmFtZXRlcnMgKi8KIAlMaXN0CSAgICpibGlzdDsJCQkvKiAi YmVmb3JlIGxpc3QiIG9mIHRoaW5ncyB0byBkbyBiZWZvcmUKIAkJCQkJCQkJICogY3JlYXRpbmcg dGhlIHRhYmxlICovCiAJTGlzdAkgICAqYWxpc3Q7CQkJLyogImFmdGVyIGxpc3QiIG9mIHRoaW5n cyB0byBkbyBhZnRlciBjcmVhdGluZwpAQCAtMjQ4LDYgKzI0OSw3IEBAIHRyYW5zZm9ybUNyZWF0 ZVN0bXQoQ3JlYXRlU3RtdCAqc3RtdCwgY29uc3QgY2hhciAqcXVlcnlTdHJpbmcpCiAJY3h0LmZr Y29uc3RyYWludHMgPSBOSUw7CiAJY3h0Lml4Y29uc3RyYWludHMgPSBOSUw7CiAJY3h0Lmxpa2Vj bGF1c2VzID0gTklMOworCWN4dC5vcHRpb25zID0gc3RtdC0+b3B0aW9uczsKIAljeHQuYmxpc3Qg PSBOSUw7CiAJY3h0LmFsaXN0ID0gTklMOwogCWN4dC5wa2V5ID0gTlVMTDsKQEAgLTM3Miw2ICsz NzQsNyBAQCB0cmFuc2Zvcm1DcmVhdGVTdG10KENyZWF0ZVN0bXQgKnN0bXQsIGNvbnN0IGNoYXIg KnF1ZXJ5U3RyaW5nKQogCXN0bXQtPnRhYmxlRWx0cyA9IGN4dC5jb2x1bW5zOwogCXN0bXQtPmNv bnN0cmFpbnRzID0gY3h0LmNrY29uc3RyYWludHM7CiAJc3RtdC0+bm5jb25zdHJhaW50cyA9IGN4 dC5ubmNvbnN0cmFpbnRzOworCXN0bXQtPm9wdGlvbnMgPSBjeHQub3B0aW9uczsKIAogCXJlc3Vs dCA9IGxhcHBlbmQoY3h0LmJsaXN0LCBzdG10KTsKIAlyZXN1bHQgPSBsaXN0X2NvbmNhdChyZXN1 bHQsIGN4dC5hbGlzdCk7CkBAIC0xMjcxLDYgKzEyNzQsNzggQEAgdHJhbnNmb3JtVGFibGVMaWtl Q2xhdXNlKENyZWF0ZVN0bXRDb250ZXh0ICpjeHQsIFRhYmxlTGlrZUNsYXVzZSAqdGFibGVfbGlr ZV9jbGEKIAkJfQogCX0KIAorCS8qIExpa2V3aXNlLCBjb3B5IHN0b2FyZ2UgcGFyYW10ZXJzIGlm IHJlcXVlc3RlZCAqLworCWlmICgodGFibGVfbGlrZV9jbGF1c2UtPm9wdGlvbnMgJiBDUkVBVEVf VEFCTEVfTElLRV9QQVJBTUVURVJTKSAmJgorCQkhY3h0LT5pc2ZvcmVpZ24pCisJeworCQlIZWFw VHVwbGUJdHVwbGU7CisJCUhlYXBUdXBsZQl0b2FzdF90dXBsZTsKKwkJRGF0dW0JCXJlbG9wdGlv bnM7CisJCWJvb2wJCWlzbnVsbDsKKwkJT2lkCQkJcmVsaWQ7CisJCUxpc3QJCSpvbGRvcHRpb25z ID0gTklMOworCQlMaXN0CQkqb2xkdG9hc3RvcHRpb25zID0gTklMOworCisJCXJlbGlkID0gUmVs YXRpb25HZXRSZWxpZChyZWxhdGlvbik7CisJCXR1cGxlID0gU2VhcmNoU3lzQ2FjaGUxKFJFTE9J RCwgT2JqZWN0SWRHZXREYXR1bShyZWxpZCkpOworCisJCWlmICghSGVhcFR1cGxlSXNWYWxpZCh0 dXBsZSkpCisJCQllbG9nKEVSUk9SLCAiY2FjaGUgbG9va3VwIGZhaWxlZCBmb3IgcmVsYXRpb24g JXUiLCByZWxpZCk7CisKKwkJcmVsb3B0aW9ucyA9IFN5c0NhY2hlR2V0QXR0cihSRUxPSUQsIHR1 cGxlLAorCQkJCQkJCQkJIEFudW1fcGdfY2xhc3NfcmVsb3B0aW9ucywgJmlzbnVsbCk7CisJCWlm ICghaXNudWxsKQorCQl7CisJCQlvbGRvcHRpb25zID0gdW50cmFuc2Zvcm1SZWxPcHRpb25zKHJl bG9wdGlvbnMpOworCisJCQlmb3JlYWNoX25vZGUoRGVmRWxlbSwgb3B0aW9uLCBvbGRvcHRpb25z KQorCQkJCWN4dC0+b3B0aW9ucyA9IGxhcHBlbmQoY3h0LT5vcHRpb25zLCBvcHRpb24pOworCQl9 CisKKwkJUmVsZWFzZVN5c0NhY2hlKHR1cGxlKTsKKworCQkvKiBnZXQgdGhlIHRvYXN0IHJlbGF0 aW9uJ3MgcmVsb3B0aW9ucyAqLworCQlpZiAoT2lkSXNWYWxpZChyZWxhdGlvbi0+cmRfcmVsLT5y ZWx0b2FzdHJlbGlkKSkKKwkJeworCQkJUmVsYXRpb24JdG9hc3RyZWw7CisKKwkJCU9pZAkJCXRv YXN0aWQgPSByZWxhdGlvbi0+cmRfcmVsLT5yZWx0b2FzdHJlbGlkOworCisJCQkvKgorCQkJICog VGhlIHJlZmVyZW5jZWQgdGFibGUgaXMgYWxyZWFkeSBsb2NrZWQ7IGFjcXVpcmUgdGhlIGxvY2sg b24gaXRzCisJCQkgKiBhc3NvY2lhdGVkIFRPQVNUIHJlbGF0aW9uIG5vdy4KKwkJCSAqLworCQkJ dG9hc3RyZWwgPSB0YWJsZV9vcGVuKHRvYXN0aWQsIEFjY2Vzc1NoYXJlTG9jayk7CisKKwkJCS8q IEZldGNoIGhlYXAgdHVwbGUgKi8KKwkJCXRvYXN0X3R1cGxlID0gU2VhcmNoU3lzQ2FjaGUxKFJF TE9JRCwgT2JqZWN0SWRHZXREYXR1bSh0b2FzdGlkKSk7CisKKwkJCWlmICghSGVhcFR1cGxlSXNW YWxpZCh0b2FzdF90dXBsZSkpCisJCQkJZWxvZyhFUlJPUiwgImNhY2hlIGxvb2t1cCBmYWlsZWQg Zm9yIHRvYXN0IHJlbGF0aW9uICV1IiwgdG9hc3RpZCk7CisKKwkJCS8qIEdldCB0aGUgdG9hc3Qg cmVsb3B0aW9ucyAqLworCQkJcmVsb3B0aW9ucyA9IFN5c0NhY2hlR2V0QXR0cihSRUxPSUQsIHRv YXN0X3R1cGxlLCBBbnVtX3BnX2NsYXNzX3JlbG9wdGlvbnMsCisJCQkJCQkJCQkJICZpc251bGwp OworCQkJaWYgKCFpc251bGwpCisJCQl7CisJCQkJb2xkdG9hc3RvcHRpb25zID0gdW50cmFuc2Zv cm1SZWxPcHRpb25zRXh0ZW5kZWQocmVsb3B0aW9ucywgInRvYXN0Iik7CisKKwkJCQlmb3JlYWNo X25vZGUoRGVmRWxlbSwgb3B0aW9uLCBvbGR0b2FzdG9wdGlvbnMpCisJCQkJCWN4dC0+b3B0aW9u cyA9IGxhcHBlbmQoY3h0LT5vcHRpb25zLCBvcHRpb24pOworCQkJfQorCisJCQlSZWxlYXNlU3lz Q2FjaGUodG9hc3RfdHVwbGUpOworCisJCQkvKgorCQkJICogQ2xvc2UgdGhlIHBhcmVudCBUT0FT VCByZWwsIGJ1dCBrZWVwIG91ciBBY2Nlc3NTaGFyZUxvY2sgb24gaXQKKwkJCSAqIHVudGlsIHhh Y3QgY29tbWl0LiAgVGhhdCB3aWxsIHByZXZlbnQgc29tZW9uZSBlbHNlIGZyb20gZGVsZXRpbmcK KwkJCSAqIG9yIEFMVEVSaW5nIHRoZSBwYXJlbnQgVE9BU1QgYmVmb3JlIHdlIGNhbiBydW4KKwkJ CSAqIGV4cGFuZFRhYmxlTGlrZUNsYXVzZS4KKwkJCSAqLworCQkJdGFibGVfY2xvc2UodG9hc3Ry ZWwsIE5vTG9jayk7CisJCX0KKwl9CisKIAkvKgogCSAqIFJlcHJvZHVjZSBub3QtbnVsbCBjb25z dHJhaW50cywgaWYgYW55LCBieSBjb3B5aW5nIHRoZW0uICBXZSBkbyB0aGlzCiAJICogcmVnYXJk bGVzcyBvZiBvcHRpb25zIGdpdmVuLgpAQCAtMzg2MCw2ICszOTM1LDcgQEAgdHJhbnNmb3JtQWx0 ZXJUYWJsZVN0bXQoT2lkIHJlbGlkLCBBbHRlclRhYmxlU3RtdCAqc3RtdCwKIAljeHQuZmtjb25z dHJhaW50cyA9IE5JTDsKIAljeHQuaXhjb25zdHJhaW50cyA9IE5JTDsKIAljeHQubGlrZWNsYXVz ZXMgPSBOSUw7CisJY3h0Lm9wdGlvbnMgPSBOSUw7CiAJY3h0LmJsaXN0ID0gTklMOwogCWN4dC5h bGlzdCA9IE5JTDsKIAljeHQucGtleSA9IE5VTEw7CmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9h Y2Nlc3MvcmVsb3B0aW9ucy5oIGIvc3JjL2luY2x1ZGUvYWNjZXNzL3JlbG9wdGlvbnMuaAppbmRl eCBhNjA0YTQ3MDJjMy4uODU4OTYxNmQwOGIgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2FjY2Vz cy9yZWxvcHRpb25zLmgKKysrIGIvc3JjL2luY2x1ZGUvYWNjZXNzL3JlbG9wdGlvbnMuaApAQCAt MjM2LDYgKzIzNiw3IEBAIGV4dGVybiBEYXR1bSB0cmFuc2Zvcm1SZWxPcHRpb25zKERhdHVtIG9s ZE9wdGlvbnMsIExpc3QgKmRlZkxpc3QsCiAJCQkJCQkJCSBjb25zdCBjaGFyICpuYW1lU3BhY2Us IGNvbnN0IGNoYXIgKmNvbnN0IHZhbGlkbnNwc1tdLAogCQkJCQkJCQkgYm9vbCBhY2NlcHRPaWRz T2ZmLCBib29sIGlzUmVzZXQpOwogZXh0ZXJuIExpc3QgKnVudHJhbnNmb3JtUmVsT3B0aW9ucyhE YXR1bSBvcHRpb25zKTsKK2V4dGVybiBMaXN0ICp1bnRyYW5zZm9ybVJlbE9wdGlvbnNFeHRlbmRl ZChEYXR1bSBvcHRpb25zLCBjaGFyKiBuYW1lU3BhY2UpOwogZXh0ZXJuIGJ5dGVhICpleHRyYWN0 UmVsT3B0aW9ucyhIZWFwVHVwbGUgdHVwbGUsIFR1cGxlRGVzYyB0dXBkZXNjLAogCQkJCQkJCQlh bW9wdGlvbnNfZnVuY3Rpb24gYW1vcHRpb25zKTsKIGV4dGVybiB2b2lkICpidWlsZF9yZWxvcHRp b25zKERhdHVtIHJlbG9wdGlvbnMsIGJvb2wgdmFsaWRhdGUsCmRpZmYgLS1naXQgYS9zcmMvaW5j bHVkZS9ub2Rlcy9wYXJzZW5vZGVzLmggYi9zcmMvaW5jbHVkZS9ub2Rlcy9wYXJzZW5vZGVzLmgK aW5kZXggYmM3YWRiYTRhMGYuLjllMDI5NmFlZTM5IDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9u b2Rlcy9wYXJzZW5vZGVzLmgKKysrIGIvc3JjL2luY2x1ZGUvbm9kZXMvcGFyc2Vub2Rlcy5oCkBA IC03OTUsNiArNzk1LDcgQEAgdHlwZWRlZiBlbnVtIFRhYmxlTGlrZU9wdGlvbgogCUNSRUFURV9U QUJMRV9MSUtFX0lOREVYRVMgPSAxIDw8IDYsCiAJQ1JFQVRFX1RBQkxFX0xJS0VfU1RBVElTVElD UyA9IDEgPDwgNywKIAlDUkVBVEVfVEFCTEVfTElLRV9TVE9SQUdFID0gMSA8PCA4LAorCUNSRUFU RV9UQUJMRV9MSUtFX1BBUkFNRVRFUlMgPSAxIDw8IDksCiAJQ1JFQVRFX1RBQkxFX0xJS0VfQUxM ID0gUEdfSU5UMzJfTUFYCiB9IFRhYmxlTGlrZU9wdGlvbjsKIApkaWZmIC0tZ2l0IGEvc3JjL2lu Y2x1ZGUvcGFyc2VyL2t3bGlzdC5oIGIvc3JjL2luY2x1ZGUvcGFyc2VyL2t3bGlzdC5oCmluZGV4 IDlmZGU1OGY1NDFjLi5hYWQ2NGU3Y2NjYSAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvcGFyc2Vy L2t3bGlzdC5oCisrKyBiL3NyYy9pbmNsdWRlL3BhcnNlci9rd2xpc3QuaApAQCAtMzM2LDYgKzMz Niw3IEBAIFBHX0tFWVdPUkQoIm93bmVkIiwgT1dORUQsIFVOUkVTRVJWRURfS0VZV09SRCwgQkFS RV9MQUJFTCkKIFBHX0tFWVdPUkQoIm93bmVyIiwgT1dORVIsIFVOUkVTRVJWRURfS0VZV09SRCwg QkFSRV9MQUJFTCkKIFBHX0tFWVdPUkQoInBhcmFsbGVsIiwgUEFSQUxMRUwsIFVOUkVTRVJWRURf S0VZV09SRCwgQkFSRV9MQUJFTCkKIFBHX0tFWVdPUkQoInBhcmFtZXRlciIsIFBBUkFNRVRFUiwg VU5SRVNFUlZFRF9LRVlXT1JELCBCQVJFX0xBQkVMKQorUEdfS0VZV09SRCgicGFyYW1ldGVycyIs IFBBUkFNRVRFUlMsIFVOUkVTRVJWRURfS0VZV09SRCwgQkFSRV9MQUJFTCkKIFBHX0tFWVdPUkQo InBhcnNlciIsIFBBUlNFUiwgVU5SRVNFUlZFRF9LRVlXT1JELCBCQVJFX0xBQkVMKQogUEdfS0VZ V09SRCgicGFydGlhbCIsIFBBUlRJQUwsIFVOUkVTRVJWRURfS0VZV09SRCwgQkFSRV9MQUJFTCkK IFBHX0tFWVdPUkQoInBhcnRpdGlvbiIsIFBBUlRJVElPTiwgVU5SRVNFUlZFRF9LRVlXT1JELCBC QVJFX0xBQkVMKQpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9jcmVhdGVf dGFibGVfbGlrZS5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2NyZWF0ZV90YWJsZV9s aWtlLm91dAppbmRleCBkM2MzNWMxNDg0Ny4uM2ViMDc5ZTI0ZWQgMTAwNjQ0Ci0tLSBhL3NyYy90 ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvY3JlYXRlX3RhYmxlX2xpa2Uub3V0CisrKyBiL3NyYy90ZXN0 L3JlZ3Jlc3MvZXhwZWN0ZWQvY3JlYXRlX3RhYmxlX2xpa2Uub3V0CkBAIC02OTksMyArNjk5LDQy IEBAIERST1AgRk9SRUlHTiBUQUJMRSBjdGxfZm9yZWlnbl90YWJsZTE7CiBEUk9QIEZPUkVJR04g VEFCTEUgY3RsX2ZvcmVpZ25fdGFibGUyOwogRFJPUCBGT1JFSUdOIERBVEEgV1JBUFBFUiBjdGxf ZHVtbXkgQ0FTQ0FERTsKIE5PVElDRTogIGRyb3AgY2FzY2FkZXMgdG8gc2VydmVyIGN0bF9zMAor LS1DUkVBVEUgVEFCTEUgTElLRSB3aXRoIFBBUkFNRVRFUlMKK2NyZWF0ZSB0YWJsZSB0X3NwKGEg dGV4dCkgd2l0aCAoCisgICAgZmlsbGZhY3RvciA9IDEwMCwKKyAgICB0b2FzdF90dXBsZV90YXJn ZXQgPSAxMjgsCisgICAgdmFjdXVtX2luZGV4X2NsZWFudXAgPSBhdXRvLAorICAgIHRvYXN0LnZh Y3V1bV9pbmRleF9jbGVhbnVwID0gYXV0bywKKyAgICB2YWN1dW1fdHJ1bmNhdGUgPSB0cnVlLAor ICAgIHRvYXN0LnZhY3V1bV90cnVuY2F0ZSA9IGZhbHNlLAorICAgIGxvZ19hdXRvdmFjdXVtX21p bl9kdXJhdGlvbiA9IDEwMCwKKyAgICB0b2FzdC5sb2dfYXV0b3ZhY3V1bV9taW5fZHVyYXRpb24g PSAxMDApOworY3JlYXRlIHRhYmxlIHRfc3AxKGxpa2UgdF9zcCBpbmNsdWRpbmcgcGFyYW1ldGVy cykgd2l0aCAoZmlsbGZhY3RvciA9IDEwMCk7IC0tZXJyb3IKK0VSUk9SOiAgcGFyYW1ldGVyICJm aWxsZmFjdG9yIiBzcGVjaWZpZWQgbW9yZSB0aGFuIG9uY2UKK2NyZWF0ZSB0YWJsZSB0X3NwMShs aWtlIHRfc3AgZXhjbHVkaW5nIHBhcmFtZXRlcnMpIHdpdGggKGZpbGxmYWN0b3IgPSAxMDApOyAt LW9rCitcZCsgdF9zcDEKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUYWJsZSAi cHVibGljLnRfc3AxIgorIENvbHVtbiB8IFR5cGUgfCBDb2xsYXRpb24gfCBOdWxsYWJsZSB8IERl ZmF1bHQgfCBTdG9yYWdlICB8IFN0YXRzIHRhcmdldCB8IERlc2NyaXB0aW9uIAorLS0tLS0tLS0r LS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLQorIGEgICAgICB8IHRleHQgfCAgICAgICAgICAgfCAgICAg ICAgICB8ICAgICAgICAgfCBleHRlbmRlZCB8ICAgICAgICAgICAgICB8IAorT3B0aW9uczogZmls bGZhY3Rvcj0xMDAKKworY3JlYXRlIHRhYmxlIHRfc3AyKGxpa2UgdF9zcCBpbmNsdWRpbmcgcGFy YW1ldGVycykgd2l0aCAoCisgIHBhcmFsbGVsX3dvcmtlcnMgPSAzLAorICB0b2FzdC5hdXRvdmFj dXVtX3ZhY3V1bV90aHJlc2hvbGQgPSAxMDEsCisgIHRvYXN0LmF1dG92YWN1dW1fdmFjdXVtX3Nj YWxlX2ZhY3RvciA9IDAuMyk7CitzZWxlY3QgICAgYy5yZWxuYW1lLCBjLnJlbG9wdGlvbnMsIHRj LnJlbG9wdGlvbnMgYXMgdG9hc3Rfb3B0aW9ucworZnJvbSAgICAgIHBnX2NhdGFsb2cucGdfY2xh c3MgYworbGVmdCBqb2luIHBnX2NhdGFsb2cucGdfY2xhc3MgdGMgT04gKGMucmVsdG9hc3RyZWxp ZCA9IHRjLm9pZCkKK3doZXJlICAgICBjLnJlbG5hbWUgaW4gKCd0X3NwMScsICd0X3NwMicpCitv cmRlciBieSAgYy5yZWxuYW1lIFxneAorLVsgUkVDT1JEIDEgXS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KK3JlbG5hbWUgICAgICAgfCB0X3NwMQorcmVsb3B0aW9ucyAgICB8 IHtmaWxsZmFjdG9yPTEwMH0KK3RvYXN0X29wdGlvbnMgfCAKKy1bIFJFQ09SRCAyIF0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCityZWxuYW1lICAgICAgIHwgdF9zcDIKK3Jl bG9wdGlvbnMgICAgfCB7cGFyYWxsZWxfd29ya2Vycz0zLGZpbGxmYWN0b3I9MTAwLHRvYXN0X3R1 cGxlX3RhcmdldD0xMjgsdmFjdXVtX2luZGV4X2NsZWFudXA9YXV0byx2YWN1dW1fdHJ1bmNhdGU9 dHJ1ZSxsb2dfYXV0b3ZhY3V1bV9taW5fZHVyYXRpb249MTAwfQordG9hc3Rfb3B0aW9ucyB8IHth dXRvdmFjdXVtX3ZhY3V1bV90aHJlc2hvbGQ9MTAxLGF1dG92YWN1dW1fdmFjdXVtX3NjYWxlX2Zh Y3Rvcj0wLjMsdmFjdXVtX2luZGV4X2NsZWFudXA9YXV0byx2YWN1dW1fdHJ1bmNhdGU9ZmFsc2Us bG9nX2F1dG92YWN1dW1fbWluX2R1cmF0aW9uPTEwMH0KKworZHJvcCB0YWJsZSB0X3NwLCB0X3Nw MSwgdF9zcDI7CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9jcmVhdGVfdGFibGVf bGlrZS5zcWwgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9jcmVhdGVfdGFibGVfbGlrZS5zcWwKaW5k ZXggOTMzODliNTdkYmYuLmFmYzhmZmU2YWQ1IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNz L3NxbC9jcmVhdGVfdGFibGVfbGlrZS5zcWwKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvY3Jl YXRlX3RhYmxlX2xpa2Uuc3FsCkBAIC0yODAsMyArMjgwLDMxIEBAIERST1AgVEFCTEUgY3RsX3Rh YmxlOwogRFJPUCBGT1JFSUdOIFRBQkxFIGN0bF9mb3JlaWduX3RhYmxlMTsKIERST1AgRk9SRUlH TiBUQUJMRSBjdGxfZm9yZWlnbl90YWJsZTI7CiBEUk9QIEZPUkVJR04gREFUQSBXUkFQUEVSIGN0 bF9kdW1teSBDQVNDQURFOworCistLUNSRUFURSBUQUJMRSBMSUtFIHdpdGggUEFSQU1FVEVSUwor Y3JlYXRlIHRhYmxlIHRfc3AoYSB0ZXh0KSB3aXRoICgKKyAgICBmaWxsZmFjdG9yID0gMTAwLAor ICAgIHRvYXN0X3R1cGxlX3RhcmdldCA9IDEyOCwKKyAgICB2YWN1dW1faW5kZXhfY2xlYW51cCA9 IGF1dG8sCisgICAgdG9hc3QudmFjdXVtX2luZGV4X2NsZWFudXAgPSBhdXRvLAorICAgIHZhY3V1 bV90cnVuY2F0ZSA9IHRydWUsCisgICAgdG9hc3QudmFjdXVtX3RydW5jYXRlID0gZmFsc2UsCisg ICAgbG9nX2F1dG92YWN1dW1fbWluX2R1cmF0aW9uID0gMTAwLAorICAgIHRvYXN0LmxvZ19hdXRv dmFjdXVtX21pbl9kdXJhdGlvbiA9IDEwMCk7CisKK2NyZWF0ZSB0YWJsZSB0X3NwMShsaWtlIHRf c3AgaW5jbHVkaW5nIHBhcmFtZXRlcnMpIHdpdGggKGZpbGxmYWN0b3IgPSAxMDApOyAtLWVycm9y CitjcmVhdGUgdGFibGUgdF9zcDEobGlrZSB0X3NwIGV4Y2x1ZGluZyBwYXJhbWV0ZXJzKSB3aXRo IChmaWxsZmFjdG9yID0gMTAwKTsgLS1vaworXGQrIHRfc3AxCisKK2NyZWF0ZSB0YWJsZSB0X3Nw MihsaWtlIHRfc3AgaW5jbHVkaW5nIHBhcmFtZXRlcnMpIHdpdGggKAorICBwYXJhbGxlbF93b3Jr ZXJzID0gMywKKyAgdG9hc3QuYXV0b3ZhY3V1bV92YWN1dW1fdGhyZXNob2xkID0gMTAxLAorICB0 b2FzdC5hdXRvdmFjdXVtX3ZhY3V1bV9zY2FsZV9mYWN0b3IgPSAwLjMpOworCitzZWxlY3QgICAg Yy5yZWxuYW1lLCBjLnJlbG9wdGlvbnMsIHRjLnJlbG9wdGlvbnMgYXMgdG9hc3Rfb3B0aW9ucwor ZnJvbSAgICAgIHBnX2NhdGFsb2cucGdfY2xhc3MgYworbGVmdCBqb2luIHBnX2NhdGFsb2cucGdf Y2xhc3MgdGMgT04gKGMucmVsdG9hc3RyZWxpZCA9IHRjLm9pZCkKK3doZXJlICAgICBjLnJlbG5h bWUgaW4gKCd0X3NwMScsICd0X3NwMicpCitvcmRlciBieSAgYy5yZWxuYW1lIFxneAorCitkcm9w IHRhYmxlIHRfc3AsIHRfc3AxLCB0X3NwMjsKLS0gCjIuMzQuMQoK --0000000000000ccbcb0645f9ae36--