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 1wcgsy-003Xz2-0h for pgsql-hackers@arkaria.postgresql.org; Thu, 25 Jun 2026 10:00:40 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wcgsx-004oGR-06 for pgsql-hackers@arkaria.postgresql.org; Thu, 25 Jun 2026 10:00:39 +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.96) (envelope-from ) id 1wcgsw-004oGJ-2C for pgsql-hackers@lists.postgresql.org; Thu, 25 Jun 2026 10:00:38 +0000 Received: from mail-yx1-xb134.google.com ([2607:f8b0:4864:20::b134]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wcgsu-00000000BD1-04VK for pgsql-hackers@lists.postgresql.org; Thu, 25 Jun 2026 10:00:38 +0000 Received: by mail-yx1-xb134.google.com with SMTP id 956f58d0204a3-6626cd98209so1925908d50.3 for ; Thu, 25 Jun 2026 03:00:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1782381634; cv=none; d=google.com; s=arc-20260327; b=dtN/07Q4syZteQn49kgv07lY7a2zIJG6t702FfhF5vkckxumqy33OS4uSM4liW8de2 kV/+cvEmMEQj83TN0OKdqPACpExyz0ho30f50iQBXbnUYI48a4aVjYC6qzIxhBNPLzSh 0ByDjpoMifF3hVRUjToZ0ULVu/zJ29g8aWxtUw929OP2fYW2M5BBAAg2PQyQts3k77o6 jQuJc5pSAUXMRXGk5B76qAgXv+XBUNebufNCZpbJInTcvOrwdRa5M9lae/1ZUT9wgC0W DGeNi7KkKiL5NpBqo41tbJQffb1r4H/Qs4VyUuqIwPbuAnFxIUTzIxVBsFCdX8rEMhVb F3iQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=Gf3mVb47jTWU3e+m2+2/1CnEdTHC2J+KATBv5pE5Zg8=; fh=KcfTCw2ZVqAV+lTGR3KRT9q1CRnyXcs7hTtvM0Hb+1I=; b=V4BVCgn5/srlVfsKanhDGv4Gt1csEoqVfRPXflAeUmDU10WpUbh9Ag/6oL1BS4iR1A 97S/dco00l7iXpRg+BV0XLIfAsncYqzqT6SQKMCM2rMnlkFgwtPjcCB4blrfLBndqrSB +c0Sd9bviRPukDQ12gFpFt3m20sZKEZcjjlyisdHtIpee2PFzu6JL54vU1vXtxA+9Mdc WRffRrTtxwvWaKGIieOyX4MstR6DJxcIUNO06/sMXoVxW/ockIf1GSe6zvHUy8NWsmOk 3CuWpa+iNrNW2utlMUEniooGihOzpdpopHK9rUkff33ECUOive4Klw+mxl/bxkB6TJch 2ZfA==; darn=lists.postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1782381634; x=1782986434; darn=lists.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=Gf3mVb47jTWU3e+m2+2/1CnEdTHC2J+KATBv5pE5Zg8=; b=P7KWik43rnh1r3/V1fC1D+1To1nwrfpiWHBcli5VqgqVGfWsaahuEL1pKdIpIJzjXx /W9VGDEQIH7MfYbTZ92i1fJ7a/7hBWOyX9Qt1LvJ6uFTHAFvapri0il0sh2AduidVp3z bRE8YjmYUFsU3gTiKl8xvoKONqdnGfyhjc4irLBPBXFNQLlzsLHR4Ue71ZKiI/83RXx5 3mbExE7Ctp0OSxab/Rzy5shZN7zSZY4+xDLlR7q2UiQKW53x6sY8KNz+FegUAir03D9x aKj1jQSfzWOeRQaCTVUWOieEMAK2ALSUGU4FWas0a5vm8XwxtQZPezgMBzv4NVA+qlBv iibg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782381634; x=1782986434; 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=Gf3mVb47jTWU3e+m2+2/1CnEdTHC2J+KATBv5pE5Zg8=; b=H1/PqbYv+pkyVKh5ayz7jLM+0TX3bcpv7NOX37wqf8Os9Kmt3A8rXycM3aEmVv+/Qf cwDJeCmnETFIJ2XET7m2lsWm2Rf8kGF9R8rfuQ2orJ3zS834E39IFb5WyhmlZYvJDHi9 vlOIMKIRuJWlkeTur6BIJlVL7EGPGo6vsiie66duzU2DJIAkqnJ2lBpU8mPXTVSJ1d4M +lieEQkfuhlGIIm624GOnB2gAc3J+4ehXm3/L7QYIhjryJ8v3Va5tmDvfocpMt8nZweI kdYg6VrGdVMjq7hQY4Y3Rn+4h7aefPatwirWBkSiFX6oshUkBq16UDGStrnNTaVepD2V Egjw== X-Gm-Message-State: AOJu0Yyp7Xt2ni3T7CbnUjMrNBHINL+/pp7nDIhO1XzvmJhCXZDnWC7o kB8MN7JgpM1fpy+DhyrNQAQg0+7Zr3N83wX0dkWbehOyRA1Us5odY8rKXofjzoXM8P0QopE46AG OfAQXgT+mYQ+LWbf3hWdn3/Ch/zM66tLZm8xP X-Gm-Gg: AfdE7cl467HEsyeem9+h4Sma2xb5XDyfvff1pWHLRvNVRG9OgEWan8Yeht0azvduGu0 AHw0qLofwJH/251Vd/pIj14oQPwUCjOMOt3bTE+aYt93I0agvqkzlmqEwO+hqKaQqSzLgtXZXfR OMz9seGl4YJMChEnYS0KCY1wmDPJtsXLQ50BzI0DA++0H2K24N0khKO4fhmylsJcdKIhHwRdyIU SXd0bEZmQguPM/jlH5bOc2Ac6iL5SsEQdg5ILpM5KFwPQr6XaHM1RZJVtriKWH+LiD+a9lcQOw= X-Received: by 2002:a05:690e:d4a:b0:664:7f84:8fa1 with SMTP id 956f58d0204a3-66488314fbbmr1116840d50.56.1782381633626; Thu, 25 Jun 2026 03:00:33 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: vignesh C Date: Thu, 25 Jun 2026 15:30:20 +0530 X-Gm-Features: AVVi8Cd-lxhl32ELXwWQp3qBG7JY_jwCWodC5M0qrmWmr_X6Ywz5Jw36M4bm5Ow Message-ID: Subject: Re: Include sequences in publications created by pg_createsubscriber To: Peter Smith Cc: PostgreSQL Hackers Content-Type: multipart/mixed; boundary="0000000000002130140655111021" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --0000000000002130140655111021 Content-Type: text/plain; charset="UTF-8" On Thu, 25 Jun 2026 at 06:29, Peter Smith wrote: > > Hi Vignesh. > > Some comments for v2. > > ====== > doc/src/sgml/ref/pg_createsubscriber.sgml > > 1. > fresh logical replication setup. The main difference between the logical > replication setup and pg_createsubscriber is how > the data synchronization is done. > pg_createsubscriber > - does not copy the initial table data. It does only the > synchronization phase, > - which ensures each table is brought up to a synchronized state. > + does not copy the initial table or sequence data. It does only the > + synchronization phase, which ensures each table and sequence is brought up > + to a synchronized state. > > 1a. > OK. Thanks for the explanation on what was meant. Personally, I found > the wording "sequence is brought up to a synchronized state" > ambiguous, because in my mind the sequence value is a part of the > sequence state. > > Below is some alternate wording for consideration: > > SUGGESTION: > pg_createsubscriber performs only the synchronization phase, which > prepares each table and sequence for replication. It does not copy > table data or synchronize sequence values from the publisher. I have separated the table and sequence part to avoid confusion. > ~~~ > > 1b. > While reviewing this patch I also referred to section "29.7. > Replicating Sequences #". [1] for more information. But there I was > tricked by some (misleading?) wording. > I have created another thread [2] to discuss/patch that. Please see it > and post your thoughts. Thanks for working on this, I have shared a couple of comments at [1]. > ~~~ > > 2. > + > + Note that although the publication includes sequences, sequence value > + changes made on the publisher after reaching consistent point are not > + synchronized incrementally. To synchronize sequence values, run > + > + ALTER SUBSCRIPTION ... REFRESH SEQUENCES, which > + fetches the current sequence state from the publisher and advances the > + corresponding subscriber sequences. > > > I wonder if the last sentence is overly descriptive. Isn't it enough > to just say: > To synchronize sequence values, run linkend="sql-altersubscription-params-refresh-sequences">ALTER > SUBSCRIPTION ... REFRESH SEQUENCES. Modified > ~~~ > > 3. > > Enable the subscription for each specified database on the target server. > The subscription starts applying transactions from the replication start > - point. > + point. The subscription is configured to include sequences. > > > This implies there was some special subscription "configuration" for > getting sequences, but it just gets sequences because sequences were > published. Maybe you don't need to say anything here. Or, maybe reword > to just say "The subscription will include sequences". I have removed it from here and clarified this in step-3. The attached v3 version patch has the changes for the same. [1] - https://www.postgresql.org/message-id/CALDaNm1xY_Js5-jppiBzGq2HMqzCHk%2BLLpupfWp_cFcG%3DvJXmg%40mail.gmail.com Regards, Vignesh --0000000000002130140655111021 Content-Type: application/octet-stream; name="v3-0001-Include-sequences-in-publications-created-by-pg_c.patch" Content-Disposition: attachment; filename="v3-0001-Include-sequences-in-publications-created-by-pg_c.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mqtbzsoj0 RnJvbSA3ZjkzOTY2NzA1N2UzZDYyZWU5OGUwODQ4MDQ5MzQ2NTY5MWI1MWUxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBWaWduZXNoIEMgPHZpZ25lc2gyMUBnbWFpbC5jb20+CkRhdGU6 IEZyaSwgMTkgSnVuIDIwMjYgMTk6MTQ6MjcgKzA1MzAKU3ViamVjdDogW1BBVENIIHYzXSBJbmNs dWRlIHNlcXVlbmNlcyBpbiBwdWJsaWNhdGlvbnMgY3JlYXRlZCBieQogcGdfY3JlYXRlc3Vic2Ny aWJlcgoKcGdfY3JlYXRlc3Vic2NyaWJlciBjcmVhdGVzIGEgcHVibGljYXRpb24gb24gdGhlIHB1 Ymxpc2hlciB0byBlc3RhYmxpc2gKbG9naWNhbCByZXBsaWNhdGlvbiBiZXR3ZWVuIHRoZSBvcmln aW5hbCBwcmltYXJ5IGFuZCB0aGUgY29udmVydGVkCnN1YnNjcmliZXIuIEN1cnJlbnRseSwgdGhl IHB1YmxpY2F0aW9uIGlzIGNyZWF0ZWQgd2l0aCBGT1IgQUxMIFRBQkxFUywKd2hpY2ggZW5zdXJl cyB0aGF0IHRhYmxlIGRhdGEgY2hhbmdlcyBhcmUgcmVwbGljYXRlZCBkdXJpbmcgdGhlIHVwZ3Jh ZGUKcHJvY2Vzcy4KCkhvd2V2ZXIsIHNlcXVlbmNlIHN0YXRlIGlzIG5vdCByZXBsaWNhdGVkIGFz IHBhcnQgb2YgdGhpcyB3b3JrZmxvdy4KClJlY2VudCBhZGRpdGlvbnMgdG8gbG9naWNhbCByZXBs aWNhdGlvbiBpbnRyb2R1Y2VkIHN1cHBvcnQgZm9yIHB1Ymxpc2hpbmcKYWxsIHNlcXVlbmNlcyBh bmQgc3luY2hyb25pemluZyBzZXF1ZW5jZSBzdGF0ZSB0aHJvdWdoIHN1YnNjcmlwdGlvbgpyZWZy ZXNoLiBCeSBjcmVhdGluZyBwdWJsaWNhdGlvbnMgd2l0aCBGT1IgQUxMIFRBQkxFUywgQUxMIFNF UVVFTkNFUywKcGdfY3JlYXRlc3Vic2NyaWJlciBjYW4gdGFrZSBhZHZhbnRhZ2Ugb2YgdGhlc2Ug Y2FwYWJpbGl0aWVzIGFuZCBhbGxvdwpzZXF1ZW5jZSBzdGF0ZSB0byBiZSBzeW5jaHJvbml6ZWQg YmVmb3JlIHRoZSB1cGdyYWRlZCBub2RlIGlzIHByb21vdGVkLgoKVGhpcyBjaGFuZ2UgbW9kaWZp ZXMgcGdfY3JlYXRlc3Vic2NyaWJlciB0byBpbmNsdWRlIEFMTCBTRVFVRU5DRVMgaW4gdGhlCnB1 YmxpY2F0aW9uIGl0IGNyZWF0ZXMuIEFkbWluaXN0cmF0b3JzIGNhbiB0aGVuIHJ1biBBTFRFUiBT VUJTQ1JJUFRJT04KLi4uIFJFRlJFU0ggU0VRVUVOQ0VTIGFmdGVyIHRoZSB1cGdyYWRlIHRvIHN5 bmNocm9uaXplIHNlcXVlbmNlIHN0YXRlLAplbnN1cmluZyBhIG1vcmUgY29tcGxldGUgYW5kIHJl bGlhYmxlIHVwZ3JhZGUgd29ya2Zsb3cuCi0tLQogZG9jL3NyYy9zZ21sL3JlZi9wZ19jcmVhdGVz dWJzY3JpYmVyLnNnbWwgICAgIHwgNDMgKysrKysrKysrKysrKy0tLS0tLQogc3JjL2Jpbi9wZ19i YXNlYmFja3VwL3BnX2NyZWF0ZXN1YnNjcmliZXIuYyAgIHwgIDQgKy0KIC4uLi90LzA0MF9wZ19j cmVhdGVzdWJzY3JpYmVyLnBsICAgICAgICAgICAgICB8ICA4ICsrKysKIDMgZmlsZXMgY2hhbmdl ZCwgMzkgaW5zZXJ0aW9ucygrKSwgMTYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZG9jL3Ny Yy9zZ21sL3JlZi9wZ19jcmVhdGVzdWJzY3JpYmVyLnNnbWwgYi9kb2Mvc3JjL3NnbWwvcmVmL3Bn X2NyZWF0ZXN1YnNjcmliZXIuc2dtbAppbmRleCAzYjMwMzhkMTg5MS4uZWRkYWMyN2FmOWYgMTAw NjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9yZWYvcGdfY3JlYXRlc3Vic2NyaWJlci5zZ21sCisrKyBi L2RvYy9zcmMvc2dtbC9yZWYvcGdfY3JlYXRlc3Vic2NyaWJlci5zZ21sCkBAIC00OSwxMCArNDks MTIgQEAgUG9zdGdyZVNRTCBkb2N1bWVudGF0aW9uCiAgIDxwYXJhPgogICAgPGFwcGxpY2F0aW9u PnBnX2NyZWF0ZXN1YnNjcmliZXI8L2FwcGxpY2F0aW9uPiBjcmVhdGVzIGEgbmV3IGxvZ2ljYWwK ICAgIHJlcGxpY2EgZnJvbSBhIHBoeXNpY2FsIHN0YW5kYnkgc2VydmVyLiAgQWxsIHRhYmxlcyBp biB0aGUgc3BlY2lmaWVkCi0gICBkYXRhYmFzZSBhcmUgaW5jbHVkZWQgaW4gdGhlIDxsaW5rIGxp bmtlbmQ9ImxvZ2ljYWwtcmVwbGljYXRpb24iPmxvZ2ljYWwKLSAgIHJlcGxpY2F0aW9uPC9saW5r PiBzZXR1cC4gIEEgcGFpciBvZgotICAgcHVibGljYXRpb24gYW5kIHN1YnNjcmlwdGlvbiBvYmpl Y3RzIGFyZSBjcmVhdGVkIGZvciBlYWNoIGRhdGFiYXNlLiAgSXQKLSAgIG11c3QgYmUgcnVuIGF0 IHRoZSB0YXJnZXQgc2VydmVyLgorICAgZGF0YWJhc2UgYXJlIGluY2x1ZGVkIGluIHRoZQorICAg PGxpbmsgbGlua2VuZD0ibG9naWNhbC1yZXBsaWNhdGlvbiI+bG9naWNhbCByZXBsaWNhdGlvbjwv bGluaz4gc2V0dXAuIFRoZQorICAgcHVibGljYXRpb25zIGNyZWF0ZWQgYnkgPGFwcGxpY2F0aW9u PnBnX2NyZWF0ZXN1YnNjcmliZXI8L2FwcGxpY2F0aW9uPiBhbHNvCisgICBpbmNsdWRlIGFsbCBz ZXF1ZW5jZXMsIGFsbG93aW5nIHRoZWlyIHN0YXRlIHRvIGJlIHN5bmNocm9uaXplZCBhZnRlciB0 aGUKKyAgIHVwZ3JhZGUuIEEgcGFpciBvZiBwdWJsaWNhdGlvbiBhbmQgc3Vic2NyaXB0aW9uIG9i amVjdHMgYXJlIGNyZWF0ZWQgZm9yIGVhY2gKKyAgIGRhdGFiYXNlLiBJdCBtdXN0IGJlIHJ1biBh dCB0aGUgdGFyZ2V0IHNlcnZlci4KICAgPC9wYXJhPgogCiAgIDxwYXJhPgpAQCAtNjEsNyArNjMs OSBAQCBQb3N0Z3JlU1FMIGRvY3VtZW50YXRpb24KICAgIHJlcGxpY2F0aW9uIHNldHVwIGFuZCA8 YXBwbGljYXRpb24+cGdfY3JlYXRlc3Vic2NyaWJlcjwvYXBwbGljYXRpb24+IGlzIGhvdwogICAg dGhlIGRhdGEgc3luY2hyb25pemF0aW9uIGlzIGRvbmUuIDxhcHBsaWNhdGlvbj5wZ19jcmVhdGVz dWJzY3JpYmVyPC9hcHBsaWNhdGlvbj4KICAgIGRvZXMgbm90IGNvcHkgdGhlIGluaXRpYWwgdGFi bGUgZGF0YS4gSXQgZG9lcyBvbmx5IHRoZSBzeW5jaHJvbml6YXRpb24gcGhhc2UsCi0gICB3aGlj aCBlbnN1cmVzIGVhY2ggdGFibGUgaXMgYnJvdWdodCB1cCB0byBhIHN5bmNocm9uaXplZCBzdGF0 ZS4KKyAgIHdoaWNoIGVuc3VyZXMgZWFjaCB0YWJsZSBpcyBicm91Z2h0IHVwIHRvIGEgc3luY2hy b25pemVkIHN0YXRlLiBUaGUKKyAgIHN1YnNjcmlwdGlvbnMgYXJlIGNvbmZpZ3VyZWQgdG8gaW5j bHVkZSBzZXF1ZW5jZXMsIGJ1dCBzZXF1ZW5jZSB2YWx1ZXMgYXJlCisgICBub3Qgc3luY2hyb25p emVkIGF1dG9tYXRpY2FsbHkuCiAgIDwvcGFyYT4KIAogICA8cGFyYT4KQEAgLTc1LDcgKzc5LDEy IEBAIFBvc3RncmVTUUwgZG9jdW1lbnRhdGlvbgogICAgc3luY2hyb25pemF0aW9uLiAgRm9yIGRl dGFpbHMsIHNlZSB0aGUgPGNvbW1hbmQ+Q1JFQVRFIFNVQlNDUklQVElPTjwvY29tbWFuZD4KICAg IDxsaW5rIGxpbmtlbmQ9InNxbC1jcmVhdGVzdWJzY3JpcHRpb24tcGFyYW1zLXdpdGgtY29weS1k YXRhIj4KICAgIDxsaXRlcmFsPmNvcHlfZGF0YTwvbGl0ZXJhbD48L2xpbms+IG9wdGlvbi4KKyAg PC9wYXJhPgogCisgIDxwYXJhPgorICAgVG8gc3luY2hyb25pemUgc2VxdWVuY2UgdmFsdWVzLCBy dW4KKyAgIDxsaW5rIGxpbmtlbmQ9InNxbC1hbHRlcnN1YnNjcmlwdGlvbi1wYXJhbXMtcmVmcmVz aC1zZXF1ZW5jZXMiPgorICAgPGNvbW1hbmQ+QUxURVIgU1VCU0NSSVBUSU9OIC4uLiBSRUZSRVNI IFNFUVVFTkNFUzwvY29tbWFuZD48L2xpbms+LgogICA8L3BhcmE+CiAgPC9yZWZzZWN0MT4KIApA QCAtMjc1LDEwICsyODQsMTAgQEAgUG9zdGdyZVNRTCBkb2N1bWVudGF0aW9uCiAgICAgICAgIDxs aXN0aXRlbT4KICAgICAgICAgIDxwYXJhPgogICAgICAgICAgIDxsaXRlcmFsPnB1YmxpY2F0aW9u czwvbGl0ZXJhbD46Ci0gICAgICAgICAgVGhlIDxsaXRlcmFsPkZPUiBBTEwgVEFCTEVTPC9saXRl cmFsPiBwdWJsaWNhdGlvbnMgZXN0YWJsaXNoZWQgZm9yIHRoaXMKLSAgICAgICAgICBzdWJzY3Jp YmVyIGFyZSBhbHdheXMgZHJvcHBlZDsgc3BlY2lmeWluZyB0aGlzIG9iamVjdCB0eXBlIGNhdXNl cyBhbGwKLSAgICAgICAgICBvdGhlciBwdWJsaWNhdGlvbnMgcmVwbGljYXRlZCBmcm9tIHRoZSBz b3VyY2Ugc2VydmVyIHRvIGJlIGRyb3BwZWQgYXMKLSAgICAgICAgICB3ZWxsLgorICAgICAgICAg IFRoZSA8bGl0ZXJhbD5GT1IgQUxMIFRBQkxFUywgQUxMIFNFUVVFTkNFUzwvbGl0ZXJhbD4gcHVi bGljYXRpb25zCisgICAgICAgICAgZXN0YWJsaXNoZWQgZm9yIHRoaXMgc3Vic2NyaWJlciBhcmUg YWx3YXlzIGRyb3BwZWQ7IHNwZWNpZnlpbmcgdGhpcworICAgICAgICAgIG9iamVjdCB0eXBlIGNh dXNlcyBhbGwgb3RoZXIgcHVibGljYXRpb25zIHJlcGxpY2F0ZWQgZnJvbSB0aGUgc291cmNlCisg ICAgICAgICAgc2VydmVyIHRvIGJlIGRyb3BwZWQgYXMgd2VsbC4KICAgICAgICAgIDwvcGFyYT4K ICAgICAgICAgPC9saXN0aXRlbT4KICAgICAgICA8L2l0ZW1pemVkbGlzdD4KQEAgLTMyMyw3ICsz MzIsOCBAQCBQb3N0Z3JlU1FMIGRvY3VtZW50YXRpb24KICAgICAgICBJZiBhIHNwZWNpZmllZCBw dWJsaWNhdGlvbiBhbHJlYWR5IGV4aXN0cyBvbiB0aGUgcHVibGlzaGVyLCBpdCBpcyByZXVzZWQu CiAgICAgICAgSXQgaXMgdXNlZnVsIHRvIHBhcnRpYWxseSByZXBsaWNhdGUgdGhlIGRhdGFiYXNl IGlmIHRoZSBzcGVjaWZpZWQKICAgICAgICBwdWJsaWNhdGlvbiBpbmNsdWRlcyBhIGxpc3Qgb2Yg dGFibGVzLiBJZiB0aGUgcHVibGljYXRpb24gZG9lcyBub3QgZXhpc3QsCi0gICAgICAgaXQgaXMg YXV0b21hdGljYWxseSBjcmVhdGVkIHdpdGggPGxpdGVyYWw+Rk9SIEFMTCBUQUJMRVM8L2xpdGVy YWw+LiBVc2UKKyAgICAgICBpdCBpcyBhdXRvbWF0aWNhbGx5IGNyZWF0ZWQgd2l0aAorICAgICAg IDxsaXRlcmFsPkZPUiBBTEwgVEFCTEVTLCBBTEwgU0VRVUVOQ0VTPC9saXRlcmFsPi4gVXNlCiAg ICAgICAgPG9wdGlvbj4tLWRyeS1ydW48L29wdGlvbj4gb3B0aW9uIHRvIHByZXZpZXcgd2hpY2gg cHVibGljYXRpb25zIHdpbGwgYmUKICAgICAgICByZXVzZWQgYW5kIHdoaWNoIHdpbGwgYmUgY3Jl YXRlZC4KICAgICAgIDwvcGFyYT4KQEAgLTUzMiwxMCArNTQyLDE1IEBAIFBvc3RncmVTUUwgZG9j dW1lbnRhdGlvbgogICAgIDxzdGVwPgogICAgICA8cGFyYT4KICAgICAgIENyZWF0ZSBhIHB1Ymxp Y2F0aW9uIGFuZCByZXBsaWNhdGlvbiBzbG90IGZvciBlYWNoIHNwZWNpZmllZCBkYXRhYmFzZSBv bgotICAgICAgdGhlIHNvdXJjZSBzZXJ2ZXIuICBFYWNoIHB1YmxpY2F0aW9uIGlzIGNyZWF0ZWQg dXNpbmcgPGxpbmsKLSAgICAgIGxpbmtlbmQ9InNxbC1jcmVhdGVwdWJsaWNhdGlvbi1wYXJhbXMt Zm9yLWFsbC10YWJsZXMiPjxsaXRlcmFsPkZPUiBBTEwKLSAgICAgIFRBQkxFUzwvbGl0ZXJhbD48 L2xpbms+LiAgSWYgdGhlIDxvcHRpb24+LS1wdWJsaWNhdGlvbjwvb3B0aW9uPiBvcHRpb24KLSAg ICAgIGlzIG5vdCBzcGVjaWZpZWQsIHRoZSBwdWJsaWNhdGlvbiBoYXMgdGhlIGZvbGxvd2luZyBu YW1lIHBhdHRlcm46CisgICAgICB0aGUgc291cmNlIHNlcnZlci4gIElmIHRoZSAtLXB1YmxpY2F0 aW9uIG9wdGlvbiBpcyBub3Qgc3BlY2lmaWVkLAorICAgICAgPGFwcGxpY2F0aW9uPnBnX2NyZWF0 ZXN1YnNjcmliZXI8L2FwcGxpY2F0aW9uPiBjcmVhdGVzIGEgcHVibGljYXRpb24KKyAgICAgIHVz aW5nIDxsaW5rIGxpbmtlbmQ9InNxbC1jcmVhdGVwdWJsaWNhdGlvbi1wYXJhbXMtZm9yLWFsbC10 YWJsZXMiPgorICAgICAgPGxpdGVyYWw+Rk9SIEFMTCBUQUJMRVM8L2xpdGVyYWw+PC9saW5rPiBh bmQKKyAgICAgIDxsaW5rIGxpbmtlbmQ9InNxbC1jcmVhdGVwdWJsaWNhdGlvbi1wYXJhbXMtZm9y LWFsbC1zZXF1ZW5jZXMiPgorICAgICAgPGxpdGVyYWw+QUxMIFNFUVVFTkNFUzwvbGl0ZXJhbD48 L2xpbms+LiBPdGhlcndpc2UsIGl0IHVzZXMgdGhlCisgICAgICB1c2VyLXNwZWNpZmllZCBwdWJs aWNhdGlvbiwgd2hpY2ggaW5jbHVkZXMgdGhlIG9iamVjdHMgZGVmaW5lZCBieSB0aGF0CisgICAg ICBwdWJsaWNhdGlvbi4gIElmIHRoZSA8b3B0aW9uPi0tcHVibGljYXRpb248L29wdGlvbj4gb3B0 aW9uIGlzIG5vdAorICAgICAgc3BlY2lmaWVkLCB0aGUgcHVibGljYXRpb24gaGFzIHRoZSBmb2xs b3dpbmcgbmFtZSBwYXR0ZXJuOgogICAgICAgPHF1b3RlPjxsaXRlcmFsPnBnX2NyZWF0ZXN1YnNj cmliZXJfJXVfJXg8L2xpdGVyYWw+PC9xdW90ZT4gKHBhcmFtZXRlcjoKICAgICAgIGRhdGFiYXNl IDxwYXJhbWV0ZXI+b2lkPC9wYXJhbWV0ZXI+LCByYW5kb20gPHBhcmFtZXRlcj5pbnQ8L3BhcmFt ZXRlcj4pLgogICAgICAgSWYgdGhlIDxvcHRpb24+LS1yZXBsaWNhdGlvbi1zbG90PC9vcHRpb24+ IG9wdGlvbiBpcyBub3Qgc3BlY2lmaWVkLCB0aGUKZGlmZiAtLWdpdCBhL3NyYy9iaW4vcGdfYmFz ZWJhY2t1cC9wZ19jcmVhdGVzdWJzY3JpYmVyLmMgYi9zcmMvYmluL3BnX2Jhc2ViYWNrdXAvcGdf Y3JlYXRlc3Vic2NyaWJlci5jCmluZGV4IDRkNzA1Nzc4NDU0Li5lYzE4ZmFmNTBlYiAxMDA2NDQK LS0tIGEvc3JjL2Jpbi9wZ19iYXNlYmFja3VwL3BnX2NyZWF0ZXN1YnNjcmliZXIuYworKysgYi9z cmMvYmluL3BnX2Jhc2ViYWNrdXAvcGdfY3JlYXRlc3Vic2NyaWJlci5jCkBAIC0xNzg4LDcgKzE3 ODgsNyBAQCB3YWl0X2Zvcl9lbmRfcmVjb3ZlcnkoY29uc3QgY2hhciAqY29ubmluZm8sIGNvbnN0 IHN0cnVjdCBDcmVhdGVTdWJzY3JpYmVyT3B0aW9ucwogfQogCiAvKgotICogQ3JlYXRlIGEgcHVi bGljYXRpb24gdGhhdCBpbmNsdWRlcyBhbGwgdGFibGVzIGluIHRoZSBkYXRhYmFzZS4KKyAqIENy ZWF0ZSBhIHB1YmxpY2F0aW9uIHRoYXQgaW5jbHVkZXMgYWxsIHRhYmxlcyBhbmQgc2VxdWVuY2Vz IGluIHRoZSBkYXRhYmFzZS4KICAqLwogc3RhdGljIHZvaWQKIGNyZWF0ZV9wdWJsaWNhdGlvbihQ R2Nvbm4gKmNvbm4sIHN0cnVjdCBMb2dpY2FsUmVwSW5mbyAqZGJpbmZvKQpAQCAtMTg0MCw3ICsx ODQwLDcgQEAgY3JlYXRlX3B1YmxpY2F0aW9uKFBHY29ubiAqY29ubiwgc3RydWN0IExvZ2ljYWxS ZXBJbmZvICpkYmluZm8pCiAJCXBnX2xvZ19pbmZvKCJjcmVhdGluZyBwdWJsaWNhdGlvbiBcIiVz XCIgaW4gZGF0YWJhc2UgXCIlc1wiIiwKIAkJCQkJZGJpbmZvLT5wdWJuYW1lLCBkYmluZm8tPmRi bmFtZSk7CiAKLQlhcHBlbmRQUUV4cEJ1ZmZlcihzdHIsICJDUkVBVEUgUFVCTElDQVRJT04gJXMg Rk9SIEFMTCBUQUJMRVMiLAorCWFwcGVuZFBRRXhwQnVmZmVyKHN0ciwgIkNSRUFURSBQVUJMSUNB VElPTiAlcyBGT1IgQUxMIFRBQkxFUywgQUxMIFNFUVVFTkNFUyIsCiAJCQkJCSAgaXB1Ym5hbWVf ZXNjKTsKIAogCXBnX2xvZ19kZWJ1ZygiY29tbWFuZCBpczogJXMiLCBzdHItPmRhdGEpOwpkaWZm IC0tZ2l0IGEvc3JjL2Jpbi9wZ19iYXNlYmFja3VwL3QvMDQwX3BnX2NyZWF0ZXN1YnNjcmliZXIu cGwgYi9zcmMvYmluL3BnX2Jhc2ViYWNrdXAvdC8wNDBfcGdfY3JlYXRlc3Vic2NyaWJlci5wbApp bmRleCA5MjUyZDFjM2M1Yy4uMDQ0ZjIwMmNiMzUgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4vcGdfYmFz ZWJhY2t1cC90LzA0MF9wZ19jcmVhdGVzdWJzY3JpYmVyLnBsCisrKyBiL3NyYy9iaW4vcGdfYmFz ZWJhY2t1cC90LzA0MF9wZ19jcmVhdGVzdWJzY3JpYmVyLnBsCkBAIC01MDMsNiArNTAzLDE0IEBA IGlzKCRyZXN1bHQsIHFxKDApLAogCSd0aGUgcGh5c2ljYWwgcmVwbGljYXRpb24gc2xvdCB1c2Vk IGFzIHByaW1hcnlfc2xvdF9uYW1lIGhhcyBiZWVuIHJlbW92ZWQnCiApOwogCisjIFZlcmlmeSB0 aGF0IHRoZSBwdWJsaWNhdGlvbiBpcyBjb25maWd1cmVkIHRvIHB1Ymxpc2ggYWxsIHRhYmxlcyBh bmQKKyMgYWxsIHNlcXVlbmNlcy4KKyRyZXN1bHQgPSAkbm9kZV9wLT5zYWZlX3BzcWwoJGRiMiwK KwkiU0VMRUNUIHB1YmFsbHRhYmxlcywgcHViYWxsc2VxdWVuY2VzIEZST00gcGdfcHVibGljYXRp b24iKTsKK2lzKCAkcmVzdWx0LCBxcSh0fHQpLAorCSJwdWJsaWNhdGlvbiBpcyBjcmVhdGVkIHdp dGggYm90aCBhbGwtdGFibGVzIGFuZCBhbGwtc2VxdWVuY2VzIGVuYWJsZWQiCispOworCiAjIElu c2VydCByb3dzIG9uIFAKICRub2RlX3AtPnNhZmVfcHNxbCgkZGIxLCAiSU5TRVJUIElOVE8gdGJs MSBWQUxVRVMoJ3RoaXJkIHJvdycpIik7CiAkbm9kZV9wLT5zYWZlX3BzcWwoJGRiMiwgIklOU0VS VCBJTlRPIHRibDIgVkFMVUVTKCdyb3cgMScpIik7Ci0tIAoyLjUzLjAKCg== --0000000000002130140655111021--