Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pX0xt-0002CR-R0 for pgsql-hackers@arkaria.postgresql.org; Tue, 28 Feb 2023 14:28:26 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1pX0xr-0005EF-JH for pgsql-hackers@arkaria.postgresql.org; Tue, 28 Feb 2023 14:28:23 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pX0xr-0005Dl-4V for pgsql-hackers@lists.postgresql.org; Tue, 28 Feb 2023 14:28:23 +0000 Received: from mail-lj1-x22c.google.com ([2a00:1450:4864:20::22c]) by magus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1pX0xo-0006Tk-1G for pgsql-hackers@postgresql.org; Tue, 28 Feb 2023 14:28:22 +0000 Received: by mail-lj1-x22c.google.com with SMTP id b13so10455293ljf.6 for ; Tue, 28 Feb 2023 06:28:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=tGphC5URM0USlp0V9Wd+2RnegeE416KJibhkuuJFfgU=; b=ZyEQMfsF0G13fcotya3y3Jts4jqQSLzl+TXgOs+eOeUKQPu8DCzeNXO0s9t0k/3y9i VSD0GC7N/R4a2OEHnQ2CD6XDsVt0SAOe5Dv9upKFTL2DFf3kd0R71IJPXTozvEFog6+E aUaqN7fdK5edPaoqBFbSBmFXgzNWxWAqtpecfhFSH6m4VJ5yWxy7vP7kVHc0CiGEO92u AV6dlDL3Gq6FLOA3oLpq4lbfaMuAsCDRToYo1y6kD8tT8/g1WFES/hDRK3Pr433Zcl/X FuNgQQyYQz1dRcqz8xdwxGQujuMSKBlDgTD84M5hy2pTCr8BUvvCpaZfIkDXV4ygVm+d oCsg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; 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=tGphC5URM0USlp0V9Wd+2RnegeE416KJibhkuuJFfgU=; b=8GbzXSS8j+gceX9tw9u+zlZOnto1dLElV1lBAMhfNlExd5JcZ40lNrpJXOriWGLkX9 AvN6f8nwzzS4sOfqnA2fQ5OQ92n2YLsFEDElzS+YoPXzmdMvjzZhSm332ggllSaBVvKk ovMpT+pTuYKv/cXBtJK2uprU6ntCBcq2vbVfQpS9+tsgmlmsa60ziJqFGVosFvGManes kA3MJ3RxZJfwvzDYCLEVl3xqQY3cY89INBB8ECz0DuWVP3g7wBttA+qHFvNRP9n5oUfW gCsEKc/dHTLqWjon8qmo6MoULmWhjkyZwdOGnJokC4vMcyTv3YoMLvimDe63RK3zcJqV UkTg== X-Gm-Message-State: AO0yUKV0zl6NeCviTeimD1TwgLzWlVYwHtBR0t26nDwvSBIcfdoB4bN7 9m95C5vx1oWNg8bISBIFHXyPVLQuwp3QqRbcTjs= X-Google-Smtp-Source: AK7set8E8azLjGqK/WEzb4xlpvDayObHFEX6PVAL6A/6hJgJbdvj4b6lbrAs63OQMk8ijNmmnHHQS7afr4JLoMCWA/o= X-Received: by 2002:a05:651c:895:b0:293:4ab4:3bb1 with SMTP id d21-20020a05651c089500b002934ab43bb1mr1529171ljq.4.1677594498543; Tue, 28 Feb 2023 06:28:18 -0800 (PST) MIME-Version: 1.0 References: <686e46d6718f9535bc39fac7cad7408b@oss.nttdata.com> <769423519e16d18a1e7611c6931da58b@oss.nttdata.com> <20230205233723.xw5z5zmeyc57ezq3@alap3.anarazel.de> <2587470.1675660337@sss.pgh.pa.us> <483E1B59-4A80-450B-8685-7CC12762FD5A@anarazel.de> <2592557.1675663234@sss.pgh.pa.us> <39143e83571d59dfc04c75707fa0ea5a@oss.nttdata.com> In-Reply-To: <39143e83571d59dfc04c75707fa0ea5a@oss.nttdata.com> From: Damir Belyalov Date: Tue, 28 Feb 2023 17:28:06 +0300 Message-ID: Subject: Re: POC PATCH: copy from ... exceptions to: (was Re: VLDB Features) To: torikoshia Cc: Pgsql Hackers , Andres Freund , Danil Anisimow , HukuToc@gmail.com, a.lepikhov@postgrespro.ru, tgl@sss.pgh.pa.us Content-Type: multipart/mixed; boundary="0000000000002a02a105f5c368cc" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --0000000000002a02a105f5c368cc Content-Type: multipart/alternative; boundary="0000000000002a02a005f5c368ca" --0000000000002a02a005f5c368ca Content-Type: text/plain; charset="UTF-8" Hello Tested patch on all cases: CIM_SINGLE, CIM_MULTI, CIM_MULTI_CONDITION. As expected it works. Also added a description to copy.sgml and made a review on patch. I added 'ignored_errors' integer parameter that should be output after the option is finished. All errors were added to the system logfile with full detailed context. Maybe it's better to log only error message. file:///home/abc13/Documents/todo_copy/postgres/v2-0001-Add-COPY-option-IGNORE_DATATYPE_ERRORS.patch Regards, Damir Belyalov Postgres Professional --0000000000002a02a005f5c368ca Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hello

Tested patch on all ca= ses: CIM_SINGLE, CIM_MULTI, CIM_MULTI_CONDITION. As expected it works.
Also added a description to copy.sgml and made a review on patch= .

I added 'ignored_errors'= ; integer parameter that should be output after the option is finished.
All errors were added to the system logfile=C2=A0with full detailed = context. Maybe it's better to log only error message. file:///home/abc1= 3/Documents/todo_copy/postgres/v2-0001-Add-COPY-option-IGNORE_DATATYPE_ERRO= RS.patch



Regards, Da= mir Belyalov
Postgres Professional
--0000000000002a02a005f5c368ca-- --0000000000002a02a105f5c368cc Content-Type: application/x-patch; name="v2-0001-Add-COPY-option-IGNORE_DATATYPE_ERRORS.patch" Content-Disposition: attachment; filename="v2-0001-Add-COPY-option-IGNORE_DATATYPE_ERRORS.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_leocag9b0 ZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9yZWYvY29weS5zZ21sIGIvZG9jL3NyYy9zZ21sL3Jl Zi9jb3B5LnNnbWwKaW5kZXggYzI1YjUyZDBjYi4uNzA2YjkyOTk0NyAxMDA2NDQKLS0tIGEvZG9j L3NyYy9zZ21sL3JlZi9jb3B5LnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL3JlZi9jb3B5LnNnbWwK QEAgLTM0LDYgKzM0LDcgQEAgQ09QWSB7IDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj50 YWJsZV9uYW1lPC9yZXBsYWNlYWJsZT4gWyAoIDxyZXBsYWNlYWJsZQogCiAgICAgRk9STUFUIDxy ZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5mb3JtYXRfbmFtZTwvcmVwbGFjZWFibGU+CiAg ICAgRlJFRVpFIFsgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmJvb2xlYW48L3JlcGxh Y2VhYmxlPiBdCisgICAgSUdOT1JFX0RBVEFUWVBFX0VSUk9SUyBbIDxyZXBsYWNlYWJsZSBjbGFz cz0icGFyYW1ldGVyIj5ib29sZWFuPC9yZXBsYWNlYWJsZT4gXQogICAgIERFTElNSVRFUiAnPHJl cGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmRlbGltaXRlcl9jaGFyYWN0ZXI8L3JlcGxhY2Vh YmxlPicKICAgICBOVUxMICc8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+bnVsbF9zdHJp bmc8L3JlcGxhY2VhYmxlPicKICAgICBIRUFERVIgWyA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFt ZXRlciI+Ym9vbGVhbjwvcmVwbGFjZWFibGU+IHwgTUFUQ0ggXQpAQCAtMjMzLDYgKzIzNCwxNyBA QCBDT1BZIHsgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnRhYmxlX25hbWU8L3JlcGxh Y2VhYmxlPiBbICggPHJlcGxhY2VhYmxlCiAgICAgPC9saXN0aXRlbT4KICAgIDwvdmFybGlzdGVu dHJ5PgogCisgICA8dmFybGlzdGVudHJ5PgorICAgIDx0ZXJtPjxsaXRlcmFsPklHTk9SRV9EQVRB VFlQRV9FUlJPUlM8L2xpdGVyYWw+PC90ZXJtPgorICAgIDxsaXN0aXRlbT4KKyAgICAgPHBhcmE+ CisgICAgICBEcm9wcyByb3dzIHRoYXQgY29udGFpbiBtYWxmb3JtZWQgZGF0YSB3aGlsZSBjb3B5 aW5nLiBUaGVzZSBhcmUgcm93cworICAgICAgd2l0aCBjb2x1bW5zIHdoZXJlIHRoZSBkYXRhIHR5 cGUncyBpbnB1dC1mdW5jdGlvbiByYWlzZXMgYW4gZXJyb3IuCisgICAgICBPdXRwdXRzIHdhcm5p bmdzIGFib3V0IHJvd3Mgd2l0aCBpbmNvcnJlY3QgZGF0YSB0byBzeXN0ZW0gbG9nZmlsZS4KKyAg ICAgPC9wYXJhPgorICAgIDwvbGlzdGl0ZW0+CisgICA8L3Zhcmxpc3RlbnRyeT4KKwogICAgPHZh cmxpc3RlbnRyeT4KICAgICA8dGVybT48bGl0ZXJhbD5ERUxJTUlURVI8L2xpdGVyYWw+PC90ZXJt PgogICAgIDxsaXN0aXRlbT4KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL2NvcHku YyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL2NvcHkuYwppbmRleCBlMzRmNTgzZWE3Li4wMzM0ODk0 MDE0IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jb21tYW5kcy9jb3B5LmMKKysrIGIvc3JjL2Jh Y2tlbmQvY29tbWFuZHMvY29weS5jCkBAIC00MTAsNiArNDEwLDcgQEAgUHJvY2Vzc0NvcHlPcHRp b25zKFBhcnNlU3RhdGUgKnBzdGF0ZSwKIAlib29sCQlmb3JtYXRfc3BlY2lmaWVkID0gZmFsc2U7 CiAJYm9vbAkJZnJlZXplX3NwZWNpZmllZCA9IGZhbHNlOwogCWJvb2wJCWhlYWRlcl9zcGVjaWZp ZWQgPSBmYWxzZTsKKwlib29sCQlpZ25vcmVfZGF0YXR5cGVfZXJyb3JzX3NwZWNpZmllZD0gZmFs c2U7CiAJTGlzdENlbGwgICAqb3B0aW9uOwogCiAJLyogU3VwcG9ydCBleHRlcm5hbCB1c2UgZm9y IG9wdGlvbiBzYW5pdHkgY2hlY2tpbmcgKi8KQEAgLTQ0OSw2ICs0NTAsMTMgQEAgUHJvY2Vzc0Nv cHlPcHRpb25zKFBhcnNlU3RhdGUgKnBzdGF0ZSwKIAkJCWZyZWV6ZV9zcGVjaWZpZWQgPSB0cnVl OwogCQkJb3B0c19vdXQtPmZyZWV6ZSA9IGRlZkdldEJvb2xlYW4oZGVmZWwpOwogCQl9CisJCWVs c2UgaWYgKHN0cmNtcChkZWZlbC0+ZGVmbmFtZSwgImlnbm9yZV9kYXRhdHlwZV9lcnJvcnMiKSA9 PSAwKQorCQl7CisJCQlpZiAoaWdub3JlX2RhdGF0eXBlX2Vycm9yc19zcGVjaWZpZWQpCisJCQkJ ZXJyb3JDb25mbGljdGluZ0RlZkVsZW0oZGVmZWwsIHBzdGF0ZSk7CisJCQlpZ25vcmVfZGF0YXR5 cGVfZXJyb3JzX3NwZWNpZmllZCA9IHRydWU7CisJCQlvcHRzX291dC0+aWdub3JlX2RhdGF0eXBl X2Vycm9ycyA9IGRlZkdldEJvb2xlYW4oZGVmZWwpOworCQl9CiAJCWVsc2UgaWYgKHN0cmNtcChk ZWZlbC0+ZGVmbmFtZSwgImRlbGltaXRlciIpID09IDApCiAJCXsKIAkJCWlmIChvcHRzX291dC0+ ZGVsaW0pCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jb21tYW5kcy9jb3B5ZnJvbS5jIGIvc3Jj L2JhY2tlbmQvY29tbWFuZHMvY29weWZyb20uYwppbmRleCBhZjUyZmFjYTZkLi5lY2FhNzUwNTY4 IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jb21tYW5kcy9jb3B5ZnJvbS5jCisrKyBiL3NyYy9i YWNrZW5kL2NvbW1hbmRzL2NvcHlmcm9tLmMKQEAgLTk1NSwxMCArOTU1LDE0IEBAIENvcHlGcm9t KENvcHlGcm9tU3RhdGUgY3N0YXRlKQogCWVycmNhbGxiYWNrLnByZXZpb3VzID0gZXJyb3JfY29u dGV4dF9zdGFjazsKIAllcnJvcl9jb250ZXh0X3N0YWNrID0gJmVycmNhbGxiYWNrOwogCisJaWYg KGNzdGF0ZS0+b3B0cy5pZ25vcmVfZGF0YXR5cGVfZXJyb3JzKQorCQljc3RhdGUtPmlnbm9yZWRf ZXJyb3JzID0gMDsKKwogCWZvciAoOzspCiAJewogCQlUdXBsZVRhYmxlU2xvdCAqbXlzbG90Owog CQlib29sCQlza2lwX3R1cGxlOworCQlFcnJvclNhdmVDb250ZXh0IGVzY29udGV4dCA9IHtUX0Vy cm9yU2F2ZUNvbnRleHR9OwogCiAJCUNIRUNLX0ZPUl9JTlRFUlJVUFRTKCk7CiAKQEAgLTk5MSw5 ICs5OTUsMjYgQEAgQ29weUZyb20oQ29weUZyb21TdGF0ZSBjc3RhdGUpCiAKIAkJRXhlY0NsZWFy VHVwbGUobXlzbG90KTsKIAorCQlpZiAoY3N0YXRlLT5vcHRzLmlnbm9yZV9kYXRhdHlwZV9lcnJv cnMpCisJCXsKKwkJCWVzY29udGV4dC5kZXRhaWxzX3dhbnRlZCA9IHRydWU7CisJCQljc3RhdGUt PmVzY29udGV4dCA9IGVzY29udGV4dDsKKwkJfQorCiAJCS8qIERpcmVjdGx5IHN0b3JlIHRoZSB2 YWx1ZXMvbnVsbHMgYXJyYXkgaW4gdGhlIHNsb3QgKi8KIAkJaWYgKCFOZXh0Q29weUZyb20oY3N0 YXRlLCBlY29udGV4dCwgbXlzbG90LT50dHNfdmFsdWVzLCBteXNsb3QtPnR0c19pc251bGwpKQor CQl7CisJCQlpZiAoY3N0YXRlLT5vcHRzLmlnbm9yZV9kYXRhdHlwZV9lcnJvcnMgJiYgY3N0YXRl LT5pZ25vcmVkX2Vycm9ycyA+IDApCisJCQkJZXJlcG9ydChXQVJOSU5HLCBlcnJtc2coIkVycm9y czogJWxkIiwgY3N0YXRlLT5pZ25vcmVkX2Vycm9ycykpOwogCQkJYnJlYWs7CisJCX0KKworCQkv KiBTb2Z0IGVycm9yIG9jY3VyZWQsIHNraXAgdGhpcyB0dXBsZSAqLworCQlpZiAoY3N0YXRlLT5l c2NvbnRleHQuZXJyb3Jfb2NjdXJyZWQpCisJCXsKKwkJCUV4ZWNDbGVhclR1cGxlKG15c2xvdCk7 CisJCQljb250aW51ZTsKKwkJfQogCiAJCUV4ZWNTdG9yZVZpcnR1YWxUdXBsZShteXNsb3QpOwog CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jb21tYW5kcy9jb3B5ZnJvbXBhcnNlLmMgYi9zcmMv YmFja2VuZC9jb21tYW5kcy9jb3B5ZnJvbXBhcnNlLmMKaW5kZXggOTFiNTY0YzJiYy4uOWMzNmIw ZGM4YiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvY29weWZyb21wYXJzZS5jCisr KyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL2NvcHlmcm9tcGFyc2UuYwpAQCAtNzAsNiArNzAsNyBA QAogI2luY2x1ZGUgImxpYnBxL3BxZm9ybWF0LmgiCiAjaW5jbHVkZSAibWIvcGdfd2NoYXIuaCIK ICNpbmNsdWRlICJtaXNjYWRtaW4uaCIKKyNpbmNsdWRlICJub2Rlcy9taXNjbm9kZXMuaCIKICNp bmNsdWRlICJwZ3N0YXQuaCIKICNpbmNsdWRlICJwb3J0L3BnX2Jzd2FwLmgiCiAjaW5jbHVkZSAi dXRpbHMvYnVpbHRpbnMuaCIKQEAgLTkzOCwxMCArOTM5LDIzIEBAIE5leHRDb3B5RnJvbShDb3B5 RnJvbVN0YXRlIGNzdGF0ZSwgRXhwckNvbnRleHQgKmVjb250ZXh0LAogCiAJCQljc3RhdGUtPmN1 cl9hdHRuYW1lID0gTmFtZVN0cihhdHQtPmF0dG5hbWUpOwogCQkJY3N0YXRlLT5jdXJfYXR0dmFs ID0gc3RyaW5nOwotCQkJdmFsdWVzW21dID0gSW5wdXRGdW5jdGlvbkNhbGwoJmluX2Z1bmN0aW9u c1ttXSwKLQkJCQkJCQkJCQkgIHN0cmluZywKLQkJCQkJCQkJCQkgIHR5cGlvcGFyYW1zW21dLAot CQkJCQkJCQkJCSAgYXR0LT5hdHR0eXBtb2QpOworCisJCQkvKiBJZiBJR05PUkVfREFUQVRZUEVf RVJST1JTIGlzIGVuYWJsZWQgc2tpcCByb3dzIHdpdGggZGF0YXR5cGUgZXJyb3JzICovCisJCQlp ZiAoIUlucHV0RnVuY3Rpb25DYWxsU2FmZSgmaW5fZnVuY3Rpb25zW21dLAorCQkJCQkJCQkJICAg c3RyaW5nLAorCQkJCQkJCQkJICAgdHlwaW9wYXJhbXNbbV0sCisJCQkJCQkJCQkgICBhdHQtPmF0 dHR5cG1vZCwKKwkJCQkJCQkJCSAgIChOb2RlICopICZjc3RhdGUtPmVzY29udGV4dCwKKwkJCQkJ CQkJCSAgICZ2YWx1ZXNbbV0pKQorCQkJeworCQkJCWNzdGF0ZS0+aWdub3JlZF9lcnJvcnMrKzsK KworCQkJCWVyZXBvcnQoTE9HLAorCQkJCQkJZXJybXNnKCIlcyIsIGNzdGF0ZS0+ZXNjb250ZXh0 LmVycm9yX2RhdGEtPm1lc3NhZ2UpKTsKKworCQkJCXJldHVybiB0cnVlOworCQkJfQorCiAJCQlp ZiAoc3RyaW5nICE9IE5VTEwpCiAJCQkJbnVsbHNbbV0gPSBmYWxzZTsKIAkJCWNzdGF0ZS0+Y3Vy X2F0dG5hbWUgPSBOVUxMOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcGFyc2VyL2dyYW0ueSBi L3NyYy9iYWNrZW5kL3BhcnNlci9ncmFtLnkKaW5kZXggYTAxMzgzODJhMS4uZDc5ZDI5M2MwZCAx MDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcGFyc2VyL2dyYW0ueQorKysgYi9zcmMvYmFja2VuZC9w YXJzZXIvZ3JhbS55CkBAIC03MDEsNyArNzAxLDcgQEAgc3RhdGljIE5vZGUgKm1ha2VSZWN1cnNp dmVWaWV3U2VsZWN0KGNoYXIgKnJlbG5hbWUsIExpc3QgKmFsaWFzZXMsIE5vZGUgKnF1ZXJ5KTsK IAogCUhBTkRMRVIgSEFWSU5HIEhFQURFUl9QIEhPTEQgSE9VUl9QCiAKLQlJREVOVElUWV9QIElG X1AgSUxJS0UgSU1NRURJQVRFIElNTVVUQUJMRSBJTVBMSUNJVF9QIElNUE9SVF9QIElOX1AgSU5D TFVERQorCUlERU5USVRZX1AgSUZfUCBJR05PUkVfREFUQVRZUEVfRVJST1JTIElMSUtFIElNTUVE SUFURSBJTU1VVEFCTEUgSU1QTElDSVRfUCBJTVBPUlRfUCBJTl9QIElOQ0xVREUKIAlJTkNMVURJ TkcgSU5DUkVNRU5UIElOREVYIElOREVYRVMgSU5IRVJJVCBJTkhFUklUUyBJTklUSUFMTFkgSU5M SU5FX1AKIAlJTk5FUl9QIElOT1VUIElOUFVUX1AgSU5TRU5TSVRJVkUgSU5TRVJUIElOU1RFQUQg SU5UX1AgSU5URUdFUgogCUlOVEVSU0VDVCBJTlRFUlZBTCBJTlRPIElOVk9LRVIgSVMgSVNOVUxM IElTT0xBVElPTgpAQCAtMzM3OCw2ICszMzc4LDEwIEBAIGNvcHlfb3B0X2l0ZW06CiAJCQkJewog CQkJCQkkJCA9IG1ha2VEZWZFbGVtKCJmcmVlemUiLCAoTm9kZSAqKSBtYWtlQm9vbGVhbih0cnVl KSwgQDEpOwogCQkJCX0KKwkJCXwgSUdOT1JFX0RBVEFUWVBFX0VSUk9SUworCQkJCXsKKwkJCQkJ JCQgPSBtYWtlRGVmRWxlbSgiaWdub3JlX2RhdGF0eXBlX2Vycm9ycyIsIChOb2RlICopbWFrZUJv b2xlYW4odHJ1ZSksIEAxKTsKKwkJCQl9CiAJCQl8IERFTElNSVRFUiBvcHRfYXMgU2NvbnN0CiAJ CQkJewogCQkJCQkkJCA9IG1ha2VEZWZFbGVtKCJkZWxpbWl0ZXIiLCAoTm9kZSAqKSBtYWtlU3Ry aW5nKCQzKSwgQDEpOwpAQCAtMTY4MjEsNiArMTY4MjUsNyBAQCB1bnJlc2VydmVkX2tleXdvcmQ6 CiAJCQl8IEhPVVJfUAogCQkJfCBJREVOVElUWV9QCiAJCQl8IElGX1AKKwkJCXwgSUdOT1JFX0RB VEFUWVBFX0VSUk9SUwogCQkJfCBJTU1FRElBVEUKIAkJCXwgSU1NVVRBQkxFCiAJCQl8IElNUExJ Q0lUX1AKQEAgLTE3Mzc1LDYgKzE3MzgwLDcgQEAgYmFyZV9sYWJlbF9rZXl3b3JkOgogCQkJfCBI T0xECiAJCQl8IElERU5USVRZX1AKIAkJCXwgSUZfUAorCQkJfCBJR05PUkVfREFUQVRZUEVfRVJS T1JTCiAJCQl8IElMSUtFCiAJCQl8IElNTUVESUFURQogCQkJfCBJTU1VVEFCTEUKZGlmZiAtLWdp dCBhL3NyYy9iaW4vcHNxbC90YWItY29tcGxldGUuYyBiL3NyYy9iaW4vcHNxbC90YWItY29tcGxl dGUuYwppbmRleCA1ZTE4ODJlYWVhLi5hMzYzMzUxZDNiIDEwMDY0NAotLS0gYS9zcmMvYmluL3Bz cWwvdGFiLWNvbXBsZXRlLmMKKysrIGIvc3JjL2Jpbi9wc3FsL3RhYi1jb21wbGV0ZS5jCkBAIC0y ODU3LDcgKzI4NTcsOCBAQCBwc3FsX2NvbXBsZXRpb24oY29uc3QgY2hhciAqdGV4dCwgaW50IHN0 YXJ0LCBpbnQgZW5kKQogCWVsc2UgaWYgKE1hdGNoZXMoIkNPUFl8XFxjb3B5IiwgTWF0Y2hBbnks ICJGUk9NfFRPIiwgTWF0Y2hBbnksICJXSVRIIiwgIigiKSkKIAkJQ09NUExFVEVfV0lUSCgiRk9S TUFUIiwgIkZSRUVaRSIsICJERUxJTUlURVIiLCAiTlVMTCIsCiAJCQkJCSAgIkhFQURFUiIsICJR VU9URSIsICJFU0NBUEUiLCAiRk9SQ0VfUVVPVEUiLAotCQkJCQkgICJGT1JDRV9OT1RfTlVMTCIs ICJGT1JDRV9OVUxMIiwgIkVOQ09ESU5HIik7CisJCQkJCSAgIkZPUkNFX05PVF9OVUxMIiwgIkZP UkNFX05VTEwiLCAiRU5DT0RJTkciLAorCQkJCQkgICJJR05PUkVfREFUQVRZUEVfRVJST1JTIik7 CiAKIAkvKiBDb21wbGV0ZSBDT1BZIDxzdGg+IEZST018VE8gZmlsZW5hbWUgV0lUSCAoRk9STUFU ICovCiAJZWxzZSBpZiAoTWF0Y2hlcygiQ09QWXxcXGNvcHkiLCBNYXRjaEFueSwgIkZST018VE8i LCBNYXRjaEFueSwgIldJVEgiLCAiKCIsICJGT1JNQVQiKSkKZGlmZiAtLWdpdCBhL3NyYy9pbmNs dWRlL2NvbW1hbmRzL2NvcHkuaCBiL3NyYy9pbmNsdWRlL2NvbW1hbmRzL2NvcHkuaAppbmRleCA4 ZTVmNmZmMTQ4Li5hN2ViMGY4ODgzIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9jb21tYW5kcy9j b3B5LmgKKysrIGIvc3JjL2luY2x1ZGUvY29tbWFuZHMvY29weS5oCkBAIC00Miw2ICs0Miw3IEBA IHR5cGVkZWYgc3RydWN0IENvcHlGb3JtYXRPcHRpb25zCiAJCQkJCQkJCSAqIC0xIGlmIG5vdCBz cGVjaWZpZWQgKi8KIAlib29sCQliaW5hcnk7CQkJLyogYmluYXJ5IGZvcm1hdD8gKi8KIAlib29s CQlmcmVlemU7CQkJLyogZnJlZXplIHJvd3Mgb24gbG9hZGluZz8gKi8KKwlib29sCQlpZ25vcmVf ZGF0YXR5cGVfZXJyb3JzOyAgLyogaWdub3JlIHJvd3Mgd2l0aCBkYXRhdHlwZSBlcnJvcnMgKi8K IAlib29sCQljc3ZfbW9kZTsJCS8qIENvbW1hIFNlcGFyYXRlZCBWYWx1ZSBmb3JtYXQ/ICovCiAJ Q29weUhlYWRlckNob2ljZSBoZWFkZXJfbGluZTsJLyogaGVhZGVyIGxpbmU/ICovCiAJY2hhcgkg ICAqbnVsbF9wcmludDsJCS8qIE5VTEwgbWFya2VyIHN0cmluZyAoc2VydmVyIGVuY29kaW5nISkg Ki8KZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2NvbW1hbmRzL2NvcHlmcm9tX2ludGVybmFsLmgg Yi9zcmMvaW5jbHVkZS9jb21tYW5kcy9jb3B5ZnJvbV9pbnRlcm5hbC5oCmluZGV4IDdiMWM0MzI3 YmQuLjQ3MjRmY2ExOTUgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2NvbW1hbmRzL2NvcHlmcm9t X2ludGVybmFsLmgKKysrIGIvc3JjL2luY2x1ZGUvY29tbWFuZHMvY29weWZyb21faW50ZXJuYWwu aApAQCAtMTYsNiArMTYsNyBAQAogCiAjaW5jbHVkZSAiY29tbWFuZHMvY29weS5oIgogI2luY2x1 ZGUgImNvbW1hbmRzL3RyaWdnZXIuaCIKKyNpbmNsdWRlICJub2Rlcy9taXNjbm9kZXMuaCIKIAog LyoKICAqIFJlcHJlc2VudHMgdGhlIGRpZmZlcmVudCBzb3VyY2UgY2FzZXMgd2UgbmVlZCB0byB3 b3JyeSBhYm91dCBhdApAQCAtOTQsNiArOTUsOCBAQCB0eXBlZGVmIHN0cnVjdCBDb3B5RnJvbVN0 YXRlRGF0YQogCUF0dHJOdW1iZXIJbnVtX2RlZmF1bHRzOwogCUZtZ3JJbmZvICAgKmluX2Z1bmN0 aW9uczsJLyogYXJyYXkgb2YgaW5wdXQgZnVuY3Rpb25zIGZvciBlYWNoIGF0dHJzICovCiAJT2lk CQkgICAqdHlwaW9wYXJhbXM7CS8qIGFycmF5IG9mIGVsZW1lbnQgdHlwZXMgZm9yIGluX2Z1bmN0 aW9ucyAqLworCUVycm9yU2F2ZUNvbnRleHQgZXNjb250ZXh0OyAvKiBzb2Z0IGVycm9yIHRyYXBw ZXIgZHVyaW5nIGluX2Z1bmN0aW9ucyBleGVjdXRpb24gKi8KKwl1aW50NjQJCWlnbm9yZWRfZXJy b3JzOwkvKiB0b3RhbCBudW1iZXIgb2YgaWdub3JlZCBlcnJvcnMgKi8KIAlpbnQJCSAgICpkZWZt YXA7CQkJLyogYXJyYXkgb2YgZGVmYXVsdCBhdHQgbnVtYmVycyAqLwogCUV4cHJTdGF0ZSAqKmRl ZmV4cHJzOwkJLyogYXJyYXkgb2YgZGVmYXVsdCBhdHQgZXhwcmVzc2lvbnMgKi8KIAlib29sCQl2 b2xhdGlsZV9kZWZleHByczsJLyogaXMgYW55IG9mIGRlZmV4cHJzIHZvbGF0aWxlPyAqLwpkaWZm IC0tZ2l0IGEvc3JjL2luY2x1ZGUvcGFyc2VyL2t3bGlzdC5oIGIvc3JjL2luY2x1ZGUvcGFyc2Vy L2t3bGlzdC5oCmluZGV4IGJiMzYyMTNlNmYuLjFkN2Y5ZWZiYzAgMTAwNjQ0Ci0tLSBhL3NyYy9p bmNsdWRlL3BhcnNlci9rd2xpc3QuaAorKysgYi9zcmMvaW5jbHVkZS9wYXJzZXIva3dsaXN0LmgK QEAgLTE5Niw2ICsxOTYsNyBAQCBQR19LRVlXT1JEKCJob2xkIiwgSE9MRCwgVU5SRVNFUlZFRF9L RVlXT1JELCBCQVJFX0xBQkVMKQogUEdfS0VZV09SRCgiaG91ciIsIEhPVVJfUCwgVU5SRVNFUlZF RF9LRVlXT1JELCBBU19MQUJFTCkKIFBHX0tFWVdPUkQoImlkZW50aXR5IiwgSURFTlRJVFlfUCwg VU5SRVNFUlZFRF9LRVlXT1JELCBCQVJFX0xBQkVMKQogUEdfS0VZV09SRCgiaWYiLCBJRl9QLCBV TlJFU0VSVkVEX0tFWVdPUkQsIEJBUkVfTEFCRUwpCitQR19LRVlXT1JEKCJpZ25vcmVfZGF0YXR5 cGVfZXJyb3JzIiwgSUdOT1JFX0RBVEFUWVBFX0VSUk9SUywgVU5SRVNFUlZFRF9LRVlXT1JELCBC QVJFX0xBQkVMKQogUEdfS0VZV09SRCgiaWxpa2UiLCBJTElLRSwgVFlQRV9GVU5DX05BTUVfS0VZ V09SRCwgQkFSRV9MQUJFTCkKIFBHX0tFWVdPUkQoImltbWVkaWF0ZSIsIElNTUVESUFURSwgVU5S RVNFUlZFRF9LRVlXT1JELCBCQVJFX0xBQkVMKQogUEdfS0VZV09SRCgiaW1tdXRhYmxlIiwgSU1N VVRBQkxFLCBVTlJFU0VSVkVEX0tFWVdPUkQsIEJBUkVfTEFCRUwpCmRpZmYgLS1naXQgYS9zcmMv dGVzdC9yZWdyZXNzL2V4cGVjdGVkL2NvcHkyLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0 ZWQvY29weTIub3V0CmluZGV4IDA5MGVmNmM3YTguLmI0ZGFkYmY3YTkgMTAwNjQ0Ci0tLSBhL3Ny Yy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvY29weTIub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3Mv ZXhwZWN0ZWQvY29weTIub3V0CkBAIC02NjYsNiArNjY2LDE3IEBAIFNFTEVDVCAqIEZST00gaW5z dGVhZF9vZl9pbnNlcnRfdGJsOwogKDIgcm93cykKIAogQ09NTUlUOworLS0gdGVzdHMgZm9yIElH Tk9SRV9EQVRBVFlQRV9FUlJPUlMgb3B0aW9uCitDUkVBVEUgVEFCTEUgY2hlY2tfaWduX2VyciAo biBpbnQsIG0gaW50W10sIGsgaW50KTsKK0NPUFkgY2hlY2tfaWduX2VyciBGUk9NIFNURElOIFdJ VEggSUdOT1JFX0RBVEFUWVBFX0VSUk9SUzsKK1dBUk5JTkc6ICBFcnJvcnM6IDQKK1NFTEVDVCAq IEZST00gY2hlY2tfaWduX2VycjsKKyBuIHwgIG0gIHwgayAKKy0tLSstLS0tLSstLS0KKyAxIHwg ezF9IHwgMQorIDUgfCB7NX0gfCA1CisoMiByb3dzKQorCiAtLSBjbGVhbiB1cAogRFJPUCBUQUJM RSBmb3JjZXRlc3Q7CiBEUk9QIFRBQkxFIHZpc3Rlc3Q7CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9y ZWdyZXNzL3NxbC9jb3B5Mi5zcWwgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9jb3B5Mi5zcWwKaW5k ZXggYjBkZTgyYzNhYS4uMzgwYWRmY2U5NiAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9z cWwvY29weTIuc3FsCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL2NvcHkyLnNxbApAQCAtNDY0 LDYgKzQ2NCwxOCBAQCB0ZXN0MQogU0VMRUNUICogRlJPTSBpbnN0ZWFkX29mX2luc2VydF90Ymw7 CiBDT01NSVQ7CiAKKy0tIHRlc3RzIGZvciBJR05PUkVfREFUQVRZUEVfRVJST1JTIG9wdGlvbgor Q1JFQVRFIFRBQkxFIGNoZWNrX2lnbl9lcnIgKG4gaW50LCBtIGludFtdLCBrIGludCk7CitDT1BZ IGNoZWNrX2lnbl9lcnIgRlJPTSBTVERJTiBXSVRIIElHTk9SRV9EQVRBVFlQRV9FUlJPUlM7Cisx CXsxfQkxCithCXsyfQkyCiszCXszfQkzMzMzMzMzMzMzCis0CXthLCA0fQk0CisKKzUJezV9CTUK K1wuCitTRUxFQ1QgKiBGUk9NIGNoZWNrX2lnbl9lcnI7CisKIC0tIGNsZWFuIHVwCiBEUk9QIFRB QkxFIGZvcmNldGVzdDsKIERST1AgVEFCTEUgdmlzdGVzdDsK --0000000000002a02a105f5c368cc--