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 1ugyh8-009F2c-Cj for pgsql-hackers@arkaria.postgresql.org; Wed, 30 Jul 2025 04:45:39 +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 1ugyh7-006h6R-18 for pgsql-hackers@arkaria.postgresql.org; Wed, 30 Jul 2025 04:45:37 +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 1ugyh6-006h6J-LB for pgsql-hackers@lists.postgresql.org; Wed, 30 Jul 2025 04:45:37 +0000 Received: from mail-vk1-xa2d.google.com ([2607:f8b0:4864:20::a2d]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1ugyh3-001bew-0z for pgsql-hackers@lists.postgresql.org; Wed, 30 Jul 2025 04:45:36 +0000 Received: by mail-vk1-xa2d.google.com with SMTP id 71dfb90a1353d-53906325d84so886467e0c.3 for ; Tue, 29 Jul 2025 21:45:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1753850732; x=1754455532; 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=k5sGB8LXjZu6omuaVPoHLMQ/+WYtP7oH3UzE5Wq5x6g=; b=Sr6PjxS+ybYx6YBdp9hi8/XVbGYoyhUSfzL3IPhmntnH13871yS+6qNWlnAJJYnkQ0 Hnpw+zJTKavJYmsJvebr2QWYqHgVKGzzJoJeW6Qg6ITJKp5EiOmgMEou7fNSnKguM8xY QGNYmP5fvGxfz3OJTRL8V5AdJNE5C5REyVf4wrVhmof0be0CQkurjCphdbB/UVO46VNq XNZpN5FRFzLOBEr6P2MvjjhIFGknu+50ilNTlkRdw61tk6n7TB2LF2mEDVhmEuJhfAr7 2o5NWP6eu5WAmmfdAe6vvVK/fDKmlOnBHCnYV+8WD/cnr75OHXcu0ZDHn6oqrbjUZqVG zBZw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753850732; x=1754455532; 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=k5sGB8LXjZu6omuaVPoHLMQ/+WYtP7oH3UzE5Wq5x6g=; b=j8VtZMszrpSIJ4WXh4Z/+LmBmDeR3CkqlwY8Nrp+iQ4Otr8ZXDeC8MGhRlKGznxz/c dHzPOfe4JQZcu5WdHzyO/tTbLUcifXI+YyPKQIYqVaAJIfPJbsCikfmaO1TAk7aS/Lhl oY6A3a8svpPu+WJEl3/nB7KqizqP3cikGs+3w+7z34fqCc7+Qh2VpWRgjoiWytoC5olF lxG8Vc2583ZFXh7mwOSZXAOMN8K4+nEVzDCV+515S4qUnV91idB1dWuWTL3/0AzhdrY4 mW56csn1r6bVsnPIDKucq1gRDQWhP2HMwoP3+9RckFQPeiU1LLkPS2NjDglq0lBv7tMk 6t6w== X-Forwarded-Encrypted: i=1; AJvYcCVqZS3Er0B7HXunmLR8iW0Tm8MxirQUHQBtE2asgarNIqFEm0Zh2D3wOs4ooNt2km0g/CkLl28rfg0qIyB+@lists.postgresql.org X-Gm-Message-State: AOJu0YzEXvIOhH0L2efkeiWgZQYRFXqtdsw58wH7knUfH9YO7C2on8Vw GfWQaWSH8Hq5+TAWFPImYLGILLaH5Z3ElPJYsx8FDYTGsdxMKAjd39F7yHa2isKcr4nzpGdA+k1 70n99MsmWYTFlnZ3eFs+yvDpQd8Vksso= X-Gm-Gg: ASbGncui8u4EqpeRu11rkGcld82bZxx2YRtU0SF0RulUX+RpNqM55zHhlBcFeUUlDNb iusPxnt3pQhL/EZzfJuZ/6AFi3rpArivTpCtiWdmnmD4fvGoac0Hq94ydH5FAfwtWN0BCETWyX7 I0/gZPH5WuZY9FXhffcwYD+9rr2B3mqiV4XoGRMg8QGyBT7RtUmUWGOnye2Cci2tRoSIKAbXuH2 OO+vsT8dzxi6oSmv8YH/H1SvKiRD8FBswRG/RU= X-Google-Smtp-Source: AGHT+IF9gJPyLf8ZImKkbjO/VtIOUQk/orO9+ZRallRJinTujNmt4/HGdmBdD0whYgQS9UHdMuyyrB7lnqldcjPlO5s= X-Received: by 2002:a05:6102:3e0d:b0:4e9:a01a:ed57 with SMTP id ada2fe7eead31-4fbe87bc145mr1384333137.20.1753850731966; Tue, 29 Jul 2025 21:45:31 -0700 (PDT) MIME-Version: 1.0 References: <90dc6e9d-9348-485a-b27c-7b1637f06c2e@uni-muenster.de> In-Reply-To: From: jian he Date: Wed, 30 Jul 2025 12:44:54 +0800 X-Gm-Features: Ac12FXx-ItWwe7AKyPOgwXQ5lCQiNEL2R91e2aqDeQ1D5M-o8GI-fQhxItB5hjI Message-ID: Subject: Re: Change COPY ... ON_ERROR ignore to ON_ERROR ignore_row To: torikoshia Cc: Masahiko Sawada , vignesh C , Jim Jones , Kirill Reshke , Fujii Masao , "David G. Johnston" , Yugo NAGATA , PostgreSQL Hackers Content-Type: multipart/mixed; boundary="000000000000de598a063b1e3199" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000de598a063b1e3199 Content-Type: text/plain; charset="UTF-8" hi. rebase. --000000000000de598a063b1e3199 Content-Type: text/x-patch; charset="US-ASCII"; name="v19-0001-COPY-on_error-set_null.patch" Content-Disposition: attachment; filename="v19-0001-COPY-on_error-set_null.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mdphdhu00 RnJvbSBiM2IyZDc5NGM4M2IzNmNmMTI5ZDkxN2Q1MjdlYmYyY2FjNDZjYTNiIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBqaWFuIGhlIDxqaWFuLnVuaXZlcnNhbGl0eUBnbWFpbC5jb20+ CkRhdGU6IFdlZCwgMzAgSnVsIDIwMjUgMTE6MDY6MTcgKzA4MDAKU3ViamVjdDogW1BBVENIIHYx OSAxLzFdIENPUFkgKG9uX2Vycm9yIHNldF9udWxsKQoKQ3VycmVudCBncmFtbWFyIG1ha2VzIHVz IHVuYWJsZSB0byB1c2UgIm9uX2Vycm9yIG51bGwiLiBpZiB3ZSBkaWQgaXQsIHRoZW4gaW4KYWxs IHRoZSBDT1BZIGNvbW1hbmQgb3B0aW9ucydzIHZhbHVlLCBudWxsIHdpbGwgYmVjb21lIHJlc2Vy dmVkIHRvIG5vbi1yZXNlcnZlZAp3b3Jkcy4gIHNvIHdlIGNob29zZSAib25fZXJyb3Igc2V0X251 bGwiLgoKV2hlbiBDT1BZIEZST00sIGlmIE9OX0VSUk9SIFNFVF9OVUxMIGlzIHNwZWNpZmllZCwg YW55IGRhdGEgdHlwZSBjb252ZXJzaW9uCmVycm9ycyB3aWxsIHJlc3VsdCBpbiB0aGUgYWZmZWN0 ZWQgY29sdW1uIGJlaW5nIHNldCB0byBOVUxMLiBIb3dldmVyLCBjb2x1bW4ncwpub3QtbnVsbCBj b25zdHJhaW50cyBhcmUgc3RpbGwgZW5mb3JjZWQsIGF0dGVtcHRpbmcgdG8gc2V0IGEgTlVMTCB2 YWx1ZSBpbiBzdWNoCmNvbHVtbnMgd2lsbCByYWlzZSBhIGNvbnN0cmFpbnQgdmlvbGF0aW9uIGVy cm9yLiAgVGhpcyBhcHBsaWVzIHRvIGNvbHVtbiBkYXRhCnR5cGUgaXMgYSBkb21haW4gd2l0aCBh IE5PVCBOVUxMIGNvbnN0cmFpbnQuCgpBdXRob3I6IEppYW4gSGUgPGppYW4udW5pdmVyc2FsaXR5 QGdtYWlsLmNvbT4KQXV0aG9yOiBLaXJpbGwgUmVzaGtlIDxyZXNoa2VraXJpbGxAZ21haWwuY29t PgoKUmV2aWV3ZWQtYnk6CkZ1amlpIE1hc2FvIDxtYXNhby5mdWppaUBvc3MubnR0ZGF0YS5jb20+ CkppbSBKb25lcyA8amltLmpvbmVzQHVuaS1tdWVuc3Rlci5kZT4KIkRhdmlkIEcuIEpvaG5zdG9u IiA8ZGF2aWQuZy5qb2huc3RvbkBnbWFpbC5jb20+Cll1Z28gTkFHQVRBIDxuYWdhdGFAc3Jhb3Nz LmNvLmpwPgp0b3Jpa29zaGlhIDx0b3Jpa29zaGlhQG9zcy5udHRkYXRhLmNvbT4KTWFzYWhpa28g U2F3YWRhIDxzYXdhZGEubXNoa0BnbWFpbC5jb20+CkF0c3VzaGkgVG9yaWtvc2hpIDx0b3Jpa29z aGlhQG9zcy5udHRkYXRhLmNvbT4KCmRpc2N1c3Npb246IGh0dHBzOi8vcG9zdGdyLmVzL20vQ0FL RlF1d2F3eTFlNllSNFM9ait5N3BYcWdfRHcxV0JWcmd2Zj1CUDNkMV9hU2ZlXytRQG1haWwuZ21h aWwuY29tCmNvbW1pdGZlc3QgZW50cnk6IGh0dHBzOi8vY29tbWl0ZmVzdC5wb3N0Z3Jlc3FsLm9y Zy9wYXRjaC80ODEwCi0tLQogZG9jL3NyYy9zZ21sL3JlZi9jb3B5LnNnbWwgICAgICAgICAgICAg ICB8IDM1ICsrKysrKystLS0KIHNyYy9iYWNrZW5kL2NvbW1hbmRzL2NvcHkuYyAgICAgICAgICAg ICAgfCAgNiArLQogc3JjL2JhY2tlbmQvY29tbWFuZHMvY29weWZyb20uYyAgICAgICAgICB8IDQy ICsrKysrKysrKy0tLQogc3JjL2JhY2tlbmQvY29tbWFuZHMvY29weWZyb21wYXJzZS5jICAgICB8 IDg0ICsrKysrKysrKysrKysrKysrKysrLS0tLQogc3JjL2Jpbi9wc3FsL3RhYi1jb21wbGV0ZS5p bi5jICAgICAgICAgICB8ICAyICstCiBzcmMvaW5jbHVkZS9jb21tYW5kcy9jb3B5LmggICAgICAg ICAgICAgIHwgIDEgKwogc3JjL2luY2x1ZGUvY29tbWFuZHMvY29weWZyb21faW50ZXJuYWwuaCB8 ICA3ICsrCiBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2NvcHkyLm91dCAgICAgIHwgNjAgKysr KysrKysrKysrKysrKysKIHNyYy90ZXN0L3JlZ3Jlc3Mvc3FsL2NvcHkyLnNxbCAgICAgICAgICAg fCA0NiArKysrKysrKysrKysrCiA5IGZpbGVzIGNoYW5nZWQsIDI0NyBpbnNlcnRpb25zKCspLCAz NiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvcmVmL2NvcHkuc2dtbCBi L2RvYy9zcmMvc2dtbC9yZWYvY29weS5zZ21sCmluZGV4IGMyZDFmYmMxZmJlLi5hMzZlMzNmMzIw ZiAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL3JlZi9jb3B5LnNnbWwKKysrIGIvZG9jL3NyYy9z Z21sL3JlZi9jb3B5LnNnbWwKQEAgLTQxMiwyMyArNDEyLDM3IEBAIENPUFkgeyA8cmVwbGFjZWFi bGUgY2xhc3M9InBhcmFtZXRlciI+dGFibGVfbmFtZTwvcmVwbGFjZWFibGU+IFsgKCA8cmVwbGFj ZWFibGUKICAgICAgIFNwZWNpZmllcyBob3cgdG8gYmVoYXZlIHdoZW4gZW5jb3VudGVyaW5nIGFu IGVycm9yIGNvbnZlcnRpbmcgYSBjb2x1bW4ncwogICAgICAgaW5wdXQgdmFsdWUgaW50byBpdHMg ZGF0YSB0eXBlLgogICAgICAgQW4gPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmVycm9y X2FjdGlvbjwvcmVwbGFjZWFibGU+IHZhbHVlIG9mCi0gICAgICA8bGl0ZXJhbD5zdG9wPC9saXRl cmFsPiBtZWFucyBmYWlsIHRoZSBjb21tYW5kLCB3aGlsZQotICAgICAgPGxpdGVyYWw+aWdub3Jl PC9saXRlcmFsPiBtZWFucyBkaXNjYXJkIHRoZSBpbnB1dCByb3cgYW5kIGNvbnRpbnVlIHdpdGgg dGhlIG5leHQgb25lLgorICAgICAgPGxpdGVyYWw+c3RvcDwvbGl0ZXJhbD4gbWVhbnMgZmFpbCB0 aGUgY29tbWFuZCwKKyAgICAgIDxsaXRlcmFsPmlnbm9yZTwvbGl0ZXJhbD4gbWVhbnMgZGlzY2Fy ZCB0aGUgaW5wdXQgcm93IGFuZCBjb250aW51ZSB3aXRoIHRoZSBuZXh0IG9uZSwKKyAgICAgIGFu ZCA8bGl0ZXJhbD5zZXRfbnVsbDwvbGl0ZXJhbD4gbWVhbnMgcmVwbGFjZSBjb2x1bW4gY29udGFp bmluZyBpbnZhbGlkCisgICAgICBpbnB1dCB2YWx1ZSB3aXRoIDxsaXRlcmFsPk5VTEw8L2xpdGVy YWw+IGFuZCBtb3ZlIHRvIHRoZSBuZXh0IGZpZWxkLgogICAgICAgVGhlIGRlZmF1bHQgaXMgPGxp dGVyYWw+c3RvcDwvbGl0ZXJhbD4uCiAgICAgIDwvcGFyYT4KICAgICAgPHBhcmE+Ci0gICAgICBU aGUgPGxpdGVyYWw+aWdub3JlPC9saXRlcmFsPiBvcHRpb24gaXMgYXBwbGljYWJsZSBvbmx5IGZv ciA8Y29tbWFuZD5DT1BZIEZST008L2NvbW1hbmQ+CisgICAgICBUaGUgPGxpdGVyYWw+aWdub3Jl PC9saXRlcmFsPiBhbmQgPGxpdGVyYWw+c2V0X251bGw8L2xpdGVyYWw+CisgICAgICBvcHRpb25z IGFyZSBhcHBsaWNhYmxlIG9ubHkgZm9yIDxjb21tYW5kPkNPUFkgRlJPTTwvY29tbWFuZD4KICAg ICAgIHdoZW4gdGhlIDxsaXRlcmFsPkZPUk1BVDwvbGl0ZXJhbD4gaXMgPGxpdGVyYWw+dGV4dDwv bGl0ZXJhbD4gb3IgPGxpdGVyYWw+Y3N2PC9saXRlcmFsPi4KICAgICAgPC9wYXJhPgorICAgIDxw YXJhPgorICAgICAgRm9yIDxsaXRlcmFsPmlnbm9yZTwvbGl0ZXJhbD4gb3B0aW9uLCBhIDxsaXRl cmFsPk5PVElDRTwvbGl0ZXJhbD4gbWVzc2FnZQorICAgICAgY29udGFpbmluZyB0aGUgaWdub3Jl ZCByb3cgY291bnQgaXMgZW1pdHRlZCBhdCB0aGUgZW5kIG9mIHRoZSA8Y29tbWFuZD5DT1BZCisg ICAgICBGUk9NPC9jb21tYW5kPiBpZiBhdCBsZWFzdCBvbmUgcm93IHdhcyBkaXNjYXJkZWQuCisg ICAgICBGb3IgPGxpdGVyYWw+c2V0X251bGw8L2xpdGVyYWw+IG9wdGlvbiwKKyAgICAgIGEgPGxp dGVyYWw+Tk9USUNFPC9saXRlcmFsPiBtZXNzYWdlIGluZGljYXRpbmcgdGhlIG51bWJlciBvZiBy b3dzCisgICAgICB3aGVyZSBpbnZhbGlkIGlucHV0IHZhbHVlcyB3ZXJlIHJlcGxhY2VkIHdpdGgg bnVsbCBpcyBlbWl0dGVkCisgICAgICBhdCB0aGUgZW5kIG9mIHRoZSA8Y29tbWFuZD5DT1BZIEZS T008L2NvbW1hbmQ+IGlmIGF0IGxlYXN0IG9uZSByb3cgd2FzIHJlcGxhY2VkLgorICAgICA8L3Bh cmE+CiAgICAgIDxwYXJhPgotICAgICAgQSA8bGl0ZXJhbD5OT1RJQ0U8L2xpdGVyYWw+IG1lc3Nh Z2UgY29udGFpbmluZyB0aGUgaWdub3JlZCByb3cgY291bnQgaXMKLSAgICAgIGVtaXR0ZWQgYXQg dGhlIGVuZCBvZiB0aGUgPGNvbW1hbmQ+Q09QWSBGUk9NPC9jb21tYW5kPiBpZiBhdCBsZWFzdCBv bmUKLSAgICAgIHJvdyB3YXMgZGlzY2FyZGVkLiBXaGVuIDxsaXRlcmFsPkxPR19WRVJCT1NJVFk8 L2xpdGVyYWw+IG9wdGlvbiBpcyBzZXQgdG8KLSAgICAgIDxsaXRlcmFsPnZlcmJvc2U8L2xpdGVy YWw+LCBhIDxsaXRlcmFsPk5PVElDRTwvbGl0ZXJhbD4gbWVzc2FnZQorICAgICAgV2hlbiA8bGl0 ZXJhbD5MT0dfVkVSQk9TSVRZPC9saXRlcmFsPiBvcHRpb24gaXMgc2V0IHRvIDxsaXRlcmFsPnZl cmJvc2U8L2xpdGVyYWw+LAorICAgICAgZm9yIDxsaXRlcmFsPmlnbm9yZTwvbGl0ZXJhbD4gb3B0 aW9uLCBhIDxsaXRlcmFsPk5PVElDRTwvbGl0ZXJhbD4gbWVzc2FnZQogICAgICAgY29udGFpbmlu ZyB0aGUgbGluZSBvZiB0aGUgaW5wdXQgZmlsZSBhbmQgdGhlIGNvbHVtbiBuYW1lIHdob3NlIGlu cHV0Ci0gICAgICBjb252ZXJzaW9uIGhhcyBmYWlsZWQgaXMgZW1pdHRlZCBmb3IgZWFjaCBkaXNj YXJkZWQgcm93LgorICAgICAgY29udmVyc2lvbiBoYXMgZmFpbGVkIGlzIGVtaXR0ZWQgZm9yIGVh Y2ggZGlzY2FyZGVkIHJvdzsKKyAgICAgIGZvciA8bGl0ZXJhbD5zZXRfbnVsbDwvbGl0ZXJhbD4g b3B0aW9uLCBhIDxsaXRlcmFsPk5PVElDRTwvbGl0ZXJhbD4KKyAgICAgIG1lc3NhZ2UgY29udGFp bmluZyB0aGUgbGluZSBvZiB0aGUgaW5wdXQgZmlsZSBhbmQgdGhlIGNvbHVtbiBuYW1lIHdoZXJl CisgICAgICB2YWx1ZSB3YXMgcmVwbGFjZWQgd2l0aCA8bGl0ZXJhbD5OVUxMPC9saXRlcmFsPiBm b3IgZWFjaCBpbnB1dCBjb252ZXJzaW9uCisgICAgICBmYWlsdXJlLgogICAgICAgV2hlbiBpdCBp cyBzZXQgdG8gPGxpdGVyYWw+c2lsZW50PC9saXRlcmFsPiwgbm8gbWVzc2FnZSBpcyBlbWl0dGVk Ci0gICAgICByZWdhcmRpbmcgaWdub3JlZCByb3dzLgorICAgICAgcmVnYXJkaW5nIGlucHV0IGNv bnZlcnNpb24gZmFpbGVkIHJvd3MuCiAgICAgIDwvcGFyYT4KICAgICA8L2xpc3RpdGVtPgogICAg PC92YXJsaXN0ZW50cnk+CkBAIC00NzYsNyArNDkwLDggQEAgQ09QWSB7IDxyZXBsYWNlYWJsZSBj bGFzcz0icGFyYW1ldGVyIj50YWJsZV9uYW1lPC9yZXBsYWNlYWJsZT4gWyAoIDxyZXBsYWNlYWJs ZQogICAgICA8L3BhcmE+CiAgICAgIDxwYXJhPgogICAgICAgVGhpcyBpcyBjdXJyZW50bHkgdXNl ZCBpbiA8Y29tbWFuZD5DT1BZIEZST008L2NvbW1hbmQ+IGNvbW1hbmQgd2hlbgotICAgICAgPGxp dGVyYWw+T05fRVJST1I8L2xpdGVyYWw+IG9wdGlvbiBpcyBzZXQgdG8gPGxpdGVyYWw+aWdub3Jl PC9saXRlcmFsPi4KKyAgICAgIDxsaXRlcmFsPk9OX0VSUk9SPC9saXRlcmFsPiBvcHRpb24gaXMg c2V0IHRvIDxsaXRlcmFsPmlnbm9yZTwvbGl0ZXJhbD4KKyAgICAgIG9yIDxsaXRlcmFsPnNldF9u dWxsPC9saXRlcmFsPi4KICAgICAgIDwvcGFyYT4KICAgICA8L2xpc3RpdGVtPgogICAgPC92YXJs aXN0ZW50cnk+CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jb21tYW5kcy9jb3B5LmMgYi9zcmMv YmFja2VuZC9jb21tYW5kcy9jb3B5LmMKaW5kZXggZmFlOWM0MWRiNjUuLjkyMTNiZmIxNjdmIDEw MDY0NAotLS0gYS9zcmMvYmFja2VuZC9jb21tYW5kcy9jb3B5LmMKKysrIGIvc3JjL2JhY2tlbmQv Y29tbWFuZHMvY29weS5jCkBAIC00MTMsMTIgKzQxMywxNCBAQCBkZWZHZXRDb3B5T25FcnJvckNo b2ljZShEZWZFbGVtICpkZWYsIFBhcnNlU3RhdGUgKnBzdGF0ZSwgYm9vbCBpc19mcm9tKQogCQkJ CSBwYXJzZXJfZXJycG9zaXRpb24ocHN0YXRlLCBkZWYtPmxvY2F0aW9uKSkpOwogCiAJLyoKLQkg KiBBbGxvdyAic3RvcCIsIG9yICJpZ25vcmUiIHZhbHVlcy4KKwkgKiBBbGxvdyAic3RvcCIsICJp Z25vcmUiLCAic2V0X251bGwiIHZhbHVlcy4KIAkgKi8KIAlpZiAocGdfc3RyY2FzZWNtcChzdmFs LCAic3RvcCIpID09IDApCiAJCXJldHVybiBDT1BZX09OX0VSUk9SX1NUT1A7CiAJaWYgKHBnX3N0 cmNhc2VjbXAoc3ZhbCwgImlnbm9yZSIpID09IDApCiAJCXJldHVybiBDT1BZX09OX0VSUk9SX0lH Tk9SRTsKKwlpZiAocGdfc3RyY2FzZWNtcChzdmFsLCAic2V0X251bGwiKSA9PSAwKQorCQlyZXR1 cm4gQ09QWV9PTl9FUlJPUl9TRVRfTlVMTDsKIAogCWVyZXBvcnQoRVJST1IsCiAJCQkoZXJyY29k ZShFUlJDT0RFX0lOVkFMSURfUEFSQU1FVEVSX1ZBTFVFKSwKQEAgLTkyOCw3ICs5MzAsNyBAQCBQ cm9jZXNzQ29weU9wdGlvbnMoUGFyc2VTdGF0ZSAqcHN0YXRlLAogCQkJCShlcnJjb2RlKEVSUkNP REVfU1lOVEFYX0VSUk9SKSwKIAkJCQkgZXJybXNnKCJvbmx5IE9OX0VSUk9SIFNUT1AgaXMgYWxs b3dlZCBpbiBCSU5BUlkgbW9kZSIpKSk7CiAKLQlpZiAob3B0c19vdXQtPnJlamVjdF9saW1pdCAm JiAhb3B0c19vdXQtPm9uX2Vycm9yKQorCWlmIChvcHRzX291dC0+cmVqZWN0X2xpbWl0ICYmIG9w dHNfb3V0LT5vbl9lcnJvciAhPSBDT1BZX09OX0VSUk9SX0lHTk9SRSkKIAkJZXJlcG9ydChFUlJP UiwKIAkJCQkoZXJyY29kZShFUlJDT0RFX0lOVkFMSURfUEFSQU1FVEVSX1ZBTFVFKSwKIAkJLyot IHRyYW5zbGF0b3I6IGZpcnN0IGFuZCBzZWNvbmQgJXMgYXJlIHRoZSBuYW1lcyBvZiBDT1BZIG9w dGlvbiwgZS5nLgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvY29weWZyb20uYyBi L3NyYy9iYWNrZW5kL2NvbW1hbmRzL2NvcHlmcm9tLmMKaW5kZXggZmJiYmMwOWE5N2IuLjc1MGQ1 OTdkNGQwIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jb21tYW5kcy9jb3B5ZnJvbS5jCisrKyBi L3NyYy9iYWNrZW5kL2NvbW1hbmRzL2NvcHlmcm9tLmMKQEAgLTE0NjcsMTQgKzE0NjcsMjIgQEAg Q29weUZyb20oQ29weUZyb21TdGF0ZSBjc3RhdGUpCiAJLyogRG9uZSwgY2xlYW4gdXAgKi8KIAll cnJvcl9jb250ZXh0X3N0YWNrID0gZXJyY2FsbGJhY2sucHJldmlvdXM7CiAKLQlpZiAoY3N0YXRl LT5vcHRzLm9uX2Vycm9yICE9IENPUFlfT05fRVJST1JfU1RPUCAmJgotCQljc3RhdGUtPm51bV9l cnJvcnMgPiAwICYmCisJaWYgKGNzdGF0ZS0+bnVtX2Vycm9ycyA+IDAgJiYKIAkJY3N0YXRlLT5v cHRzLmxvZ192ZXJib3NpdHkgPj0gQ09QWV9MT0dfVkVSQk9TSVRZX0RFRkFVTFQpCi0JCWVyZXBv cnQoTk9USUNFLAotCQkJCWVycm1zZ19wbHVyYWwoIiUiIFBSSXU2NCAiIHJvdyB3YXMgc2tpcHBl ZCBkdWUgdG8gZGF0YSB0eXBlIGluY29tcGF0aWJpbGl0eSIsCi0JCQkJCQkJICAiJSIgUFJJdTY0 ICIgcm93cyB3ZXJlIHNraXBwZWQgZHVlIHRvIGRhdGEgdHlwZSBpbmNvbXBhdGliaWxpdHkiLAot CQkJCQkJCSAgY3N0YXRlLT5udW1fZXJyb3JzLAotCQkJCQkJCSAgY3N0YXRlLT5udW1fZXJyb3Jz KSk7CisJeworCQlpZiAoY3N0YXRlLT5vcHRzLm9uX2Vycm9yID09IENPUFlfT05fRVJST1JfSUdO T1JFKQorCQkJZXJlcG9ydChOT1RJQ0UsCisJCQkJCWVycm1zZ19wbHVyYWwoIiUiIFBSSXU2NCAi IHJvdyB3YXMgc2tpcHBlZCBkdWUgdG8gZGF0YSB0eXBlIGluY29tcGF0aWJpbGl0eSIsCisJCQkJ CQkJCSAgIiUiIFBSSXU2NCAiIHJvd3Mgd2VyZSBza2lwcGVkIGR1ZSB0byBkYXRhIHR5cGUgaW5j b21wYXRpYmlsaXR5IiwKKwkJCQkJCQkJICBjc3RhdGUtPm51bV9lcnJvcnMsCisJCQkJCQkJCSAg Y3N0YXRlLT5udW1fZXJyb3JzKSk7CisJCWVsc2UgaWYgKGNzdGF0ZS0+b3B0cy5vbl9lcnJvciA9 PSBDT1BZX09OX0VSUk9SX1NFVF9OVUxMKQorCQkJZXJlcG9ydChOT1RJQ0UsCisJCQkJCWVycm1z Z19wbHVyYWwoImludmFsaWQgdmFsdWVzIGluICUiIFBSSXU2NCAiIHJvdyB3YXMgcmVwbGFjZWQg d2l0aCBudWxsIGR1ZSB0byBkYXRhIHR5cGUgaW5jb21wYXRpYmlsaXR5IiwKKwkJCQkJCQkJICAi aW52YWxpZCB2YWx1ZXMgaW4gJSIgUFJJdTY0ICIgcm93cyB3ZXJlIHJlcGxhY2VkIHdpdGggbnVs bCBkdWUgdG8gZGF0YSB0eXBlIGluY29tcGF0aWJpbGl0eSIsCisJCQkJCQkJCSAgY3N0YXRlLT5u dW1fZXJyb3JzLAorCQkJCQkJCQkgIGNzdGF0ZS0+bnVtX2Vycm9ycykpOworCX0KIAogCWlmIChi aXN0YXRlICE9IE5VTEwpCiAJCUZyZWVCdWxrSW5zZXJ0U3RhdGUoYmlzdGF0ZSk7CkBAIC0xNjE0 LDYgKzE2MjIsMTkgQEAgQmVnaW5Db3B5RnJvbShQYXJzZVN0YXRlICpwc3RhdGUsCiAJCX0KIAl9 CiAKKwlpZiAoY3N0YXRlLT5vcHRzLm9uX2Vycm9yID09IENPUFlfT05fRVJST1JfU0VUX05VTEwp CisJeworCQlpbnQJYXR0cl9jb3VudCA9IGxpc3RfbGVuZ3RoKGNzdGF0ZS0+YXR0bnVtbGlzdCk7 CisKKwkJY3N0YXRlLT5kb21haW5fd2l0aF9jb25zdHJhaW50ID0gKGJvb2wgKikgcGFsbG9jMChh dHRyX2NvdW50ICogc2l6ZW9mKGJvb2wpKTsKKwkJZm9yZWFjaF9pbnQoYXR0bm8sIGNzdGF0ZS0+ YXR0bnVtbGlzdCkKKwkJeworCQkJaW50CQkJaSA9IGZvcmVhY2hfY3VycmVudF9pbmRleChhdHRu byk7CisJCQlGb3JtX3BnX2F0dHJpYnV0ZSBhdHQgPSBUdXBsZURlc2NBdHRyKHR1cERlc2MsIGF0 dG5vIC0gMSk7CisJCQljc3RhdGUtPmRvbWFpbl93aXRoX2NvbnN0cmFpbnRbaV0gPSBEb21haW5I YXNDb25zdHJhaW50cyhhdHQtPmF0dHR5cGlkKTsKKwkJfQorCX0KKwogCS8qIFNldCB1cCBzb2Z0 IGVycm9yIGhhbmRsZXIgZm9yIE9OX0VSUk9SICovCiAJaWYgKGNzdGF0ZS0+b3B0cy5vbl9lcnJv ciAhPSBDT1BZX09OX0VSUk9SX1NUT1ApCiAJewpAQCAtMTYyMiwxMCArMTY0MywxMSBAQCBCZWdp bkNvcHlGcm9tKFBhcnNlU3RhdGUgKnBzdGF0ZSwKIAkJY3N0YXRlLT5lc2NvbnRleHQtPmVycm9y X29jY3VycmVkID0gZmFsc2U7CiAKIAkJLyoKLQkJICogQ3VycmVudGx5IHdlIG9ubHkgc3VwcG9y dCBDT1BZX09OX0VSUk9SX0lHTk9SRS4gV2UnbGwgYWRkIG90aGVyCi0JCSAqIG9wdGlvbnMgbGF0 ZXIKKwkJICogQ3VycmVudGx5IHdlIG9ubHkgc3VwcG9ydCBDT1BZX09OX0VSUk9SX0lHTk9SRSwg Q09QWV9PTl9FUlJPUl9TRVRfTlVMTC4KKwkJICogV2UnbGwgYWRkIG90aGVyIG9wdGlvbnMgbGF0 ZXIKIAkJICovCi0JCWlmIChjc3RhdGUtPm9wdHMub25fZXJyb3IgPT0gQ09QWV9PTl9FUlJPUl9J R05PUkUpCisJCWlmIChjc3RhdGUtPm9wdHMub25fZXJyb3IgPT0gQ09QWV9PTl9FUlJPUl9JR05P UkUgfHwKKwkJCWNzdGF0ZS0+b3B0cy5vbl9lcnJvciA9PSBDT1BZX09OX0VSUk9SX1NFVF9OVUxM KQogCQkJY3N0YXRlLT5lc2NvbnRleHQtPmRldGFpbHNfd2FudGVkID0gZmFsc2U7CiAJfQogCWVs c2UKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL2NvcHlmcm9tcGFyc2UuYyBiL3Ny Yy9iYWNrZW5kL2NvbW1hbmRzL2NvcHlmcm9tcGFyc2UuYwppbmRleCBiMWFlOTdiODMzZC4uZWU4 ODdhMzdhZmQgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL2NvcHlmcm9tcGFyc2Uu YworKysgYi9zcmMvYmFja2VuZC9jb21tYW5kcy9jb3B5ZnJvbXBhcnNlLmMKQEAgLTk1Niw2ICs5 NTYsNyBAQCBDb3B5RnJvbVRleHRMaWtlT25lUm93KENvcHlGcm9tU3RhdGUgY3N0YXRlLCBFeHBy Q29udGV4dCAqZWNvbnRleHQsCiAJaW50CQkJZmxkY3Q7CiAJaW50CQkJZmllbGRubzsKIAljaGFy CSAgICpzdHJpbmc7CisJYm9vbAkJY3VycmVudF9yb3dfZXJyb25lb3VzID0gZmFsc2U7CiAKIAl0 dXBEZXNjID0gUmVsYXRpb25HZXREZXNjcihjc3RhdGUtPnJlbCk7CiAJYXR0cl9jb3VudCA9IGxp c3RfbGVuZ3RoKGNzdGF0ZS0+YXR0bnVtbGlzdCk7CkBAIC0xMDMzLDcgKzEwMzQsOCBAQCBDb3B5 RnJvbVRleHRMaWtlT25lUm93KENvcHlGcm9tU3RhdGUgY3N0YXRlLCBFeHByQ29udGV4dCAqZWNv bnRleHQsCiAJCX0KIAogCQkvKgotCQkgKiBJZiBPTl9FUlJPUiBpcyBzcGVjaWZpZWQgd2l0aCBJ R05PUkUsIHNraXAgcm93cyB3aXRoIHNvZnQgZXJyb3JzCisJCSAqIElmIE9OX0VSUk9SIGlzIHNw ZWNpZmllZCB3aXRoIElHTk9SRSwgc2tpcCByb3dzIHdpdGggc29mdCBlcnJvcnMuCisJCSAqIElm IE9OX0VSUk9SIGlzIHNwZWNpZmllZCB3aXRoIFNFVF9OVUxMLCB0cnkgdG8gcmVwbGFjZSB3aXRo IG51bGwuCiAJCSAqLwogCQllbHNlIGlmICghSW5wdXRGdW5jdGlvbkNhbGxTYWZlKCZpbl9mdW5j dGlvbnNbbV0sCiAJCQkJCQkJCQkJc3RyaW5nLApAQCAtMTA0NCw3ICsxMDQ2LDUwIEBAIENvcHlG cm9tVGV4dExpa2VPbmVSb3coQ29weUZyb21TdGF0ZSBjc3RhdGUsIEV4cHJDb250ZXh0ICplY29u dGV4dCwKIAkJewogCQkJQXNzZXJ0KGNzdGF0ZS0+b3B0cy5vbl9lcnJvciAhPSBDT1BZX09OX0VS Uk9SX1NUT1ApOwogCi0JCQljc3RhdGUtPm51bV9lcnJvcnMrKzsKKwkJCWlmIChjc3RhdGUtPm9w dHMub25fZXJyb3IgPT0gQ09QWV9PTl9FUlJPUl9JR05PUkUpCisJCQkJY3N0YXRlLT5udW1fZXJy b3JzKys7CisJCQllbHNlIGlmIChjc3RhdGUtPm9wdHMub25fZXJyb3IgPT0gQ09QWV9PTl9FUlJP Ul9TRVRfTlVMTCkKKwkJCXsKKwkJCQljc3RhdGUtPmVzY29udGV4dC0+ZXJyb3Jfb2NjdXJyZWQg PSBmYWxzZTsKKwkJCQlBc3NlcnQoY3N0YXRlLT5kb21haW5fd2l0aF9jb25zdHJhaW50ICE9IE5V TEwpOworCisJCQkJLyoKKwkJCQkgKiBJZiB0aGUgY29sdW1uIHR5cGUgaXMgYSBkb21haW4gd2l0 aCBjb25zdHJhaW50cywgYW4KKwkJCQkgKiBhZGRpdGlvbmFsIElucHV0RnVuY3Rpb25DYWxsU2Fm ZSBtYXkgYmUgbmVlZGVkIHRvIHJhaXNlCisJCQkJICogZXJyb3JzIGZvciBkb21haW4gY29uc3Ry YWludCB2aW9sYXRpb25zLgorCQkJCSovCisJCQkJaWYgKCFjc3RhdGUtPmRvbWFpbl93aXRoX2Nv bnN0cmFpbnRbbV0gfHwKKwkJCQkJSW5wdXRGdW5jdGlvbkNhbGxTYWZlKCZpbl9mdW5jdGlvbnNb bV0sCisJCQkJCQkJCQkJICBOVUxMLAorCQkJCQkJCQkJCSAgdHlwaW9wYXJhbXNbbV0sCisJCQkJ CQkJCQkJICBhdHQtPmF0dHR5cG1vZCwKKwkJCQkJCQkJCQkgIChOb2RlICopIGNzdGF0ZS0+ZXNj b250ZXh0LAorCQkJCQkJCQkJCSAgJnZhbHVlc1ttXSkpCisJCQkJeworCQkJCQludWxsc1ttXSA9 IHRydWU7CisJCQkJCXZhbHVlc1ttXSA9IChEYXR1bSkgMDsKKwkJCQl9CisJCQkJZWxzZSBpZiAo c3RyaW5nID09IE5VTEwpCisJCQkJCWVyZXBvcnQoRVJST1IsCisJCQkJCQkJZXJyY29kZShFUlJD T0RFX05PVF9OVUxMX1ZJT0xBVElPTiksCisJCQkJCQkJZXJybXNnKCJkb21haW4gJXMgZG9lcyBu b3QgYWxsb3cgbnVsbCB2YWx1ZXMiLCBmb3JtYXRfdHlwZV9iZSh0eXBpb3BhcmFtc1ttXSkpLAor CQkJCQkJCWVycmRhdGF0eXBlKHR5cGlvcGFyYW1zW21dKSk7CisJCQkJZWxzZQorCQkJCQllcmVw b3J0KEVSUk9SLAorCQkJCQkJCWVycmNvZGUoRVJSQ09ERV9JTlZBTElEX1RFWFRfUkVQUkVTRU5U QVRJT04pLAorCQkJCQkJCWVycm1zZygiaW52YWxpZCBpbnB1dCB2YWx1ZSBmb3IgZG9tYWluICVz OiBcIiVzXCIiLAorCQkJCQkJCQkgICBmb3JtYXRfdHlwZV9iZSh0eXBpb3BhcmFtc1ttXSksIHN0 cmluZykpOworCisJCQkJLyoKKwkJCQkgKiBXZSBjb3VudCBvbmx5IHRoZSBudW1iZXIgb2Ygcm93 cyAobm90IGluZGl2aWR1YWwgZmllbGRzKQorCQkJCSAqIHdoZXJlIE9OX0VSUk9SIFNFVF9OVUxM IHdhcyBzdWNjZXNzZnVsbHkgYXBwbGllZC4KKwkJCQkqLworCQkJCWlmICghY3VycmVudF9yb3df ZXJyb25lb3VzKQorCQkJCXsKKwkJCQkJY3VycmVudF9yb3dfZXJyb25lb3VzID0gdHJ1ZTsKKwkJ CQkJY3N0YXRlLT5udW1fZXJyb3JzKys7CisJCQkJfQorCQkJfQogCiAJCQlpZiAoY3N0YXRlLT5v cHRzLmxvZ192ZXJib3NpdHkgPT0gQ09QWV9MT0dfVkVSQk9TSVRZX1ZFUkJPU0UpCiAJCQl7CkBA IC0xMDYxLDI0ICsxMTA2LDM3IEBAIENvcHlGcm9tVGV4dExpa2VPbmVSb3coQ29weUZyb21TdGF0 ZSBjc3RhdGUsIEV4cHJDb250ZXh0ICplY29udGV4dCwKIAkJCQkJY2hhcgkgICAqYXR0dmFsOwog CiAJCQkJCWF0dHZhbCA9IENvcHlMaW1pdFByaW50b3V0TGVuZ3RoKGNzdGF0ZS0+Y3VyX2F0dHZh bCk7Ci0JCQkJCWVyZXBvcnQoTk9USUNFLAotCQkJCQkJCWVycm1zZygic2tpcHBpbmcgcm93IGR1 ZSB0byBkYXRhIHR5cGUgaW5jb21wYXRpYmlsaXR5IGF0IGxpbmUgJSIgUFJJdTY0ICIgZm9yIGNv bHVtbiBcIiVzXCI6IFwiJXNcIiIsCi0JCQkJCQkJCSAgIGNzdGF0ZS0+Y3VyX2xpbmVubywKLQkJ CQkJCQkJICAgY3N0YXRlLT5jdXJfYXR0bmFtZSwKLQkJCQkJCQkJICAgYXR0dmFsKSk7CisKKwkJ CQkJaWYgKGNzdGF0ZS0+b3B0cy5vbl9lcnJvciA9PSBDT1BZX09OX0VSUk9SX0lHTk9SRSkKKwkJ CQkJCWVyZXBvcnQoTk9USUNFLAorCQkJCQkJCQllcnJtc2coInNraXBwaW5nIHJvdyBkdWUgdG8g ZGF0YSB0eXBlIGluY29tcGF0aWJpbGl0eSBhdCBsaW5lICUiIFBSSXU2NCAiIGZvciBjb2x1bW4g XCIlc1wiOiBcIiVzXCIiLAorCQkJCQkJCQkJICAgY3N0YXRlLT5jdXJfbGluZW5vLAorCQkJCQkJ CQkJICAgY3N0YXRlLT5jdXJfYXR0bmFtZSwKKwkJCQkJCQkJCSAgIGF0dHZhbCkpOworCQkJCQll bHNlIGlmIChjc3RhdGUtPm9wdHMub25fZXJyb3IgPT0gQ09QWV9PTl9FUlJPUl9TRVRfTlVMTCkK KwkJCQkJCWVyZXBvcnQoTk9USUNFLAorCQkJCQkJCQllcnJtc2coInNldHRpbmcgdG8gbnVsbCBk dWUgdG8gZGF0YSB0eXBlIGluY29tcGF0aWJpbGl0eSBhdCBsaW5lICUiIFBSSXU2NCAiIGZvciBj b2x1bW4gXCIlc1wiOiBcIiVzXCIiLAorCQkJCQkJCQkJICAgY3N0YXRlLT5jdXJfbGluZW5vLAor CQkJCQkJCQkJICAgY3N0YXRlLT5jdXJfYXR0bmFtZSwKKwkJCQkJCQkJCSAgIGF0dHZhbCkpOwog CQkJCQlwZnJlZShhdHR2YWwpOwogCQkJCX0KIAkJCQllbHNlCi0JCQkJCWVyZXBvcnQoTk9USUNF LAotCQkJCQkJCWVycm1zZygic2tpcHBpbmcgcm93IGR1ZSB0byBkYXRhIHR5cGUgaW5jb21wYXRp YmlsaXR5IGF0IGxpbmUgJSIgUFJJdTY0ICIgZm9yIGNvbHVtbiBcIiVzXCI6IG51bGwgaW5wdXQi LAotCQkJCQkJCQkgICBjc3RhdGUtPmN1cl9saW5lbm8sCi0JCQkJCQkJCSAgIGNzdGF0ZS0+Y3Vy X2F0dG5hbWUpKTsKLQorCQkJCXsKKwkJCQkJaWYgKGNzdGF0ZS0+b3B0cy5vbl9lcnJvciA9PSBD T1BZX09OX0VSUk9SX0lHTk9SRSkKKwkJCQkJCWVyZXBvcnQoTk9USUNFLAorCQkJCQkJCQllcnJt c2coInNraXBwaW5nIHJvdyBkdWUgdG8gZGF0YSB0eXBlIGluY29tcGF0aWJpbGl0eSBhdCBsaW5l ICUiIFBSSXU2NCAiIGZvciBjb2x1bW4gXCIlc1wiOiBudWxsIGlucHV0IiwKKwkJCQkJCQkJCSAg IGNzdGF0ZS0+Y3VyX2xpbmVubywKKwkJCQkJCQkJCSAgIGNzdGF0ZS0+Y3VyX2F0dG5hbWUpKTsK KwkJCQl9CiAJCQkJLyogcmVzZXQgcmVsbmFtZV9vbmx5ICovCiAJCQkJY3N0YXRlLT5yZWxuYW1l X29ubHkgPSBmYWxzZTsKIAkJCX0KIAotCQkJcmV0dXJuIHRydWU7CisJCQlpZiAoY3N0YXRlLT5v cHRzLm9uX2Vycm9yID09IENPUFlfT05fRVJST1JfSUdOT1JFKQorCQkJCXJldHVybiB0cnVlOwor CQkJZWxzZSBpZiAoY3N0YXRlLT5vcHRzLm9uX2Vycm9yID09IENPUFlfT05fRVJST1JfU0VUX05V TEwpCisJCQkJY29udGludWU7CiAJCX0KIAogCQljc3RhdGUtPmN1cl9hdHRuYW1lID0gTlVMTDsK ZGlmZiAtLWdpdCBhL3NyYy9iaW4vcHNxbC90YWItY29tcGxldGUuaW4uYyBiL3NyYy9iaW4vcHNx bC90YWItY29tcGxldGUuaW4uYwppbmRleCBkYmM1ODZjNWJjMy4uYzg4NTkzZTQxNTggMTAwNjQ0 Ci0tLSBhL3NyYy9iaW4vcHNxbC90YWItY29tcGxldGUuaW4uYworKysgYi9zcmMvYmluL3BzcWwv dGFiLWNvbXBsZXRlLmluLmMKQEAgLTMzNDMsNyArMzM0Myw3IEBAIG1hdGNoX3ByZXZpb3VzX3dv cmRzKGludCBwYXR0ZXJuX2lkLAogCiAJLyogQ29tcGxldGUgQ09QWSA8c3RoPiBGUk9NIGZpbGVu YW1lIFdJVEggKE9OX0VSUk9SICovCiAJZWxzZSBpZiAoTWF0Y2hlcygiQ09QWXxcXGNvcHkiLCBN YXRjaEFueSwgIkZST00iLCBNYXRjaEFueSwgIldJVEgiLCAiKCIsICJPTl9FUlJPUiIpKQotCQlD T01QTEVURV9XSVRIKCJzdG9wIiwgImlnbm9yZSIpOworCQlDT01QTEVURV9XSVRIKCJzdG9wIiwg Imlnbm9yZSIsICJzZXRfbnVsbCIpOwogCiAJLyogQ29tcGxldGUgQ09QWSA8c3RoPiBGUk9NIGZp bGVuYW1lIFdJVEggKExPR19WRVJCT1NJVFkgKi8KIAllbHNlIGlmIChNYXRjaGVzKCJDT1BZfFxc Y29weSIsIE1hdGNoQW55LCAiRlJPTSIsIE1hdGNoQW55LCAiV0lUSCIsICIoIiwgIkxPR19WRVJC T1NJVFkiKSkKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2NvbW1hbmRzL2NvcHkuaCBiL3NyYy9p bmNsdWRlL2NvbW1hbmRzL2NvcHkuaAppbmRleCA1NDExNzZlMTk4MC4uZGEzNjIyMDI4ZTcgMTAw NjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2NvbW1hbmRzL2NvcHkuaAorKysgYi9zcmMvaW5jbHVkZS9j b21tYW5kcy9jb3B5LmgKQEAgLTM1LDYgKzM1LDcgQEAgdHlwZWRlZiBlbnVtIENvcHlPbkVycm9y Q2hvaWNlCiB7CiAJQ09QWV9PTl9FUlJPUl9TVE9QID0gMCwJCS8qIGltbWVkaWF0ZWx5IHRocm93 IGVycm9ycywgZGVmYXVsdCAqLwogCUNPUFlfT05fRVJST1JfSUdOT1JFLAkJLyogaWdub3JlIGVy cm9ycyAqLworCUNPUFlfT05fRVJST1JfU0VUX05VTEwsCQkvKiBzZXQgZXJyb3IgZmllbGQgdG8g bnVsbCAqLwogfSBDb3B5T25FcnJvckNob2ljZTsKIAogLyoKZGlmZiAtLWdpdCBhL3NyYy9pbmNs dWRlL2NvbW1hbmRzL2NvcHlmcm9tX2ludGVybmFsLmggYi9zcmMvaW5jbHVkZS9jb21tYW5kcy9j b3B5ZnJvbV9pbnRlcm5hbC5oCmluZGV4IGM4YjIyYWYyMmQ4Li5jODJiZmFiNDYzNiAxMDA2NDQK LS0tIGEvc3JjL2luY2x1ZGUvY29tbWFuZHMvY29weWZyb21faW50ZXJuYWwuaAorKysgYi9zcmMv aW5jbHVkZS9jb21tYW5kcy9jb3B5ZnJvbV9pbnRlcm5hbC5oCkBAIC0xMDgsNiArMTA4LDEzIEBA IHR5cGVkZWYgc3RydWN0IENvcHlGcm9tU3RhdGVEYXRhCiAJCQkJCQkJCSAqIGF0dCAqLwogCWJv b2wJICAgKmRlZmF1bHRzOwkJLyogaWYgREVGQVVMVCBtYXJrZXIgd2FzIGZvdW5kIGZvcgogCQkJ CQkJCQkgKiBjb3JyZXNwb25kaW5nIGF0dCAqLworCS8qCisJICogU2V0IHRvIHRydWUgaWYgdGhl IGNvcnJlc3BvbmRpbmcgYXR0cmlidXRlJ3MgZGF0YSB0eXBlIGlzIGEgZG9tYWluIHdpdGgKKwkg KiBjb25zdHJhaW50cy4gIFRoaXMgZmllbGQgaXMgdXN1YWxseSBOVUxMLCBleGNlcHQgd2hlbiBP Tl9FUlJPUiBpcyBzZXQgdG8KKwkgKiBTRVRfTlVMTC4KKwkqLworCWJvb2wJICAgKmRvbWFpbl93 aXRoX2NvbnN0cmFpbnQ7CisKIAlib29sCQl2b2xhdGlsZV9kZWZleHByczsJLyogaXMgYW55IG9m IGRlZmV4cHJzIHZvbGF0aWxlPyAqLwogCUxpc3QJICAgKnJhbmdlX3RhYmxlOwkvKiBzaW5nbGUg ZWxlbWVudCBsaXN0IG9mIFJhbmdlVGJsRW50cnkgKi8KIAlMaXN0CSAgICpydGVwZXJtaW5mb3M7 CS8qIHNpbmdsZSBlbGVtZW50IGxpc3Qgb2YgUlRFUGVybWlzc2lvbkluZm8gKi8KZGlmZiAtLWdp dCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvY29weTIub3V0IGIvc3JjL3Rlc3QvcmVncmVz cy9leHBlY3RlZC9jb3B5Mi5vdXQKaW5kZXggY2FhM2M0NGYwZDAuLjkxOWEyMjk2YzI3IDEwMDY0 NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2NvcHkyLm91dAorKysgYi9zcmMvdGVz dC9yZWdyZXNzL2V4cGVjdGVkL2NvcHkyLm91dApAQCAtODEsNiArODEsMTAgQEAgQ09QWSB4IGZy b20gc3RkaW4gKG9uX2Vycm9yIGlnbm9yZSwgb25fZXJyb3IgaWdub3JlKTsKIEVSUk9SOiAgY29u ZmxpY3Rpbmcgb3IgcmVkdW5kYW50IG9wdGlvbnMKIExJTkUgMTogQ09QWSB4IGZyb20gc3RkaW4g KG9uX2Vycm9yIGlnbm9yZSwgb25fZXJyb3IgaWdub3JlKTsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXgorQ09QWSB4IGZyb20gc3RkaW4gKG9uX2Vycm9yIHNl dF9udWxsLCBvbl9lcnJvciBpZ25vcmUpOworRVJST1I6ICBjb25mbGljdGluZyBvciByZWR1bmRh bnQgb3B0aW9ucworTElORSAxOiBDT1BZIHggZnJvbSBzdGRpbiAob25fZXJyb3Igc2V0X251bGws IG9uX2Vycm9yIGlnbm9yZSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXgogQ09QWSB4IGZyb20gc3RkaW4gKGxvZ192ZXJib3NpdHkgZGVmYXVsdCwgbG9n X3ZlcmJvc2l0eSB2ZXJib3NlKTsKIEVSUk9SOiAgY29uZmxpY3Rpbmcgb3IgcmVkdW5kYW50IG9w dGlvbnMKIExJTkUgMTogQ09QWSB4IGZyb20gc3RkaW4gKGxvZ192ZXJib3NpdHkgZGVmYXVsdCwg bG9nX3ZlcmJvc2l0eSB2ZXJiLi4uCkBAIC05Miw2ICs5NiwxMCBAQCBDT1BZIHggZnJvbSBzdGRp biAoZm9ybWF0IEJJTkFSWSwgbnVsbCAneCcpOwogRVJST1I6ICBjYW5ub3Qgc3BlY2lmeSBOVUxM IGluIEJJTkFSWSBtb2RlCiBDT1BZIHggZnJvbSBzdGRpbiAoZm9ybWF0IEJJTkFSWSwgb25fZXJy b3IgaWdub3JlKTsKIEVSUk9SOiAgb25seSBPTl9FUlJPUiBTVE9QIGlzIGFsbG93ZWQgaW4gQklO QVJZIG1vZGUKK0NPUFkgeCBmcm9tIHN0ZGluIChmb3JtYXQgQklOQVJZLCBvbl9lcnJvciBzZXRf bnVsbCk7CitFUlJPUjogIG9ubHkgT05fRVJST1IgU1RPUCBpcyBhbGxvd2VkIGluIEJJTkFSWSBt b2RlCitDT1BZIHggZnJvbSBzdGRpbiAob25fZXJyb3Igc2V0X251bGwsIHJlamVjdF9saW1pdCAy KTsKK0VSUk9SOiAgQ09QWSBSRUpFQ1RfTElNSVQgcmVxdWlyZXMgT05fRVJST1IgdG8gYmUgc2V0 IHRvIElHTk9SRQogQ09QWSB4IGZyb20gc3RkaW4gKG9uX2Vycm9yIHVuc3VwcG9ydGVkKTsKIEVS Uk9SOiAgQ09QWSBPTl9FUlJPUiAidW5zdXBwb3J0ZWQiIG5vdCByZWNvZ25pemVkCiBMSU5FIDE6 IENPUFkgeCBmcm9tIHN0ZGluIChvbl9lcnJvciB1bnN1cHBvcnRlZCk7CkBAIC0xMjQsNiArMTMy LDEwIEBAIENPUFkgeCB0byBzdGRvdXQgKGZvcm1hdCBCSU5BUlksIG9uX2Vycm9yIHVuc3VwcG9y dGVkKTsKIEVSUk9SOiAgQ09QWSBPTl9FUlJPUiBjYW5ub3QgYmUgdXNlZCB3aXRoIENPUFkgVE8K IExJTkUgMTogQ09QWSB4IHRvIHN0ZG91dCAoZm9ybWF0IEJJTkFSWSwgb25fZXJyb3IgdW5zdXBw b3J0ZWQpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCitDT1BZ IHggdG8gc3Rkb3V0IChvbl9lcnJvciBzZXRfbnVsbCk7CitFUlJPUjogIENPUFkgT05fRVJST1Ig Y2Fubm90IGJlIHVzZWQgd2l0aCBDT1BZIFRPCitMSU5FIDE6IENPUFkgeCB0byBzdGRvdXQgKG9u X2Vycm9yIHNldF9udWxsKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgXgogQ09QWSB4IGZy b20gc3RkaW4gKGxvZ192ZXJib3NpdHkgdW5zdXBwb3J0ZWQpOwogRVJST1I6ICBDT1BZIExPR19W RVJCT1NJVFkgInVuc3VwcG9ydGVkIiBub3QgcmVjb2duaXplZAogTElORSAxOiBDT1BZIHggZnJv bSBzdGRpbiAobG9nX3ZlcmJvc2l0eSB1bnN1cHBvcnRlZCk7CkBAIC03NzUsNiArNzg3LDUxIEBA IENPTlRFWFQ6ICBDT1BZIGNoZWNrX2lnbl9lcnIKIE5PVElDRTogIHNraXBwaW5nIHJvdyBkdWUg dG8gZGF0YSB0eXBlIGluY29tcGF0aWJpbGl0eSBhdCBsaW5lIDggZm9yIGNvbHVtbiAiayI6ICJh IgogQ09OVEVYVDogIENPUFkgY2hlY2tfaWduX2VycgogTk9USUNFOiAgNiByb3dzIHdlcmUgc2tp cHBlZCBkdWUgdG8gZGF0YSB0eXBlIGluY29tcGF0aWJpbGl0eQorQ1JFQVRFIERPTUFJTiBkX2lu dF9ub3RfbnVsbCBBUyBJTlQgTk9UIE5VTEwgQ0hFQ0sodmFsdWUgPiAwKTsKK0NSRUFURSBET01B SU4gZF9pbnRfcG9zaXRpdmVfbWF5YmVfbnVsbCBBUyBJTlQgQ0hFQ0sodmFsdWUgPiAwKTsKK0NS RUFURSBUQUJMRSB0X29uX2Vycm9yX251bGwgKGEgZF9pbnRfbm90X251bGwsIGIgZF9pbnRfcG9z aXRpdmVfbWF5YmVfbnVsbCwgYyBJTlQpOworXHBzZXQgbnVsbCBOVUxMCistLWZhaWwsIGNvbHVt biBhIGNhbm5vdCBzZXQgdG8gbnVsbCB2YWx1ZQorQ09QWSB0X29uX2Vycm9yX251bGwgRlJPTSBT VERJTiBXSVRIIChvbl9lcnJvciBzZXRfbnVsbCk7CitFUlJPUjogIGRvbWFpbiBkX2ludF9ub3Rf bnVsbCBkb2VzIG5vdCBhbGxvdyBudWxsIHZhbHVlcworQ09OVEVYVDogIENPUFkgdF9vbl9lcnJv cl9udWxsLCBsaW5lIDEsIGNvbHVtbiBhOiBudWxsIGlucHV0CistLWZhaWwsIGNvbHVtbiBhIGlz IGRvbWFpbiB3aXRoIG5vdC1udWxsIGNvbnN0cmFpbnQKK0NPUFkgdF9vbl9lcnJvcl9udWxsIEZS T00gU1RESU4gV0lUSCAob25fZXJyb3Igc2V0X251bGwpOworRVJST1I6ICBpbnZhbGlkIGlucHV0 IHZhbHVlIGZvciBkb21haW4gZF9pbnRfbm90X251bGw6ICJzcyIKK0NPTlRFWFQ6ICBDT1BZIHRf b25fZXJyb3JfbnVsbCwgbGluZSAxLCBjb2x1bW4gYTogInNzIgorLS1mYWlsLCBjb2x1bW4gYSBj YW5ub3Qgc2V0IHRvIG51bGwgdmFsdWUKK0NPUFkgdF9vbl9lcnJvcl9udWxsIEZST00gU1RESU4g V0lUSCAob25fZXJyb3Igc2V0X251bGwpOworRVJST1I6ICBpbnZhbGlkIGlucHV0IHZhbHVlIGZv ciBkb21haW4gZF9pbnRfbm90X251bGw6ICItMSIKK0NPTlRFWFQ6ICBDT1BZIHRfb25fZXJyb3Jf bnVsbCwgbGluZSAxLCBjb2x1bW4gYTogIi0xIgorLS1mYWlsLiBsZXNzIGRhdGEKK0NPUFkgdF9v bl9lcnJvcl9udWxsIEZST00gU1RESU4gV0lUSCAoZGVsaW1pdGVyICcsJywgb25fZXJyb3Igc2V0 X251bGwpOworRVJST1I6ICBtaXNzaW5nIGRhdGEgZm9yIGNvbHVtbiAiYyIKK0NPTlRFWFQ6ICBD T1BZIHRfb25fZXJyb3JfbnVsbCwgbGluZSAxOiAiMSwxIgorLS1mYWlsLiBleHRyYSBkYXRhCitD T1BZIHRfb25fZXJyb3JfbnVsbCBGUk9NIFNURElOIFdJVEggKGRlbGltaXRlciAnLCcsIG9uX2Vy cm9yIHNldF9udWxsKTsKK0VSUk9SOiAgZXh0cmEgZGF0YSBhZnRlciBsYXN0IGV4cGVjdGVkIGNv bHVtbgorQ09OVEVYVDogIENPUFkgdF9vbl9lcnJvcl9udWxsLCBsaW5lIDE6ICIxLDIsMyw0Igor LS1vaworQ09QWSB0X29uX2Vycm9yX251bGwgRlJPTSBTVERJTiBXSVRIIChvbl9lcnJvciBzZXRf bnVsbCwgbG9nX3ZlcmJvc2l0eSB2ZXJib3NlKTsKK05PVElDRTogIHNldHRpbmcgdG8gbnVsbCBk dWUgdG8gZGF0YSB0eXBlIGluY29tcGF0aWJpbGl0eSBhdCBsaW5lIDEgZm9yIGNvbHVtbiAiYiI6 ICJ4MSIKK0NPTlRFWFQ6ICBDT1BZIHRfb25fZXJyb3JfbnVsbAorTk9USUNFOiAgc2V0dGluZyB0 byBudWxsIGR1ZSB0byBkYXRhIHR5cGUgaW5jb21wYXRpYmlsaXR5IGF0IGxpbmUgMSBmb3IgY29s dW1uICJjIjogInl4IgorQ09OVEVYVDogIENPUFkgdF9vbl9lcnJvcl9udWxsCitOT1RJQ0U6ICBz ZXR0aW5nIHRvIG51bGwgZHVlIHRvIGRhdGEgdHlwZSBpbmNvbXBhdGliaWxpdHkgYXQgbGluZSAy IGZvciBjb2x1bW4gImIiOiAiengiCitDT05URVhUOiAgQ09QWSB0X29uX2Vycm9yX251bGwKK05P VElDRTogIHNldHRpbmcgdG8gbnVsbCBkdWUgdG8gZGF0YSB0eXBlIGluY29tcGF0aWJpbGl0eSBh dCBsaW5lIDMgZm9yIGNvbHVtbiAiYyI6ICJlYSIKK0NPTlRFWFQ6ICBDT1BZIHRfb25fZXJyb3Jf bnVsbAorTk9USUNFOiAgaW52YWxpZCB2YWx1ZXMgaW4gMyByb3dzIHdlcmUgcmVwbGFjZWQgd2l0 aCBudWxsIGR1ZSB0byBkYXRhIHR5cGUgaW5jb21wYXRpYmlsaXR5CistLSBjaGVjayBpbnNlcnRl ZCBjb250ZW50CitzZWxlY3QgKiBmcm9tIHRfb25fZXJyb3JfbnVsbDsKKyBhICB8ICBiICAgfCAg YyAgIAorLS0tLSstLS0tLS0rLS0tLS0tCisgMTAgfCBOVUxMIHwgTlVMTAorIDExIHwgTlVMTCB8 ICAgMTIKKyAxMyB8ICAgMTQgfCBOVUxMCisoMyByb3dzKQorCitccHNldCBudWxsICcnCiAtLSB0 ZXN0cyBmb3Igb25fZXJyb3Igb3B0aW9uIHdpdGggbG9nX3ZlcmJvc2l0eSBhbmQgbnVsbCBjb25z dHJhaW50IHZpYSBkb21haW4KIENSRUFURSBET01BSU4gZGNoZWNrX2lnbl9lcnIyIHZhcmNoYXIo MTUpIE5PVCBOVUxMOwogQ1JFQVRFIFRBQkxFIGNoZWNrX2lnbl9lcnIyIChuIGludCwgbSBpbnRb XSwgayBpbnQsIGwgZGNoZWNrX2lnbl9lcnIyKTsKQEAgLTgzNCw2ICs4OTEsOSBAQCBEUk9QIFZJ RVcgaW5zdGVhZF9vZl9pbnNlcnRfdGJsX3ZpZXc7CiBEUk9QIFZJRVcgaW5zdGVhZF9vZl9pbnNl cnRfdGJsX3ZpZXdfMjsKIERST1AgRlVOQ1RJT04gZnVuX2luc3RlYWRfb2ZfaW5zZXJ0X3RibCgp OwogRFJPUCBUQUJMRSBjaGVja19pZ25fZXJyOworRFJPUCBUQUJMRSB0X29uX2Vycm9yX251bGw7 CitEUk9QIERPTUFJTiBkX2ludF9ub3RfbnVsbDsKK0RST1AgRE9NQUlOIGRfaW50X3Bvc2l0aXZl X21heWJlX251bGw7CiBEUk9QIFRBQkxFIGNoZWNrX2lnbl9lcnIyOwogRFJPUCBET01BSU4gZGNo ZWNrX2lnbl9lcnIyOwogRFJPUCBUQUJMRSBoYXJkX2VycjsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0 L3JlZ3Jlc3Mvc3FsL2NvcHkyLnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL2NvcHkyLnNxbApp bmRleCBjZWY0NTg2OGRiNS4uYmUwNWVkNTJkZWYgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jl c3Mvc3FsL2NvcHkyLnNxbAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9jb3B5Mi5zcWwKQEAg LTY3LDEyICs2NywxNSBAQCBDT1BZIHggZnJvbSBzdGRpbiAoZm9yY2VfbnVsbCAoYSksIGZvcmNl X251bGwgKGIpKTsKIENPUFkgeCBmcm9tIHN0ZGluIChjb252ZXJ0X3NlbGVjdGl2ZWx5IChhKSwg Y29udmVydF9zZWxlY3RpdmVseSAoYikpOwogQ09QWSB4IGZyb20gc3RkaW4gKGVuY29kaW5nICdz cWxfYXNjaWknLCBlbmNvZGluZyAnc3FsX2FzY2lpJyk7CiBDT1BZIHggZnJvbSBzdGRpbiAob25f ZXJyb3IgaWdub3JlLCBvbl9lcnJvciBpZ25vcmUpOworQ09QWSB4IGZyb20gc3RkaW4gKG9uX2Vy cm9yIHNldF9udWxsLCBvbl9lcnJvciBpZ25vcmUpOwogQ09QWSB4IGZyb20gc3RkaW4gKGxvZ192 ZXJib3NpdHkgZGVmYXVsdCwgbG9nX3ZlcmJvc2l0eSB2ZXJib3NlKTsKIAogLS0gaW5jb3JyZWN0 IG9wdGlvbnMKIENPUFkgeCBmcm9tIHN0ZGluIChmb3JtYXQgQklOQVJZLCBkZWxpbWl0ZXIgJywn KTsKIENPUFkgeCBmcm9tIHN0ZGluIChmb3JtYXQgQklOQVJZLCBudWxsICd4Jyk7CiBDT1BZIHgg ZnJvbSBzdGRpbiAoZm9ybWF0IEJJTkFSWSwgb25fZXJyb3IgaWdub3JlKTsKK0NPUFkgeCBmcm9t IHN0ZGluIChmb3JtYXQgQklOQVJZLCBvbl9lcnJvciBzZXRfbnVsbCk7CitDT1BZIHggZnJvbSBz dGRpbiAob25fZXJyb3Igc2V0X251bGwsIHJlamVjdF9saW1pdCAyKTsKIENPUFkgeCBmcm9tIHN0 ZGluIChvbl9lcnJvciB1bnN1cHBvcnRlZCk7CiBDT1BZIHggZnJvbSBzdGRpbiAoZm9ybWF0IFRF WFQsIGZvcmNlX3F1b3RlKGEpKTsKIENPUFkgeCBmcm9tIHN0ZGluIChmb3JtYXQgVEVYVCwgZm9y Y2VfcXVvdGUgKik7CkBAIC04Nyw2ICs5MCw3IEBAIENPUFkgeCBmcm9tIHN0ZGluIChmb3JtYXQg VEVYVCwgZm9yY2VfbnVsbCAqKTsKIENPUFkgeCB0byBzdGRvdXQgKGZvcm1hdCBDU1YsIGZvcmNl X251bGwoYSkpOwogQ09QWSB4IHRvIHN0ZG91dCAoZm9ybWF0IENTViwgZm9yY2VfbnVsbCAqKTsK IENPUFkgeCB0byBzdGRvdXQgKGZvcm1hdCBCSU5BUlksIG9uX2Vycm9yIHVuc3VwcG9ydGVkKTsK K0NPUFkgeCB0byBzdGRvdXQgKG9uX2Vycm9yIHNldF9udWxsKTsKIENPUFkgeCBmcm9tIHN0ZGlu IChsb2dfdmVyYm9zaXR5IHVuc3VwcG9ydGVkKTsKIENPUFkgeCBmcm9tIHN0ZGluIHdpdGggKHJl amVjdF9saW1pdCAxKTsKIENPUFkgeCBmcm9tIHN0ZGluIHdpdGggKG9uX2Vycm9yIGlnbm9yZSwg cmVqZWN0X2xpbWl0IDApOwpAQCAtNTM3LDYgKzU0MSw0NSBAQCBhCXsyfQkyCiA4CXs4fQk4CiBc LgogCitDUkVBVEUgRE9NQUlOIGRfaW50X25vdF9udWxsIEFTIElOVCBOT1QgTlVMTCBDSEVDSyh2 YWx1ZSA+IDApOworQ1JFQVRFIERPTUFJTiBkX2ludF9wb3NpdGl2ZV9tYXliZV9udWxsIEFTIElO VCBDSEVDSyh2YWx1ZSA+IDApOworQ1JFQVRFIFRBQkxFIHRfb25fZXJyb3JfbnVsbCAoYSBkX2lu dF9ub3RfbnVsbCwgYiBkX2ludF9wb3NpdGl2ZV9tYXliZV9udWxsLCBjIElOVCk7CisKK1xwc2V0 IG51bGwgTlVMTAorLS1mYWlsLCBjb2x1bW4gYSBjYW5ub3Qgc2V0IHRvIG51bGwgdmFsdWUKK0NP UFkgdF9vbl9lcnJvcl9udWxsIEZST00gU1RESU4gV0lUSCAob25fZXJyb3Igc2V0X251bGwpOwor XE4JMTEJMTMKK1wuCisKKy0tZmFpbCwgY29sdW1uIGEgaXMgZG9tYWluIHdpdGggbm90LW51bGwg Y29uc3RyYWludAorQ09QWSB0X29uX2Vycm9yX251bGwgRlJPTSBTVERJTiBXSVRIIChvbl9lcnJv ciBzZXRfbnVsbCk7CitzcwkxMQkxNAorXC4KKworLS1mYWlsLCBjb2x1bW4gYSBjYW5ub3Qgc2V0 IHRvIG51bGwgdmFsdWUKK0NPUFkgdF9vbl9lcnJvcl9udWxsIEZST00gU1RESU4gV0lUSCAob25f ZXJyb3Igc2V0X251bGwpOworLTEJMTEJMTMKK1wuCisKKy0tZmFpbC4gbGVzcyBkYXRhCitDT1BZ IHRfb25fZXJyb3JfbnVsbCBGUk9NIFNURElOIFdJVEggKGRlbGltaXRlciAnLCcsIG9uX2Vycm9y IHNldF9udWxsKTsKKzEsMQorXC4KKy0tZmFpbC4gZXh0cmEgZGF0YQorQ09QWSB0X29uX2Vycm9y X251bGwgRlJPTSBTVERJTiBXSVRIIChkZWxpbWl0ZXIgJywnLCBvbl9lcnJvciBzZXRfbnVsbCk7 CisxLDIsMyw0CitcLgorCistLW9rCitDT1BZIHRfb25fZXJyb3JfbnVsbCBGUk9NIFNURElOIFdJ VEggKG9uX2Vycm9yIHNldF9udWxsLCBsb2dfdmVyYm9zaXR5IHZlcmJvc2UpOworMTAJeDEJeXgK KzExCXp4CTEyCisxMwkxNAllYQorXC4KKworLS0gY2hlY2sgaW5zZXJ0ZWQgY29udGVudAorc2Vs ZWN0ICogZnJvbSB0X29uX2Vycm9yX251bGw7CitccHNldCBudWxsICcnCiAtLSB0ZXN0cyBmb3Ig b25fZXJyb3Igb3B0aW9uIHdpdGggbG9nX3ZlcmJvc2l0eSBhbmQgbnVsbCBjb25zdHJhaW50IHZp YSBkb21haW4KIENSRUFURSBET01BSU4gZGNoZWNrX2lnbl9lcnIyIHZhcmNoYXIoMTUpIE5PVCBO VUxMOwogQ1JFQVRFIFRBQkxFIGNoZWNrX2lnbl9lcnIyIChuIGludCwgbSBpbnRbXSwgayBpbnQs IGwgZGNoZWNrX2lnbl9lcnIyKTsKQEAgLTYwNiw2ICs2NDksOSBAQCBEUk9QIFZJRVcgaW5zdGVh ZF9vZl9pbnNlcnRfdGJsX3ZpZXc7CiBEUk9QIFZJRVcgaW5zdGVhZF9vZl9pbnNlcnRfdGJsX3Zp ZXdfMjsKIERST1AgRlVOQ1RJT04gZnVuX2luc3RlYWRfb2ZfaW5zZXJ0X3RibCgpOwogRFJPUCBU QUJMRSBjaGVja19pZ25fZXJyOworRFJPUCBUQUJMRSB0X29uX2Vycm9yX251bGw7CitEUk9QIERP TUFJTiBkX2ludF9ub3RfbnVsbDsKK0RST1AgRE9NQUlOIGRfaW50X3Bvc2l0aXZlX21heWJlX251 bGw7CiBEUk9QIFRBQkxFIGNoZWNrX2lnbl9lcnIyOwogRFJPUCBET01BSU4gZGNoZWNrX2lnbl9l cnIyOwogRFJPUCBUQUJMRSBoYXJkX2VycjsKLS0gCjIuMzQuMQoK --000000000000de598a063b1e3199--