Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.92) (envelope-from ) id 1j6AWI-00045f-SG for pgsql-hackers@arkaria.postgresql.org; Mon, 24 Feb 2020 09:59:23 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1j6AVH-0006ur-Kp for pgsql-hackers@arkaria.postgresql.org; Mon, 24 Feb 2020 09:58:19 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1j6AVG-0006uV-Ie for pgsql-hackers@lists.postgresql.org; Mon, 24 Feb 2020 09:58:19 +0000 Received: from wout2-smtp.messagingengine.com ([64.147.123.25]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1j6AV7-0007zZ-1s for pgsql-hackers@postgresql.org; Mon, 24 Feb 2020 09:58:17 +0000 Received: from compute7.internal (compute7.nyi.internal [10.202.2.47]) by mailout.west.internal (Postfix) with ESMTP id 1B745546 for ; Mon, 24 Feb 2020 04:58:06 -0500 (EST) Received: from mailfrontend2 ([10.202.2.163]) by compute7.internal (MEProxy); Mon, 24 Feb 2020 04:58:06 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-type:date:from:message-id :mime-version:subject:to:x-me-proxy:x-me-proxy:x-me-sender :x-me-sender:x-sasl-enc; s=fm2; bh=9toe5Fxn/vut4kv8o+J0dpVPKydmJ 20kgTrSoPIw7nQ=; b=ulz+yxEk4A5oB0bttHxkpN5X7LdcZBdTgiPXPgEpdD01J TEhumcUaY2+HBwGhdqm+AkHagSS/8s1pKX060RdODC0vnpTAuzBxUJEWi/RqO/Nh PXWjwwNm4IV409Py4jrwOl0yTQHn/JEhs3cJ+/cB8WNMu4J3ZRxeEahfXRByLk/V FZPf8RlRUCERHYoKXaurcBXUidMxj2+Z6o+VEecHlZWmdpwv3u5uYL2jfRhr9ZHQ 0sPNTiuTQ0e220D7hZN5aPdBtZ3BTFIAmzFAT4q1zvcyJxcIvAIedN2+VZkmgvwc WOCJ28b6+j4ubogzQUZ3rn6ABaIb9t9OoKBoEMhjQ== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedugedrledtgddutdcutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecunecujfgurhephffuvfhokffffgggtgesmhdtreertd efjeenucfhrhhomheprfgvthgvrhcugfhishgvnhhtrhgruhhtuceophgvthgvrhdrvghi shgvnhhtrhgruhhtsedvnhguqhhurggurhgrnhhtrdgtohhmqeenucffohhmrghinhepph hoshhtghhrvghsqhhlrdhorhhgpddvnhguqhhurggurhgrnhhtrdgtohhmnecukfhppeel fedrvdegfedrudehiedrudeludenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmh epmhgrihhlfhhrohhmpehpvghtvghrrdgvihhsvghnthhrrghuthesvdhnughquhgrughr rghnthdrtghomh X-ME-Proxy: Received: from april.pezone.net (p5df39cbf.dip0.t-ipconnect.de [93.243.156.191]) by mail.messagingengine.com (Postfix) with ESMTPA id A699B3060FE0 for ; Mon, 24 Feb 2020 04:58:04 -0500 (EST) From: Peter Eisentraut Subject: allow trigger to get updated columns To: pgsql-hackers Organization: 2ndQuadrant Message-ID: <11c5f156-67a9-0fb5-8200-2a8018eb2e0c@2ndquadrant.com> Date: Mon, 24 Feb 2020 10:58:03 +0100 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------------F3FF1B1C0AB52C67472DBBE9" Content-Language: en-US List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk This is a multi-part message in MIME format. --------------F3FF1B1C0AB52C67472DBBE9 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit This is a change to make the bitmap of updated columns available to a trigger in TriggerData. This is the same idea as was recently done to generated columns [0]: Generic triggers such as tsvector_update_trigger can use this information to skip work if the columns they are interested in haven't changed. With the generated columns change, perhaps this isn't so interesting anymore, but I suspect a lot of existing installations still use tsvector_update_trigger. In any case, since I had already written the code, I figured I post it here. Perhaps there are other use cases. [0]: https://www.postgresql.org/message-id/flat/b05e781a-fa16-6b52-6738-761181204567@2ndquadrant.com -- Peter Eisentraut http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services --------------F3FF1B1C0AB52C67472DBBE9 Content-Type: text/plain; charset=UTF-8; x-mac-type="0"; x-mac-creator="0"; name="0001-Code-simplification.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="0001-Code-simplification.patch" RnJvbSAwYzkwMTI2NmExYjQwYTI1NzMyMDE2NmZkYWNhYWVmZDAwZTRkYmNlIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBFaXNlbnRyYXV0IDxwZXRlckBlaXNlbnRy YXV0Lm9yZz4KRGF0ZTogTW9uLCAyNCBGZWIgMjAyMCAxMDoxMjoxMCArMDEwMApTdWJqZWN0 OiBbUEFUQ0ggMS8yXSBDb2RlIHNpbXBsaWZpY2F0aW9uCgpJbml0aWFsaXplIFRyaWdnZXJE YXRhIHRvIDAgZm9yIHRoZSB3aG9sZSBzdHJ1Y3QgdG9nZXRoZXIsIGluc3RlYWQgb2YKZWFj aCBmaWVsZCBzZXBhcmF0ZWx5LgotLS0KIHNyYy9iYWNrZW5kL2NvbW1hbmRzL3RhYmxlY21k cy5jIHwgIDQgKy0KIHNyYy9iYWNrZW5kL2NvbW1hbmRzL3RyaWdnZXIuYyAgIHwgNzggKysr KystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDIgZmlsZXMgY2hhbmdlZCwgMTIgaW5z ZXJ0aW9ucygrKSwgNzAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQv Y29tbWFuZHMvdGFibGVjbWRzLmMgYi9zcmMvYmFja2VuZC9jb21tYW5kcy90YWJsZWNtZHMu YwppbmRleCBiN2M4ZDY2M2ZjLi42YWY5ODRmZjEwIDEwMDY0NAotLS0gYS9zcmMvYmFja2Vu ZC9jb21tYW5kcy90YWJsZWNtZHMuYworKysgYi9zcmMvYmFja2VuZC9jb21tYW5kcy90YWJs ZWNtZHMuYwpAQCAtMTAyNjQsNyArMTAyNjQsNyBAQCB2YWxpZGF0ZUZvcmVpZ25LZXlDb25z dHJhaW50KGNoYXIgKmNvbm5hbWUsCiAJd2hpbGUgKHRhYmxlX3NjYW5fZ2V0bmV4dHNsb3Qo c2NhbiwgRm9yd2FyZFNjYW5EaXJlY3Rpb24sIHNsb3QpKQogCXsKIAkJTE9DQUxfRkNJTkZP KGZjaW5mbywgMCk7Ci0JCVRyaWdnZXJEYXRhIHRyaWdkYXRhOworCQlUcmlnZ2VyRGF0YSB0 cmlnZGF0YSA9IHswfTsKIAogCQlDSEVDS19GT1JfSU5URVJSVVBUUygpOwogCkBAIC0xMDI4 Myw4ICsxMDI4Myw2IEBAIHZhbGlkYXRlRm9yZWlnbktleUNvbnN0cmFpbnQoY2hhciAqY29u bmFtZSwKIAkJdHJpZ2RhdGEudGdfcmVsYXRpb24gPSByZWw7CiAJCXRyaWdkYXRhLnRnX3Ry aWd0dXBsZSA9IEV4ZWNGZXRjaFNsb3RIZWFwVHVwbGUoc2xvdCwgZmFsc2UsIE5VTEwpOwog CQl0cmlnZGF0YS50Z190cmlnc2xvdCA9IHNsb3Q7Ci0JCXRyaWdkYXRhLnRnX25ld3R1cGxl ID0gTlVMTDsKLQkJdHJpZ2RhdGEudGdfbmV3c2xvdCA9IE5VTEw7CiAJCXRyaWdkYXRhLnRn X3RyaWdnZXIgPSAmdHJpZzsKIAogCQlmY2luZm8tPmNvbnRleHQgPSAoTm9kZSAqKSAmdHJp Z2RhdGE7CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jb21tYW5kcy90cmlnZ2VyLmMgYi9z cmMvYmFja2VuZC9jb21tYW5kcy90cmlnZ2VyLmMKaW5kZXggYjliMTI2MmUzMC4uMjY1OTM1 NzZmZCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvdHJpZ2dlci5jCisrKyBi L3NyYy9iYWNrZW5kL2NvbW1hbmRzL3RyaWdnZXIuYwpAQCAtMjQ1OCw3ICsyNDU4LDcgQEAg RXhlY0JTSW5zZXJ0VHJpZ2dlcnMoRVN0YXRlICplc3RhdGUsIFJlc3VsdFJlbEluZm8gKnJl bGluZm8pCiB7CiAJVHJpZ2dlckRlc2MgKnRyaWdkZXNjOwogCWludAkJCWk7Ci0JVHJpZ2dl ckRhdGEgTG9jVHJpZ2dlckRhdGE7CisJVHJpZ2dlckRhdGEgTG9jVHJpZ2dlckRhdGEgPSB7 MH07CiAKIAl0cmlnZGVzYyA9IHJlbGluZm8tPnJpX1RyaWdEZXNjOwogCkBAIC0yNDc2LDEy ICsyNDc2LDYgQEAgRXhlY0JTSW5zZXJ0VHJpZ2dlcnMoRVN0YXRlICplc3RhdGUsIFJlc3Vs dFJlbEluZm8gKnJlbGluZm8pCiAJTG9jVHJpZ2dlckRhdGEudGdfZXZlbnQgPSBUUklHR0VS X0VWRU5UX0lOU0VSVCB8CiAJCVRSSUdHRVJfRVZFTlRfQkVGT1JFOwogCUxvY1RyaWdnZXJE YXRhLnRnX3JlbGF0aW9uID0gcmVsaW5mby0+cmlfUmVsYXRpb25EZXNjOwotCUxvY1RyaWdn ZXJEYXRhLnRnX3RyaWd0dXBsZSA9IE5VTEw7Ci0JTG9jVHJpZ2dlckRhdGEudGdfbmV3dHVw bGUgPSBOVUxMOwotCUxvY1RyaWdnZXJEYXRhLnRnX3RyaWdzbG90ID0gTlVMTDsKLQlMb2NU cmlnZ2VyRGF0YS50Z19uZXdzbG90ID0gTlVMTDsKLQlMb2NUcmlnZ2VyRGF0YS50Z19vbGR0 YWJsZSA9IE5VTEw7Ci0JTG9jVHJpZ2dlckRhdGEudGdfbmV3dGFibGUgPSBOVUxMOwogCWZv ciAoaSA9IDA7IGkgPCB0cmlnZGVzYy0+bnVtdHJpZ2dlcnM7IGkrKykKIAl7CiAJCVRyaWdn ZXIgICAgKnRyaWdnZXIgPSAmdHJpZ2Rlc2MtPnRyaWdnZXJzW2ldOwpAQCAtMjUyOCw3ICsy NTIyLDcgQEAgRXhlY0JSSW5zZXJ0VHJpZ2dlcnMoRVN0YXRlICplc3RhdGUsIFJlc3VsdFJl bEluZm8gKnJlbGluZm8sCiAJVHJpZ2dlckRlc2MgKnRyaWdkZXNjID0gcmVsaW5mby0+cmlf VHJpZ0Rlc2M7CiAJSGVhcFR1cGxlCW5ld3R1cGxlID0gTlVMTDsKIAlib29sCQlzaG91bGRf ZnJlZTsKLQlUcmlnZ2VyRGF0YSBMb2NUcmlnZ2VyRGF0YTsKKwlUcmlnZ2VyRGF0YSBMb2NU cmlnZ2VyRGF0YSA9IHswfTsKIAlpbnQJCQlpOwogCiAJTG9jVHJpZ2dlckRhdGEudHlwZSA9 IFRfVHJpZ2dlckRhdGE7CkBAIC0yNTM2LDEyICsyNTMwLDYgQEAgRXhlY0JSSW5zZXJ0VHJp Z2dlcnMoRVN0YXRlICplc3RhdGUsIFJlc3VsdFJlbEluZm8gKnJlbGluZm8sCiAJCVRSSUdH RVJfRVZFTlRfUk9XIHwKIAkJVFJJR0dFUl9FVkVOVF9CRUZPUkU7CiAJTG9jVHJpZ2dlckRh dGEudGdfcmVsYXRpb24gPSByZWxpbmZvLT5yaV9SZWxhdGlvbkRlc2M7Ci0JTG9jVHJpZ2dl ckRhdGEudGdfdHJpZ3R1cGxlID0gTlVMTDsKLQlMb2NUcmlnZ2VyRGF0YS50Z19uZXd0dXBs ZSA9IE5VTEw7Ci0JTG9jVHJpZ2dlckRhdGEudGdfdHJpZ3Nsb3QgPSBOVUxMOwotCUxvY1Ry aWdnZXJEYXRhLnRnX25ld3Nsb3QgPSBOVUxMOwotCUxvY1RyaWdnZXJEYXRhLnRnX29sZHRh YmxlID0gTlVMTDsKLQlMb2NUcmlnZ2VyRGF0YS50Z19uZXd0YWJsZSA9IE5VTEw7CiAJZm9y IChpID0gMDsgaSA8IHRyaWdkZXNjLT5udW10cmlnZ2VyczsgaSsrKQogCXsKIAkJVHJpZ2dl ciAgICAqdHJpZ2dlciA9ICZ0cmlnZGVzYy0+dHJpZ2dlcnNbaV07CkBAIC0yNjEwLDcgKzI1 OTgsNyBAQCBFeGVjSVJJbnNlcnRUcmlnZ2VycyhFU3RhdGUgKmVzdGF0ZSwgUmVzdWx0UmVs SW5mbyAqcmVsaW5mbywKIAlUcmlnZ2VyRGVzYyAqdHJpZ2Rlc2MgPSByZWxpbmZvLT5yaV9U cmlnRGVzYzsKIAlIZWFwVHVwbGUJbmV3dHVwbGUgPSBOVUxMOwogCWJvb2wJCXNob3VsZF9m cmVlOwotCVRyaWdnZXJEYXRhIExvY1RyaWdnZXJEYXRhOworCVRyaWdnZXJEYXRhIExvY1Ry aWdnZXJEYXRhID0gezB9OwogCWludAkJCWk7CiAKIAlMb2NUcmlnZ2VyRGF0YS50eXBlID0g VF9UcmlnZ2VyRGF0YTsKQEAgLTI2MTgsMTIgKzI2MDYsNiBAQCBFeGVjSVJJbnNlcnRUcmln Z2VycyhFU3RhdGUgKmVzdGF0ZSwgUmVzdWx0UmVsSW5mbyAqcmVsaW5mbywKIAkJVFJJR0dF Ul9FVkVOVF9ST1cgfAogCQlUUklHR0VSX0VWRU5UX0lOU1RFQUQ7CiAJTG9jVHJpZ2dlckRh dGEudGdfcmVsYXRpb24gPSByZWxpbmZvLT5yaV9SZWxhdGlvbkRlc2M7Ci0JTG9jVHJpZ2dl ckRhdGEudGdfdHJpZ3R1cGxlID0gTlVMTDsKLQlMb2NUcmlnZ2VyRGF0YS50Z19uZXd0dXBs ZSA9IE5VTEw7Ci0JTG9jVHJpZ2dlckRhdGEudGdfdHJpZ3Nsb3QgPSBOVUxMOwotCUxvY1Ry aWdnZXJEYXRhLnRnX25ld3Nsb3QgPSBOVUxMOwotCUxvY1RyaWdnZXJEYXRhLnRnX29sZHRh YmxlID0gTlVMTDsKLQlMb2NUcmlnZ2VyRGF0YS50Z19uZXd0YWJsZSA9IE5VTEw7CiAJZm9y IChpID0gMDsgaSA8IHRyaWdkZXNjLT5udW10cmlnZ2VyczsgaSsrKQogCXsKIAkJVHJpZ2dl ciAgICAqdHJpZ2dlciA9ICZ0cmlnZGVzYy0+dHJpZ2dlcnNbaV07CkBAIC0yNjc1LDcgKzI2 NTcsNyBAQCBFeGVjQlNEZWxldGVUcmlnZ2VycyhFU3RhdGUgKmVzdGF0ZSwgUmVzdWx0UmVs SW5mbyAqcmVsaW5mbykKIHsKIAlUcmlnZ2VyRGVzYyAqdHJpZ2Rlc2M7CiAJaW50CQkJaTsK LQlUcmlnZ2VyRGF0YSBMb2NUcmlnZ2VyRGF0YTsKKwlUcmlnZ2VyRGF0YSBMb2NUcmlnZ2Vy RGF0YSA9IHswfTsKIAogCXRyaWdkZXNjID0gcmVsaW5mby0+cmlfVHJpZ0Rlc2M7CiAKQEAg LTI2OTMsMTIgKzI2NzUsNiBAQCBFeGVjQlNEZWxldGVUcmlnZ2VycyhFU3RhdGUgKmVzdGF0 ZSwgUmVzdWx0UmVsSW5mbyAqcmVsaW5mbykKIAlMb2NUcmlnZ2VyRGF0YS50Z19ldmVudCA9 IFRSSUdHRVJfRVZFTlRfREVMRVRFIHwKIAkJVFJJR0dFUl9FVkVOVF9CRUZPUkU7CiAJTG9j VHJpZ2dlckRhdGEudGdfcmVsYXRpb24gPSByZWxpbmZvLT5yaV9SZWxhdGlvbkRlc2M7Ci0J TG9jVHJpZ2dlckRhdGEudGdfdHJpZ3R1cGxlID0gTlVMTDsKLQlMb2NUcmlnZ2VyRGF0YS50 Z19uZXd0dXBsZSA9IE5VTEw7Ci0JTG9jVHJpZ2dlckRhdGEudGdfdHJpZ3Nsb3QgPSBOVUxM OwotCUxvY1RyaWdnZXJEYXRhLnRnX25ld3Nsb3QgPSBOVUxMOwotCUxvY1RyaWdnZXJEYXRh LnRnX29sZHRhYmxlID0gTlVMTDsKLQlMb2NUcmlnZ2VyRGF0YS50Z19uZXd0YWJsZSA9IE5V TEw7CiAJZm9yIChpID0gMDsgaSA8IHRyaWdkZXNjLT5udW10cmlnZ2VyczsgaSsrKQogCXsK IAkJVHJpZ2dlciAgICAqdHJpZ2dlciA9ICZ0cmlnZGVzYy0+dHJpZ2dlcnNbaV07CkBAIC0y NzU1LDcgKzI3MzEsNyBAQCBFeGVjQlJEZWxldGVUcmlnZ2VycyhFU3RhdGUgKmVzdGF0ZSwg RVBRU3RhdGUgKmVwcXN0YXRlLAogCVR1cGxlVGFibGVTbG90ICpzbG90ID0gRXhlY0dldFRy aWdnZXJPbGRTbG90KGVzdGF0ZSwgcmVsaW5mbyk7CiAJVHJpZ2dlckRlc2MgKnRyaWdkZXNj ID0gcmVsaW5mby0+cmlfVHJpZ0Rlc2M7CiAJYm9vbAkJcmVzdWx0ID0gdHJ1ZTsKLQlUcmln Z2VyRGF0YSBMb2NUcmlnZ2VyRGF0YTsKKwlUcmlnZ2VyRGF0YSBMb2NUcmlnZ2VyRGF0YSA9 IHswfTsKIAlIZWFwVHVwbGUJdHJpZ3R1cGxlOwogCWJvb2wJCXNob3VsZF9mcmVlID0gZmFs c2U7CiAJaW50CQkJaTsKQEAgLTI3OTQsMTIgKzI3NzAsNiBAQCBFeGVjQlJEZWxldGVUcmln Z2VycyhFU3RhdGUgKmVzdGF0ZSwgRVBRU3RhdGUgKmVwcXN0YXRlLAogCQlUUklHR0VSX0VW RU5UX1JPVyB8CiAJCVRSSUdHRVJfRVZFTlRfQkVGT1JFOwogCUxvY1RyaWdnZXJEYXRhLnRn X3JlbGF0aW9uID0gcmVsaW5mby0+cmlfUmVsYXRpb25EZXNjOwotCUxvY1RyaWdnZXJEYXRh LnRnX3RyaWd0dXBsZSA9IE5VTEw7Ci0JTG9jVHJpZ2dlckRhdGEudGdfbmV3dHVwbGUgPSBO VUxMOwotCUxvY1RyaWdnZXJEYXRhLnRnX3RyaWdzbG90ID0gTlVMTDsKLQlMb2NUcmlnZ2Vy RGF0YS50Z19uZXdzbG90ID0gTlVMTDsKLQlMb2NUcmlnZ2VyRGF0YS50Z19vbGR0YWJsZSA9 IE5VTEw7Ci0JTG9jVHJpZ2dlckRhdGEudGdfbmV3dGFibGUgPSBOVUxMOwogCWZvciAoaSA9 IDA7IGkgPCB0cmlnZGVzYy0+bnVtdHJpZ2dlcnM7IGkrKykKIAl7CiAJCUhlYXBUdXBsZQlu ZXd0dXBsZTsKQEAgLTI4NzIsNyArMjg0Miw3IEBAIEV4ZWNJUkRlbGV0ZVRyaWdnZXJzKEVT dGF0ZSAqZXN0YXRlLCBSZXN1bHRSZWxJbmZvICpyZWxpbmZvLAogewogCVRyaWdnZXJEZXNj ICp0cmlnZGVzYyA9IHJlbGluZm8tPnJpX1RyaWdEZXNjOwogCVR1cGxlVGFibGVTbG90ICpz bG90ID0gRXhlY0dldFRyaWdnZXJPbGRTbG90KGVzdGF0ZSwgcmVsaW5mbyk7Ci0JVHJpZ2dl ckRhdGEgTG9jVHJpZ2dlckRhdGE7CisJVHJpZ2dlckRhdGEgTG9jVHJpZ2dlckRhdGEgPSB7 MH07CiAJaW50CQkJaTsKIAogCUxvY1RyaWdnZXJEYXRhLnR5cGUgPSBUX1RyaWdnZXJEYXRh OwpAQCAtMjg4MCwxMiArMjg1MCw2IEBAIEV4ZWNJUkRlbGV0ZVRyaWdnZXJzKEVTdGF0ZSAq ZXN0YXRlLCBSZXN1bHRSZWxJbmZvICpyZWxpbmZvLAogCQlUUklHR0VSX0VWRU5UX1JPVyB8 CiAJCVRSSUdHRVJfRVZFTlRfSU5TVEVBRDsKIAlMb2NUcmlnZ2VyRGF0YS50Z19yZWxhdGlv biA9IHJlbGluZm8tPnJpX1JlbGF0aW9uRGVzYzsKLQlMb2NUcmlnZ2VyRGF0YS50Z190cmln dHVwbGUgPSBOVUxMOwotCUxvY1RyaWdnZXJEYXRhLnRnX25ld3R1cGxlID0gTlVMTDsKLQlM b2NUcmlnZ2VyRGF0YS50Z190cmlnc2xvdCA9IE5VTEw7Ci0JTG9jVHJpZ2dlckRhdGEudGdf bmV3c2xvdCA9IE5VTEw7Ci0JTG9jVHJpZ2dlckRhdGEudGdfb2xkdGFibGUgPSBOVUxMOwot CUxvY1RyaWdnZXJEYXRhLnRnX25ld3RhYmxlID0gTlVMTDsKIAogCUV4ZWNGb3JjZVN0b3Jl SGVhcFR1cGxlKHRyaWd0dXBsZSwgc2xvdCwgZmFsc2UpOwogCkBAIC0yOTI0LDcgKzI4ODgs NyBAQCBFeGVjQlNVcGRhdGVUcmlnZ2VycyhFU3RhdGUgKmVzdGF0ZSwgUmVzdWx0UmVsSW5m byAqcmVsaW5mbykKIHsKIAlUcmlnZ2VyRGVzYyAqdHJpZ2Rlc2M7CiAJaW50CQkJaTsKLQlU cmlnZ2VyRGF0YSBMb2NUcmlnZ2VyRGF0YTsKKwlUcmlnZ2VyRGF0YSBMb2NUcmlnZ2VyRGF0 YSA9IHswfTsKIAlCaXRtYXBzZXQgICp1cGRhdGVkQ29sczsKIAogCXRyaWdkZXNjID0gcmVs aW5mby0+cmlfVHJpZ0Rlc2M7CkBAIC0yOTQ1LDEyICsyOTA5LDYgQEAgRXhlY0JTVXBkYXRl VHJpZ2dlcnMoRVN0YXRlICplc3RhdGUsIFJlc3VsdFJlbEluZm8gKnJlbGluZm8pCiAJTG9j VHJpZ2dlckRhdGEudGdfZXZlbnQgPSBUUklHR0VSX0VWRU5UX1VQREFURSB8CiAJCVRSSUdH RVJfRVZFTlRfQkVGT1JFOwogCUxvY1RyaWdnZXJEYXRhLnRnX3JlbGF0aW9uID0gcmVsaW5m by0+cmlfUmVsYXRpb25EZXNjOwotCUxvY1RyaWdnZXJEYXRhLnRnX3RyaWd0dXBsZSA9IE5V TEw7Ci0JTG9jVHJpZ2dlckRhdGEudGdfbmV3dHVwbGUgPSBOVUxMOwotCUxvY1RyaWdnZXJE YXRhLnRnX3RyaWdzbG90ID0gTlVMTDsKLQlMb2NUcmlnZ2VyRGF0YS50Z19uZXdzbG90ID0g TlVMTDsKLQlMb2NUcmlnZ2VyRGF0YS50Z19vbGR0YWJsZSA9IE5VTEw7Ci0JTG9jVHJpZ2dl ckRhdGEudGdfbmV3dGFibGUgPSBOVUxMOwogCWZvciAoaSA9IDA7IGkgPCB0cmlnZGVzYy0+ bnVtdHJpZ2dlcnM7IGkrKykKIAl7CiAJCVRyaWdnZXIgICAgKnRyaWdnZXIgPSAmdHJpZ2Rl c2MtPnRyaWdnZXJzW2ldOwpAQCAtMzAwNSw3ICsyOTYzLDcgQEAgRXhlY0JSVXBkYXRlVHJp Z2dlcnMoRVN0YXRlICplc3RhdGUsIEVQUVN0YXRlICplcHFzdGF0ZSwKIAlIZWFwVHVwbGUJ dHJpZ3R1cGxlOwogCWJvb2wJCXNob3VsZF9mcmVlX3RyaWcgPSBmYWxzZTsKIAlib29sCQlz aG91bGRfZnJlZV9uZXcgPSBmYWxzZTsKLQlUcmlnZ2VyRGF0YSBMb2NUcmlnZ2VyRGF0YTsK KwlUcmlnZ2VyRGF0YSBMb2NUcmlnZ2VyRGF0YSA9IHswfTsKIAlpbnQJCQlpOwogCUJpdG1h cHNldCAgKnVwZGF0ZWRDb2xzOwogCUxvY2tUdXBsZU1vZGUgbG9ja21vZGU7CkBAIC0zMDU4 LDggKzMwMTYsNiBAQCBFeGVjQlJVcGRhdGVUcmlnZ2VycyhFU3RhdGUgKmVzdGF0ZSwgRVBR U3RhdGUgKmVwcXN0YXRlLAogCQlUUklHR0VSX0VWRU5UX1JPVyB8CiAJCVRSSUdHRVJfRVZF TlRfQkVGT1JFOwogCUxvY1RyaWdnZXJEYXRhLnRnX3JlbGF0aW9uID0gcmVsaW5mby0+cmlf UmVsYXRpb25EZXNjOwotCUxvY1RyaWdnZXJEYXRhLnRnX29sZHRhYmxlID0gTlVMTDsKLQlM b2NUcmlnZ2VyRGF0YS50Z19uZXd0YWJsZSA9IE5VTEw7CiAJdXBkYXRlZENvbHMgPSBHZXRB bGxVcGRhdGVkQ29sdW1ucyhyZWxpbmZvLCBlc3RhdGUpOwogCWZvciAoaSA9IDA7IGkgPCB0 cmlnZGVzYy0+bnVtdHJpZ2dlcnM7IGkrKykKIAl7CkBAIC0zMTczLDcgKzMxMjksNyBAQCBF eGVjSVJVcGRhdGVUcmlnZ2VycyhFU3RhdGUgKmVzdGF0ZSwgUmVzdWx0UmVsSW5mbyAqcmVs aW5mbywKIAlUdXBsZVRhYmxlU2xvdCAqb2xkc2xvdCA9IEV4ZWNHZXRUcmlnZ2VyT2xkU2xv dChlc3RhdGUsIHJlbGluZm8pOwogCUhlYXBUdXBsZQluZXd0dXBsZSA9IE5VTEw7CiAJYm9v bAkJc2hvdWxkX2ZyZWU7Ci0JVHJpZ2dlckRhdGEgTG9jVHJpZ2dlckRhdGE7CisJVHJpZ2dl ckRhdGEgTG9jVHJpZ2dlckRhdGEgPSB7MH07CiAJaW50CQkJaTsKIAogCUxvY1RyaWdnZXJE YXRhLnR5cGUgPSBUX1RyaWdnZXJEYXRhOwpAQCAtMzE4MSw4ICszMTM3LDYgQEAgRXhlY0lS VXBkYXRlVHJpZ2dlcnMoRVN0YXRlICplc3RhdGUsIFJlc3VsdFJlbEluZm8gKnJlbGluZm8s CiAJCVRSSUdHRVJfRVZFTlRfUk9XIHwKIAkJVFJJR0dFUl9FVkVOVF9JTlNURUFEOwogCUxv Y1RyaWdnZXJEYXRhLnRnX3JlbGF0aW9uID0gcmVsaW5mby0+cmlfUmVsYXRpb25EZXNjOwot CUxvY1RyaWdnZXJEYXRhLnRnX29sZHRhYmxlID0gTlVMTDsKLQlMb2NUcmlnZ2VyRGF0YS50 Z19uZXd0YWJsZSA9IE5VTEw7CiAKIAlFeGVjRm9yY2VTdG9yZUhlYXBUdXBsZSh0cmlndHVw bGUsIG9sZHNsb3QsIGZhbHNlKTsKIApAQCAtMzIzOCw3ICszMTkyLDcgQEAgRXhlY0JTVHJ1 bmNhdGVUcmlnZ2VycyhFU3RhdGUgKmVzdGF0ZSwgUmVzdWx0UmVsSW5mbyAqcmVsaW5mbykK IHsKIAlUcmlnZ2VyRGVzYyAqdHJpZ2Rlc2M7CiAJaW50CQkJaTsKLQlUcmlnZ2VyRGF0YSBM b2NUcmlnZ2VyRGF0YTsKKwlUcmlnZ2VyRGF0YSBMb2NUcmlnZ2VyRGF0YSA9IHswfTsKIAog CXRyaWdkZXNjID0gcmVsaW5mby0+cmlfVHJpZ0Rlc2M7CiAKQEAgLTMyNTEsMTIgKzMyMDUs NiBAQCBFeGVjQlNUcnVuY2F0ZVRyaWdnZXJzKEVTdGF0ZSAqZXN0YXRlLCBSZXN1bHRSZWxJ bmZvICpyZWxpbmZvKQogCUxvY1RyaWdnZXJEYXRhLnRnX2V2ZW50ID0gVFJJR0dFUl9FVkVO VF9UUlVOQ0FURSB8CiAJCVRSSUdHRVJfRVZFTlRfQkVGT1JFOwogCUxvY1RyaWdnZXJEYXRh LnRnX3JlbGF0aW9uID0gcmVsaW5mby0+cmlfUmVsYXRpb25EZXNjOwotCUxvY1RyaWdnZXJE YXRhLnRnX3RyaWd0dXBsZSA9IE5VTEw7Ci0JTG9jVHJpZ2dlckRhdGEudGdfbmV3dHVwbGUg PSBOVUxMOwotCUxvY1RyaWdnZXJEYXRhLnRnX3RyaWdzbG90ID0gTlVMTDsKLQlMb2NUcmln Z2VyRGF0YS50Z19uZXdzbG90ID0gTlVMTDsKLQlMb2NUcmlnZ2VyRGF0YS50Z19vbGR0YWJs ZSA9IE5VTEw7Ci0JTG9jVHJpZ2dlckRhdGEudGdfbmV3dGFibGUgPSBOVUxMOwogCiAJZm9y IChpID0gMDsgaSA8IHRyaWdkZXNjLT5udW10cmlnZ2VyczsgaSsrKQogCXsKQEAgLTQxODIs NyArNDEzMCw3IEBAIEFmdGVyVHJpZ2dlckV4ZWN1dGUoRVN0YXRlICplc3RhdGUsCiAJUmVs YXRpb24JcmVsID0gcmVsSW5mby0+cmlfUmVsYXRpb25EZXNjOwogCUFmdGVyVHJpZ2dlclNo YXJlZCBldnRzaGFyZWQgPSBHZXRUcmlnZ2VyU2hhcmVkRGF0YShldmVudCk7CiAJT2lkCQkJ dGdvaWQgPSBldnRzaGFyZWQtPmF0c190Z29pZDsKLQlUcmlnZ2VyRGF0YSBMb2NUcmlnZ2Vy RGF0YTsKKwlUcmlnZ2VyRGF0YSBMb2NUcmlnZ2VyRGF0YSA9IHswfTsKIAlIZWFwVHVwbGUJ cmV0dHVwbGU7CiAJaW50CQkJdGdpbmR4OwogCWJvb2wJCXNob3VsZF9mcmVlX3RyaWcgPSBm YWxzZTsKQEAgLTQxOTEsMTAgKzQxMzksNiBAQCBBZnRlclRyaWdnZXJFeGVjdXRlKEVTdGF0 ZSAqZXN0YXRlLAogCS8qCiAJICogTG9jYXRlIHRyaWdnZXIgaW4gdHJpZ2Rlc2MuCiAJICov Ci0JTG9jVHJpZ2dlckRhdGEudGdfdHJpZ2dlciA9IE5VTEw7Ci0JTG9jVHJpZ2dlckRhdGEu dGdfdHJpZ3Nsb3QgPSBOVUxMOwotCUxvY1RyaWdnZXJEYXRhLnRnX25ld3Nsb3QgPSBOVUxM OwotCiAJZm9yICh0Z2luZHggPSAwOyB0Z2luZHggPCB0cmlnZGVzYy0+bnVtdHJpZ2dlcnM7 IHRnaW5keCsrKQogCXsKIAkJaWYgKHRyaWdkZXNjLT50cmlnZ2Vyc1t0Z2luZHhdLnRnb2lk ID09IHRnb2lkKQotLSAKMi4yNS4wCgo= --------------F3FF1B1C0AB52C67472DBBE9 Content-Type: text/plain; charset=UTF-8; x-mac-type="0"; x-mac-creator="0"; name="0002-Add-tg_updatedcols-to-TriggerData.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="0002-Add-tg_updatedcols-to-TriggerData.patch" RnJvbSBhNzEzYTgzMWM0NjRjZDYyOWZmYzlkODYyNzE5OWI5YWI4OGE0MWJhIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBFaXNlbnRyYXV0IDxwZXRlckBlaXNlbnRy YXV0Lm9yZz4KRGF0ZTogTW9uLCAyNCBGZWIgMjAyMCAxMDoxMjoxMCArMDEwMApTdWJqZWN0 OiBbUEFUQ0ggMi8yXSBBZGQgdGdfdXBkYXRlZGNvbHMgdG8gVHJpZ2dlckRhdGEKClRoaXMg YWxsb3dzIGEgdHJpZ2dlciBmdW5jdGlvbiB0byBkZXRlcm1pbmUgZm9yIGFuIFVQREFURSB0 cmlnZ2VyCndoaWNoIGNvbHVtbnMgd2VyZSBhY3R1YWxseSB1cGRhdGVkLiAgVGhpcyBhbGxv d3Mgc29tZSBvcHRpbWl6YXRpb25zCmluIGdlbmVyaWMgdHJpZ2dlciBmdW5jdGlvbnMgc3Vj aCBhcyBsb19tYW5hZ2UgYW5kCnRzdmVjdG9yX3VwZGF0ZV90cmlnZ2VyLgotLS0KIGNvbnRy aWIvbG8vbG8uYyAgICAgICAgICAgICAgICAgICAgIHwgIDMgKystCiBkb2Mvc3JjL3NnbWwv dHJpZ2dlci5zZ21sICAgICAgICAgICB8IDIwICsrKysrKysrKysrKysrKysrKysrCiBzcmMv YmFja2VuZC9jb21tYW5kcy90cmlnZ2VyLmMgICAgICB8ICA2ICsrKysrKwogc3JjL2JhY2tl bmQvdXRpbHMvYWR0L3RzdmVjdG9yX29wLmMgfCAyOSArKysrKysrKysrKysrKysrKysrKyst LS0tLS0tLQogc3JjL2luY2x1ZGUvY29tbWFuZHMvdHJpZ2dlci5oICAgICAgfCAgMSArCiA1 IGZpbGVzIGNoYW5nZWQsIDUwIGluc2VydGlvbnMoKyksIDkgZGVsZXRpb25zKC0pCgpkaWZm IC0tZ2l0IGEvY29udHJpYi9sby9sby5jIGIvY29udHJpYi9sby9sby5jCmluZGV4IDQ1ODU5 MjNlZTIuLmI5ODQ3MDgxZGIgMTAwNjQ0Ci0tLSBhL2NvbnRyaWIvbG8vbG8uYworKysgYi9j b250cmliL2xvL2xvLmMKQEAgLTc0LDcgKzc0LDggQEAgbG9fbWFuYWdlKFBHX0ZVTkNUSU9O X0FSR1MpCiAJICogSGVyZSwgaWYgdGhlIHZhbHVlIG9mIHRoZSBtb25pdG9yZWQgYXR0cmli dXRlIGNoYW5nZXMsIHRoZW4gdGhlIGxhcmdlCiAJICogb2JqZWN0IGFzc29jaWF0ZWQgd2l0 aCB0aGUgb3JpZ2luYWwgdmFsdWUgaXMgdW5saW5rZWQuCiAJICovCi0JaWYgKG5ld3R1cGxl ICE9IE5VTEwpCisJaWYgKG5ld3R1cGxlICE9IE5VTEwgJiYKKwkJYm1zX2lzX21lbWJlcihh dHRudW0gLSBGaXJzdExvd0ludmFsaWRIZWFwQXR0cmlidXRlTnVtYmVyLCB0cmlnZGF0YS0+ dGdfdXBkYXRlZGNvbHMpKQogCXsKIAkJY2hhcgkgICAqb3JpZyA9IFNQSV9nZXR2YWx1ZSh0 cmlndHVwbGUsIHR1cGRlc2MsIGF0dG51bSk7CiAJCWNoYXIJICAgKm5ld3YgPSBTUElfZ2V0 dmFsdWUobmV3dHVwbGUsIHR1cGRlc2MsIGF0dG51bSk7CmRpZmYgLS1naXQgYS9kb2Mvc3Jj L3NnbWwvdHJpZ2dlci5zZ21sIGIvZG9jL3NyYy9zZ21sL3RyaWdnZXIuc2dtbAppbmRleCBi YTk0YWNhZDY5Li5iZGE3ODY2ZWNiIDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvdHJpZ2dl ci5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC90cmlnZ2VyLnNnbWwKQEAgLTUxNSw2ICs1MTUs NyBAQCA8dGl0bGU+V3JpdGluZyBUcmlnZ2VyIEZ1bmN0aW9ucyBpbiBDPC90aXRsZT4KICAg ICBUdXBsZVRhYmxlU2xvdCAgKnRnX25ld3Nsb3Q7CiAgICAgVHVwbGVzdG9yZXN0YXRlICp0 Z19vbGR0YWJsZTsKICAgICBUdXBsZXN0b3Jlc3RhdGUgKnRnX25ld3RhYmxlOworICAgIGNv bnN0IEJpdG1hcHNldCAqdGdfdXBkYXRlZGNvbHM7CiB9IFRyaWdnZXJEYXRhOwogPC9wcm9n cmFtbGlzdGluZz4KIApAQCAtNzU3LDYgKzc1OCwyNSBAQCA8dGl0bGU+V3JpdGluZyBUcmln Z2VyIEZ1bmN0aW9ucyBpbiBDPC90aXRsZT4KICAgICAgIDwvbGlzdGl0ZW0+CiAgICAgIDwv dmFybGlzdGVudHJ5PgogCisgICAgIDx2YXJsaXN0ZW50cnk+CisgICAgICA8dGVybT48c3Ry dWN0ZmllbGQ+dGdfdXBkYXRlZGNvbHM8L3N0cnVjdGZpZWxkPjwvdGVybT4KKyAgICAgIDxs aXN0aXRlbT4KKyAgICAgICA8cGFyYT4KKyAgICAgICAgRm9yIDxsaXRlcmFsPlVQREFURTwv bGl0ZXJhbD4gdHJpZ2dlcnMsIGEgYml0bWFwIHNldCBpbmRpY2F0aW5nIHRoZQorICAgICAg ICBjb2x1bW5zIHRoYXQgd2VyZSB1cGRhdGVkIGJ5IHRoZSB0cmlnZ2VyaW5nIGNvbW1hbmQu ICBHZW5lcmljIHRyaWdnZXIKKyAgICAgICAgZnVuY3Rpb25zIGNhbiB1c2UgdGhpcyB0byBv cHRpbWl6ZSBhY3Rpb25zIGJ5IG5vdCBoYXZpbmcgdG8gZGVhbCB3aXRoCisgICAgICAgIGNv bHVtbnMgdGhhdCB3ZXJlIG5vdCBjaGFuZ2VkLgorICAgICAgIDwvcGFyYT4KKworICAgICAg IDxwYXJhPgorICAgICAgICBBcyBhbiBleGFtcGxlLCB0byBkZXRlcm1pbmUgd2hldGhlciBh IGNvbHVtbiB3aXRoIGF0dHJpYnV0ZSBudW1iZXIKKyAgICAgICAgPHZhcm5hbWU+YXR0bnVt PC92YXJuYW1lPiAoMS1iYXNlZCkgaXMgYSBtZW1iZXIgb2YgdGhpcyBiaXRtYXAgc2V0LAor ICAgICAgICBjYWxsIDxsaXRlcmFsPmJtc19pc19tZW1iZXIoYXR0bnVtIC0KKyAgICAgICAg Rmlyc3RMb3dJbnZhbGlkSGVhcEF0dHJpYnV0ZU51bWJlciwKKyAgICAgICAgdHJpZ2RhdGEt PnRnX3VwZGF0ZWRjb2xzKSk8L2xpdGVyYWw+LgorICAgICAgIDwvcGFyYT4KKyAgICAgIDwv bGlzdGl0ZW0+CisgICAgIDwvdmFybGlzdGVudHJ5PgogICAgIDwvdmFyaWFibGVsaXN0Pgog ICAgPC9wYXJhPgogCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jb21tYW5kcy90cmlnZ2Vy LmMgYi9zcmMvYmFja2VuZC9jb21tYW5kcy90cmlnZ2VyLmMKaW5kZXggMjY1OTM1NzZmZC4u OWJiNWFmYzhkOSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvdHJpZ2dlci5j CisrKyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3RyaWdnZXIuYwpAQCAtMjkwOSw2ICsyOTA5 LDcgQEAgRXhlY0JTVXBkYXRlVHJpZ2dlcnMoRVN0YXRlICplc3RhdGUsIFJlc3VsdFJlbElu Zm8gKnJlbGluZm8pCiAJTG9jVHJpZ2dlckRhdGEudGdfZXZlbnQgPSBUUklHR0VSX0VWRU5U X1VQREFURSB8CiAJCVRSSUdHRVJfRVZFTlRfQkVGT1JFOwogCUxvY1RyaWdnZXJEYXRhLnRn X3JlbGF0aW9uID0gcmVsaW5mby0+cmlfUmVsYXRpb25EZXNjOworCUxvY1RyaWdnZXJEYXRh LnRnX3VwZGF0ZWRjb2xzID0gdXBkYXRlZENvbHM7CiAJZm9yIChpID0gMDsgaSA8IHRyaWdk ZXNjLT5udW10cmlnZ2VyczsgaSsrKQogCXsKIAkJVHJpZ2dlciAgICAqdHJpZ2dlciA9ICZ0 cmlnZGVzYy0+dHJpZ2dlcnNbaV07CkBAIC0zMDE3LDYgKzMwMTgsNyBAQCBFeGVjQlJVcGRh dGVUcmlnZ2VycyhFU3RhdGUgKmVzdGF0ZSwgRVBRU3RhdGUgKmVwcXN0YXRlLAogCQlUUklH R0VSX0VWRU5UX0JFRk9SRTsKIAlMb2NUcmlnZ2VyRGF0YS50Z19yZWxhdGlvbiA9IHJlbGlu Zm8tPnJpX1JlbGF0aW9uRGVzYzsKIAl1cGRhdGVkQ29scyA9IEdldEFsbFVwZGF0ZWRDb2x1 bW5zKHJlbGluZm8sIGVzdGF0ZSk7CisJTG9jVHJpZ2dlckRhdGEudGdfdXBkYXRlZGNvbHMg PSB1cGRhdGVkQ29sczsKIAlmb3IgKGkgPSAwOyBpIDwgdHJpZ2Rlc2MtPm51bXRyaWdnZXJz OyBpKyspCiAJewogCQlUcmlnZ2VyICAgICp0cmlnZ2VyID0gJnRyaWdkZXNjLT50cmlnZ2Vy c1tpXTsKQEAgLTM1NzMsNiArMzU3NSw3IEBAIHR5cGVkZWYgc3RydWN0IEFmdGVyVHJpZ2dl clNoYXJlZERhdGEKIAlPaWQJCQlhdHNfcmVsaWQ7CQkvKiB0aGUgcmVsYXRpb24gaXQncyBv biAqLwogCUNvbW1hbmRJZAlhdHNfZmlyaW5nX2lkOwkvKiBJRCBmb3IgZmlyaW5nIGN5Y2xl ICovCiAJc3RydWN0IEFmdGVyVHJpZ2dlcnNUYWJsZURhdGEgKmF0c190YWJsZTsJLyogdHJh bnNpdGlvbiB0YWJsZSBhY2Nlc3MgKi8KKwlCaXRtYXBzZXQgICphdHNfbW9kaWZpZWRjb2xz OwkvKiBtb2RpZmllZCBjb2x1bW5zICovCiB9IEFmdGVyVHJpZ2dlclNoYXJlZERhdGE7CiAK IHR5cGVkZWYgc3RydWN0IEFmdGVyVHJpZ2dlckV2ZW50RGF0YSAqQWZ0ZXJUcmlnZ2VyRXZl bnQ7CkBAIC00MjcyLDYgKzQyNzUsOCBAQCBBZnRlclRyaWdnZXJFeGVjdXRlKEVTdGF0ZSAq ZXN0YXRlLAogCUxvY1RyaWdnZXJEYXRhLnRnX2V2ZW50ID0KIAkJZXZ0c2hhcmVkLT5hdHNf ZXZlbnQgJiAoVFJJR0dFUl9FVkVOVF9PUE1BU0sgfCBUUklHR0VSX0VWRU5UX1JPVyk7CiAJ TG9jVHJpZ2dlckRhdGEudGdfcmVsYXRpb24gPSByZWw7CisJaWYgKFRSSUdHRVJfRk9SX1VQ REFURShMb2NUcmlnZ2VyRGF0YS50Z190cmlnZ2VyLT50Z3R5cGUpKQorCQlMb2NUcmlnZ2Vy RGF0YS50Z191cGRhdGVkY29scyA9IGV2dHNoYXJlZC0+YXRzX21vZGlmaWVkY29sczsKIAog CU1lbW9yeUNvbnRleHRSZXNldChwZXJfdHVwbGVfY29udGV4dCk7CiAKQEAgLTU5NTksNiAr NTk2NCw3IEBAIEFmdGVyVHJpZ2dlclNhdmVFdmVudChFU3RhdGUgKmVzdGF0ZSwgUmVzdWx0 UmVsSW5mbyAqcmVsaW5mbywKIAkJCW5ld19zaGFyZWQuYXRzX3RhYmxlID0gdHJhbnNpdGlv bl9jYXB0dXJlLT50Y3NfcHJpdmF0ZTsKIAkJZWxzZQogCQkJbmV3X3NoYXJlZC5hdHNfdGFi bGUgPSBOVUxMOworCQluZXdfc2hhcmVkLmF0c19tb2RpZmllZGNvbHMgPSBtb2RpZmllZENv bHM7CiAKIAkJYWZ0ZXJUcmlnZ2VyQWRkRXZlbnQoJmFmdGVyVHJpZ2dlcnMucXVlcnlfc3Rh Y2tbYWZ0ZXJUcmlnZ2Vycy5xdWVyeV9kZXB0aF0uZXZlbnRzLAogCQkJCQkJCSAmbmV3X2V2 ZW50LCAmbmV3X3NoYXJlZCk7CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9hZHQv dHN2ZWN0b3Jfb3AuYyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC90c3ZlY3Rvcl9vcC5jCmlu ZGV4IGNhYjY4NzRlNzAuLjc4NDEzMmFlY2YgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0 aWxzL2FkdC90c3ZlY3Rvcl9vcC5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC90c3Zl Y3Rvcl9vcC5jCkBAIC0yNDE2LDYgKzI0MTYsNyBAQCB0c3ZlY3Rvcl91cGRhdGVfdHJpZ2dl cihQR19GVU5DVElPTl9BUkdTLCBib29sIGNvbmZpZ19jb2x1bW4pCiAJYm9vbAkJaXNudWxs OwogCXRleHQJICAgKnR4dDsKIAlPaWQJCQljZmdJZDsKKwlib29sCQl1cGRhdGVfbmVlZGVk OwogCiAJLyogQ2hlY2sgY2FsbCBjb250ZXh0ICovCiAJaWYgKCFDQUxMRURfQVNfVFJJR0dF UihmY2luZm8pKSAvKiBpbnRlcm5hbCBlcnJvciAqLwpAQCAtMjQyOCw5ICsyNDI5LDE1IEBA IHRzdmVjdG9yX3VwZGF0ZV90cmlnZ2VyKFBHX0ZVTkNUSU9OX0FSR1MsIGJvb2wgY29uZmln X2NvbHVtbikKIAkJZWxvZyhFUlJPUiwgInRzdmVjdG9yX3VwZGF0ZV90cmlnZ2VyOiBtdXN0 IGJlIGZpcmVkIEJFRk9SRSBldmVudCIpOwogCiAJaWYgKFRSSUdHRVJfRklSRURfQllfSU5T RVJUKHRyaWdkYXRhLT50Z19ldmVudCkpCisJewogCQlyZXR0dXBsZSA9IHRyaWdkYXRhLT50 Z190cmlndHVwbGU7CisJCXVwZGF0ZV9uZWVkZWQgPSB0cnVlOworCX0KIAllbHNlIGlmIChU UklHR0VSX0ZJUkVEX0JZX1VQREFURSh0cmlnZGF0YS0+dGdfZXZlbnQpKQorCXsKIAkJcmV0 dHVwbGUgPSB0cmlnZGF0YS0+dGdfbmV3dHVwbGU7CisJCXVwZGF0ZV9uZWVkZWQgPSBmYWxz ZTsJLyogY29tcHV0ZWQgYmVsb3cgKi8KKwl9CiAJZWxzZQogCQllbG9nKEVSUk9SLCAidHN2 ZWN0b3JfdXBkYXRlX3RyaWdnZXI6IG11c3QgYmUgZmlyZWQgZm9yIElOU0VSVCBvciBVUERB VEUiKTsKIApAQCAtMjUxOCw2ICsyNTI1LDkgQEAgdHN2ZWN0b3JfdXBkYXRlX3RyaWdnZXIo UEdfRlVOQ1RJT05fQVJHUywgYm9vbCBjb25maWdfY29sdW1uKQogCQkJCQkgZXJybXNnKCJj b2x1bW4gXCIlc1wiIGlzIG5vdCBvZiBhIGNoYXJhY3RlciB0eXBlIiwKIAkJCQkJCQl0cmln Z2VyLT50Z2FyZ3NbaV0pKSk7CiAKKwkJaWYgKGJtc19pc19tZW1iZXIobnVtYXR0ciAtIEZp cnN0TG93SW52YWxpZEhlYXBBdHRyaWJ1dGVOdW1iZXIsIHRyaWdkYXRhLT50Z191cGRhdGVk Y29scykpCisJCQl1cGRhdGVfbmVlZGVkID0gdHJ1ZTsKKwogCQlkYXR1bSA9IFNQSV9nZXRi aW52YWwocmV0dHVwbGUsIHJlbC0+cmRfYXR0LCBudW1hdHRyLCAmaXNudWxsKTsKIAkJaWYg KGlzbnVsbCkKIAkJCWNvbnRpbnVlOwpAQCAtMjUzMCwxNiArMjU0MCwxOSBAQCB0c3ZlY3Rv cl91cGRhdGVfdHJpZ2dlcihQR19GVU5DVElPTl9BUkdTLCBib29sIGNvbmZpZ19jb2x1bW4p CiAJCQlwZnJlZSh0eHQpOwogCX0KIAotCS8qIG1ha2UgdHN2ZWN0b3IgdmFsdWUgKi8KLQlk YXR1bSA9IFRTVmVjdG9yR2V0RGF0dW0obWFrZV90c3ZlY3RvcigmcHJzKSk7Ci0JaXNudWxs ID0gZmFsc2U7CisJaWYgKHVwZGF0ZV9uZWVkZWQpCisJeworCQkvKiBtYWtlIHRzdmVjdG9y IHZhbHVlICovCisJCWRhdHVtID0gVFNWZWN0b3JHZXREYXR1bShtYWtlX3RzdmVjdG9yKCZw cnMpKTsKKwkJaXNudWxsID0gZmFsc2U7CiAKLQkvKiBhbmQgaW5zZXJ0IGl0IGludG8gdHVw bGUgKi8KLQlyZXR0dXBsZSA9IGhlYXBfbW9kaWZ5X3R1cGxlX2J5X2NvbHMocmV0dHVwbGUs IHJlbC0+cmRfYXR0LAotCQkJCQkJCQkJCSAxLCAmdHN2ZWN0b3JfYXR0cl9udW0sCi0JCQkJ CQkJCQkJICZkYXR1bSwgJmlzbnVsbCk7CisJCS8qIGFuZCBpbnNlcnQgaXQgaW50byB0dXBs ZSAqLworCQlyZXR0dXBsZSA9IGhlYXBfbW9kaWZ5X3R1cGxlX2J5X2NvbHMocmV0dHVwbGUs IHJlbC0+cmRfYXR0LAorCQkJCQkJCQkJCQkgMSwgJnRzdmVjdG9yX2F0dHJfbnVtLAorCQkJ CQkJCQkJCQkgJmRhdHVtLCAmaXNudWxsKTsKIAotCXBmcmVlKERhdHVtR2V0UG9pbnRlcihk YXR1bSkpOworCQlwZnJlZShEYXR1bUdldFBvaW50ZXIoZGF0dW0pKTsKKwl9CiAKIAlyZXR1 cm4gUG9pbnRlckdldERhdHVtKHJldHR1cGxlKTsKIH0KZGlmZiAtLWdpdCBhL3NyYy9pbmNs dWRlL2NvbW1hbmRzL3RyaWdnZXIuaCBiL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3RyaWdnZXIu aAppbmRleCA1ZDY5MTkyNjQzLi5hNDBkZGY1ZGI1IDEwMDY0NAotLS0gYS9zcmMvaW5jbHVk ZS9jb21tYW5kcy90cmlnZ2VyLmgKKysrIGIvc3JjL2luY2x1ZGUvY29tbWFuZHMvdHJpZ2dl ci5oCkBAIC0zOSw2ICszOSw3IEBAIHR5cGVkZWYgc3RydWN0IFRyaWdnZXJEYXRhCiAJVHVw bGVUYWJsZVNsb3QgKnRnX25ld3Nsb3Q7CiAJVHVwbGVzdG9yZXN0YXRlICp0Z19vbGR0YWJs ZTsKIAlUdXBsZXN0b3Jlc3RhdGUgKnRnX25ld3RhYmxlOworCWNvbnN0IEJpdG1hcHNldCAq dGdfdXBkYXRlZGNvbHM7CiB9IFRyaWdnZXJEYXRhOwogCiAvKgotLSAKMi4yNS4wCgo= --------------F3FF1B1C0AB52C67472DBBE9--