<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>237292</bug_id>
          
          <creation_ts>2022-02-28 15:00:02 -0800</creation_ts>
          <short_desc>[GTK] setDragImage ignores offset</short_desc>
          <delta_ts>2022-03-02 07:24:53 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKitGTK</component>
          <version>Other</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Gtk</keywords>
          <priority>P3</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Per Bothner">per</reporter>
          <assigned_to name="Michael Catanzaro">mcatanzaro</assigned_to>
          <cc>bugs-noreply</cc>
    
    <cc>cgarcia</cc>
    
    <cc>mcatanzaro</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1846795</commentid>
    <comment_count>0</comment_count>
      <attachid>453436</attachid>
    <who name="Per Bothner">per</who>
    <bug_when>2022-02-28 15:00:02 -0800</bug_when>
    <thetext>Created attachment 453436
test of setDragImage offset

WebKitGtk (Epiphany/Gnome Web and Wry, tested on Fedora 35, updated) seem to ignore the xOffset/yOffset parameters passed to setDragImage.
The strange thing is that Safari works (tested on Catalina, updated) - and both report version 605.1.15.
FireFox and Google Chrome work as expected.

To reproduce, view the attached file in a browser. Do a mousedown over the word &quot;here&quot; and then drag the mouse without releasing.
A drag image is created of the &quot;Drag here&quot;+&quot;Lower contents&quot; elements, and follows the mouse as expected.
However, the image of the word &quot;here&quot; is supposed to be under the mouse cursor.
Instead the drag image is displaced so the center of the drag image is under the mouse cursor.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1847110</commentid>
    <comment_count>1</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2022-03-01 11:18:49 -0800</bug_when>
    <thetext>Looks like we need to somehow plumb the coordinates from WebCore::DataTransfer::updateDragImage and WebCore::DataTransfer::createDragImage, where they&apos;re available, to WebKit::DragSource::begin (both GTK 3 and GTK 4 versions), where they&apos;re needed but don&apos;t seem to be available. The GTK 3 version uses cairo_surface_set_device_offset() to center the image, while the GTK 4 version uses gdk_drag_set_hotspot().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1847144</commentid>
    <comment_count>2</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2022-03-01 12:49:03 -0800</bug_when>
    <thetext>Thanks for the good example/test. This helped a lot.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1847155</commentid>
    <comment_count>3</comment_count>
      <attachid>453531</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2022-03-01 13:01:29 -0800</bug_when>
    <thetext>Created attachment 453531
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1847222</commentid>
    <comment_count>4</comment_count>
      <attachid>453543</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2022-03-01 15:49:30 -0800</bug_when>
    <thetext>Created attachment 453543
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1847376</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-03-02 07:08:06 -0800</bug_when>
    <thetext>Committed r290728 (247975@main): &lt;https://commits.webkit.org/247975@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 453543.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1847381</commentid>
    <comment_count>6</comment_count>
    <who name="Per Bothner">per</who>
    <bug_when>2022-03-02 07:24:53 -0800</bug_when>
    <thetext>Thanks for the quick fix! Looking forward to it appearing in Fedora and other distributions.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>453436</attachid>
            <date>2022-02-28 15:00:02 -0800</date>
            <delta_ts>2022-02-28 15:00:02 -0800</delta_ts>
            <desc>test of setDragImage offset</desc>
            <filename>drag-image-test.html</filename>
            <type>text/html</type>
            <size>1389</size>
            <attacher name="Per Bothner">per</attacher>
            
              <data encoding="base64">PGh0bWw+CjxoZWFkPgogIDxzY3JpcHQ+CiAgICBmdW5jdGlvbiBsb2FkSGFuZGxlcihlKSB7CiAg
ICAgICAgZG9jdW1lbnQuYm9keQogICAgICAgICAgICAuYWRkRXZlbnRMaXN0ZW5lcigiZHJhZ3N0
YXJ0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGV2KSA9PiB7CiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBsb3dlciA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0
b3IoIiNsb3dlciIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2xp
ZW50UmVjdCA9IGxvd2VyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOwogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgZFggPSBldi5jbGllbnRYIC0gY2xpZW50UmVjdC5sZWZ0
OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZFkgPSBldi5jbGllbnRZ
IC0gY2xpZW50UmVjdC50b3A7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldi5k
YXRhVHJhbnNmZXIuc2V0RHJhZ0ltYWdlKGxvd2VyLCBkWCwgZFkpOwogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB9KTsKICAgICAgICBjb25zdCBwID0gZG9jdW1lbnQucXVlcnlTZWxlY3Rv
cigiI3VwcGVyIHAiKTsKICAgICAgICBwLmlubmVyVGV4dCA9IHAuaW5uZXJUZXh0ICsgIlxuVXNl
ci1hZ2VudDogIiArIG5hdmlnYXRvci51c2VyQWdlbnQ7CiAgICB9CiAgICB3aW5kb3cuYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIGxvYWRIYW5kbGVyKTsKPC9zY3JpcHQ+CjxzdHlsZSB0eXBlPSJ0
ZXh0L2NzcyI+CiAgc2VjdGlvbj5oMiB7CiAgICAgIGJvcmRlcjogc29saWQgdGhpbiBibGFjazsK
ICAgICAgYmFja2dyb3VuZC1jb2xvcjogcG93ZGVyYmx1ZTsKICAgICAgd2lkdGg6IDUwJTsKICAg
ICAgbWFyZ2luOiAwcHg7CiAgICAgIGN1cnNvcjogbW92ZTsKICB9CiAgc2VjdGlvbiB7CiAgICAg
IG1hcmdpbjogMWV4OwogIH0KICBzZWN0aW9uIHAgewogICAgICBib3JkZXI6IHNvbGlkIHRoaW4g
cmVkOwogICAgICBwYWRkaW5nLWJvdHRvbTogNGV4OwogICAgICBtYXJnaW46IDBweDsKICB9CiAg
c2VjdGlvbiN1cHBlciBwIHsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRncmVlbjsKICB9
CiAgc2VjdGlvbiNsb3dlciBwIHsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHR5ZWxsb3c7
CiAgfQo8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5Pgo8c2VjdGlvbiBpZD0idXBwZXIiPjxwPlVwcGVy
IGNvbnRlbnRzLjwvcD48L3NlY3Rpb24+CjxzZWN0aW9uIGlkPSJsb3dlciI+CiAgPGgyIGRyYWdn
YWJsZT0idHJ1ZSI+RHJhZyBoZXJlPC9oMj4KICA8cD5Mb3dlciBjb250ZW50czwvcD4KPC9zZWN0
aW9uPgo8L2JvZHk+CjwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>453531</attachid>
            <date>2022-03-01 13:01:29 -0800</date>
            <delta_ts>2022-03-01 15:49:27 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-237292-20220301150128.patch</filename>
            <type>text/plain</type>
            <size>15536</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkwNjYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDQxMDg5OGRlZDY4NDkw
MTgzZWQwYTJiNjIyOWVmZDc1ZDE4N2YwMy4uY2Y0ZGQ0YTg1NWY0N2Y5Y2M0MjllZTkyOGRjOGRj
NTZiN2RlMDE4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIyLTAzLTAxICBNaWNo
YWVsIENhdGFuemFybyAgPG1jYXRhbnphcm9AZ25vbWUub3JnPgorCisgICAgICAgIFtHVEtdIHNl
dERyYWdJbWFnZSBpZ25vcmVzIG9mZnNldAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjM3MjkyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgVG8gZml4IHRoaXMsIEkgbmVlZCBEYXRhVHJhbnNmZXIgdG8gZXhw
b3NlIGl0cyBkcmFnTG9jYXRpb24sIHdoaWNoIGlzIHRoZSBvZmZzZXQgcGFzc2VkIHRvCisgICAg
ICAgIHNldERyYWdJbWFnZS4KKworICAgICAgICAqIGRvbS9EYXRhVHJhbnNmZXIuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OkRhdGFUcmFuc2Zlcjo6ZHJhZ0xvY2F0aW9uIGNvbnN0KToKKwogMjAyMi0w
My0wMSAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAg
ICAgIFtBcHBsZVdpbl0gU3RhcnQgdXNpbmcgVmlzdWFsIFN0dWRpbyAyMDIyCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4
IDZjN2UwNTA3MDE3YmFkZTQzYzNlNDYyNzczODZlMTRhNzhhYmRmOTAuLmU0NzkyOTRlYmE5ZDVk
OTY4MWM5ZGUxMjVhZjliNmFlYWRmYTlkYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzMgQEAKKzIw
MjItMDMtMDEgIE1pY2hhZWwgQ2F0YW56YXJvICA8bWNhdGFuemFyb0Bnbm9tZS5vcmc+CisKKyAg
ICAgICAgW0dUS10gc2V0RHJhZ0ltYWdlIGlnbm9yZXMgb2Zmc2V0CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzcyOTIKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQbHVtYiB0aGUgb2Zmc2V0IGZyb20gdGhl
IGxhc3QgcGxhY2Ugd2UgaGF2ZSBhY2Nlc3MgdG8gYSBEYXRhVHJhbnNmZXIgb2JqZWN0IGRvd24g
dG8KKyAgICAgICAgRHJhZ1NvdXJjZSwgd2hlcmUgaXQncyB1bHRpbWF0ZWx5IHVzZWQuIFRoaXMg
YWxsb3dzIHdlYiBjb250ZW50IHRvIHByb3Blcmx5IHBvc2l0aW9uIHRoZQorICAgICAgICBkcmFn
IGltYWdlIHVuZGVyIHRoZSBtb3VzZSBjdXJzb3IuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L2d0ay9EcmFnU291cmNlLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvRHJhZ1NvdXJj
ZUd0azMuY3BwOgorICAgICAgICAoV2ViS2l0OjpEcmFnU291cmNlOjpiZWdpbik6CisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9ndGsvRHJhZ1NvdXJjZUd0azQuY3BwOgorICAgICAgICAoV2ViS2l0
OjpEcmFnU291cmNlOjpiZWdpbik6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNs
aWVudEltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50SW1wbDo6c3RhcnREcmFn
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9QYWdlQ2xpZW50SW1wbC5oOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmNwcDoKKyAgICAgICAgKHdl
YmtpdFdlYlZpZXdCYXNlU3RhcnREcmFnKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9X
ZWJLaXRXZWJWaWV3QmFzZVByaXZhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvUGFnZUNsaWVu
dC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQYWdlUHJveHk6OnN0YXJ0RHJhZyk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW46
CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9ndGsvV2ViRHJhZ0NsaWVudEd0
ay5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkRyYWdDbGllbnQ6OnN0YXJ0RHJhZyk6CisKIDIw
MjItMDMtMDEgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAog
ICAgICAgICBJZiB0aGUgbWFpbiByZXNvdXJjZSB3YXMgbG9hZGVkIG92ZXIgcHJpdmF0ZSByZWxh
eSwgbG9hZCBhbGwgc3ViIHJlc291cmNlcyBvdmVyIHByaXZhdGUgcmVsYXkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9EYXRhVHJhbnNmZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9E
YXRhVHJhbnNmZXIuaAppbmRleCBiMDg0ZWU0MTY1MTI2NTIyMjBlNDNhNmQ0YmNjY2FmZjdjNjY2
ZDVhLi42YzRiNWMxZTQ2ZDViYzZiY2M1MjkzNTEwYzdkMmE0NTQ3NWM1ZjhiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9kb20vRGF0YVRyYW5zZmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0RhdGFUcmFuc2Zlci5oCkBAIC04OCw2ICs4OCw4IEBAIHB1YmxpYzoKICAgICBQYXN0ZWJv
YXJkJiBwYXN0ZWJvYXJkKCkgeyByZXR1cm4gKm1fcGFzdGVib2FyZDsgfQogICAgIHZvaWQgY29t
bWl0VG9QYXN0ZWJvYXJkKFBhc3RlYm9hcmQmKTsKIAorICAgIEludFBvaW50IGRyYWdMb2NhdGlv
bigpIGNvbnN0IHsgcmV0dXJuIG1fZHJhZ0xvY2F0aW9uOyB9CisKICNpZiBFTkFCTEUoRFJBR19T
VVBQT1JUKQogICAgIHN0YXRpYyBSZWY8RGF0YVRyYW5zZmVyPiBjcmVhdGVGb3JEcmFnKGNvbnN0
IERvY3VtZW50Jik7CiAgICAgc3RhdGljIFJlZjxEYXRhVHJhbnNmZXI+IGNyZWF0ZUZvckRyYWdT
dGFydEV2ZW50KGNvbnN0IERvY3VtZW50Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvZ3RrL0RyYWdTb3VyY2UuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9ndGsvRHJhZ1NvdXJjZS5oCmluZGV4IDkyZmMwMWE4Y2VhYjU0MzRjNmYzYWY0MjZkMWU3OGM5
NDIzYTI1NzYuLjQ2N2VkMTRmZTk0YzlhNmYyYWY5ZmM5NmY4OWYwODVjMjhlODJlYWQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvRHJhZ1NvdXJjZS5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvRHJhZ1NvdXJjZS5oCkBAIC01Miw3ICs1
Miw3IEBAIHB1YmxpYzoKICAgICBleHBsaWNpdCBEcmFnU291cmNlKEd0a1dpZGdldCopOwogICAg
IH5EcmFnU291cmNlKCk7CiAKLSAgICB2b2lkIGJlZ2luKFdlYkNvcmU6OlNlbGVjdGlvbkRhdGEm
JiwgT3B0aW9uU2V0PFdlYkNvcmU6OkRyYWdPcGVyYXRpb24+LCBSZWZQdHI8U2hhcmVhYmxlQml0
bWFwPiYmKTsKKyAgICB2b2lkIGJlZ2luKFdlYkNvcmU6OlNlbGVjdGlvbkRhdGEmJiwgT3B0aW9u
U2V0PFdlYkNvcmU6OkRyYWdPcGVyYXRpb24+LCBSZWZQdHI8U2hhcmVhYmxlQml0bWFwPiYmLCBX
ZWJDb3JlOjpJbnRQb2ludCYmIGltYWdlSG90c3BvdCk7CiAKIHByaXZhdGU6CiAgICAgR3RrV2lk
Z2V0KiBtX3dlYlZpZXcgeyBudWxscHRyIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvZ3RrL0RyYWdTb3VyY2VHdGszLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9ndGsvRHJhZ1NvdXJjZUd0azMuY3BwCmluZGV4IDYxZjA3MTNmMTE2ZGVkMzVhYTg2
OWQzNzlhYzQ4MzAyMmY0ZDQxOWEuLjgxNWQ1ODQ4MjUyMjRlZWY3MWIwZDMyYmRmZjAxMThkMjk0
MmM1N2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvRHJhZ1Nv
dXJjZUd0azMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvRHJhZ1Nv
dXJjZUd0azMuY3BwCkBAIC0xMTIsNyArMTEyLDcgQEAgRHJhZ1NvdXJjZTo6fkRyYWdTb3VyY2Uo
KQogICAgIGdfc2lnbmFsX2hhbmRsZXJzX2Rpc2Nvbm5lY3RfYnlfZGF0YShtX3dlYlZpZXcsIHRo
aXMpOwogfQogCi12b2lkIERyYWdTb3VyY2U6OmJlZ2luKFNlbGVjdGlvbkRhdGEmJiBzZWxlY3Rp
b25EYXRhLCBPcHRpb25TZXQ8RHJhZ09wZXJhdGlvbj4gb3BlcmF0aW9uTWFzaywgUmVmUHRyPFNo
YXJlYWJsZUJpdG1hcD4mJiBpbWFnZSkKK3ZvaWQgRHJhZ1NvdXJjZTo6YmVnaW4oU2VsZWN0aW9u
RGF0YSYmIHNlbGVjdGlvbkRhdGEsIE9wdGlvblNldDxEcmFnT3BlcmF0aW9uPiBvcGVyYXRpb25N
YXNrLCBSZWZQdHI8U2hhcmVhYmxlQml0bWFwPiYmIGltYWdlLCBJbnRQb2ludCYmIGltYWdlSG90
c3BvdCkKIHsKICAgICBpZiAobV9kcmFnKSB7CiAgICAgICAgIGd0a19kcmFnX2NhbmNlbChtX2Ry
YWcuZ2V0KCkpOwpAQCAtMTQwLDggKzE0MCw3IEBAIHZvaWQgRHJhZ1NvdXJjZTo6YmVnaW4oU2Vs
ZWN0aW9uRGF0YSYmIHNlbGVjdGlvbkRhdGEsIE9wdGlvblNldDxEcmFnT3BlcmF0aW9uPiBvCiAg
ICAgbV9kcmFnID0gZ3RrX2RyYWdfYmVnaW5fd2l0aF9jb29yZGluYXRlcyhtX3dlYlZpZXcsIGxp
c3QuZ2V0KCksIGRyYWdPcGVyYXRpb25Ub0dka0RyYWdBY3Rpb25zKG9wZXJhdGlvbk1hc2spLCBH
REtfQlVUVE9OX1BSSU1BUlksIG51bGxwdHIsIC0xLCAtMSk7CiAgICAgaWYgKGltYWdlKSB7CiAg
ICAgICAgIFJlZlB0cjxjYWlyb19zdXJmYWNlX3Q+IGltYWdlU3VyZmFjZShpbWFnZS0+Y3JlYXRl
Q2Fpcm9TdXJmYWNlKCkpOwotICAgICAgICAvLyBVc2UgdGhlIGNlbnRlciBvZiB0aGUgZHJhZyBp
bWFnZSBhcyBob3RzcG90LgotICAgICAgICBjYWlyb19zdXJmYWNlX3NldF9kZXZpY2Vfb2Zmc2V0
KGltYWdlU3VyZmFjZS5nZXQoKSwgLWNhaXJvX2ltYWdlX3N1cmZhY2VfZ2V0X3dpZHRoKGltYWdl
U3VyZmFjZS5nZXQoKSkgLyAyLCAtY2Fpcm9faW1hZ2Vfc3VyZmFjZV9nZXRfaGVpZ2h0KGltYWdl
U3VyZmFjZS5nZXQoKSkgLyAyKTsKKyAgICAgICAgY2Fpcm9fc3VyZmFjZV9zZXRfZGV2aWNlX29m
ZnNldChpbWFnZVN1cmZhY2UuZ2V0KCksIC1pbWFnZUhvdHNwb3QueCgpLCAtaW1hZ2VIb3RzcG90
LnkoKSk7CiAgICAgICAgIGd0a19kcmFnX3NldF9pY29uX3N1cmZhY2UobV9kcmFnLmdldCgpLCBp
bWFnZVN1cmZhY2UuZ2V0KCkpOwogICAgIH0gZWxzZQogICAgICAgICBndGtfZHJhZ19zZXRfaWNv
bl9kZWZhdWx0KG1fZHJhZy5nZXQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvZ3RrL0RyYWdTb3VyY2VHdGs0LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9ndGsvRHJhZ1NvdXJjZUd0azQuY3BwCmluZGV4IGZmZWUxYjA0OTI1ZmMwYjUyNjA5Y2Fj
ZWI3NjFlNmFjYzM2MTlkYzIuLjA5ZmViMTRiZTAxNjI1ZGZkYWUwM2I1MjJhOGExMmYxMWRmY2Fk
MGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvRHJhZ1NvdXJj
ZUd0azQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvRHJhZ1NvdXJj
ZUd0azQuY3BwCkBAIC00NSw3ICs0NSw3IEBAIERyYWdTb3VyY2U6On5EcmFnU291cmNlKCkKIHsK
IH0KIAotdm9pZCBEcmFnU291cmNlOjpiZWdpbihTZWxlY3Rpb25EYXRhJiYgc2VsZWN0aW9uRGF0
YSwgT3B0aW9uU2V0PERyYWdPcGVyYXRpb24+IG9wZXJhdGlvbk1hc2ssIFJlZlB0cjxTaGFyZWFi
bGVCaXRtYXA+JiYgaW1hZ2UpCit2b2lkIERyYWdTb3VyY2U6OmJlZ2luKFNlbGVjdGlvbkRhdGEm
JiBzZWxlY3Rpb25EYXRhLCBPcHRpb25TZXQ8RHJhZ09wZXJhdGlvbj4gb3BlcmF0aW9uTWFzaywg
UmVmUHRyPFNoYXJlYWJsZUJpdG1hcD4mJiBpbWFnZSwgSW50UG9pbnQmJiBpbWFnZUhvdHNwb3Qp
CiB7CiAgICAgaWYgKG1fZHJhZykgewogICAgICAgICBnZGtfZHJhZ19kcm9wX2RvbmUobV9kcmFn
LmdldCgpLCBGQUxTRSk7CkBAIC0xMjksNyArMTI5LDcgQEAgdm9pZCBEcmFnU291cmNlOjpiZWdp
bihTZWxlY3Rpb25EYXRhJiYgc2VsZWN0aW9uRGF0YSwgT3B0aW9uU2V0PERyYWdPcGVyYXRpb24+
IG8KICAgICBSZWZQdHI8SW1hZ2U+IGljb25JbWFnZSA9IGltYWdlID8gaW1hZ2UtPmNyZWF0ZUlt
YWdlKCkgOiBudWxscHRyOwogICAgIGlmIChpY29uSW1hZ2UpIHsKICAgICAgICAgaWYgKEdSZWZQ
dHI8R2RrVGV4dHVyZT4gdGV4dHVyZSA9IGFkb3B0R1JlZihpY29uSW1hZ2UtPmdka1RleHR1cmUo
KSkpIHsKLSAgICAgICAgICAgIGdka19kcmFnX3NldF9ob3RzcG90KG1fZHJhZy5nZXQoKSwgLWdk
a190ZXh0dXJlX2dldF93aWR0aCh0ZXh0dXJlLmdldCgpKSAvIDIsIC1nZGtfdGV4dHVyZV9nZXRf
aGVpZ2h0KHRleHR1cmUuZ2V0KCkpIC8gMik7CisgICAgICAgICAgICBnZGtfZHJhZ19zZXRfaG90
c3BvdChtX2RyYWcuZ2V0KCksIC1pbWFnZUhvdHNwb3QueCgpLCAtaW1hZ2VIb3RzcG90LnkoKSk7
CiAgICAgICAgICAgICBhdXRvKiBwaWN0dXJlID0gZ3RrX3BpY3R1cmVfbmV3X2Zvcl9wYWludGFi
bGUoR0RLX1BBSU5UQUJMRSh0ZXh0dXJlLmdldCgpKSk7CiAgICAgICAgICAgICBndGtfZHJhZ19p
Y29uX3NldF9jaGlsZChHVEtfRFJBR19JQ09OKGRyYWdJY29uKSwgcGljdHVyZSk7CiAgICAgICAg
ICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3Rr
L1BhZ2VDbGllbnRJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvUGFn
ZUNsaWVudEltcGwuY3BwCmluZGV4IGQ1ZWVkZWEzODcxOTc5OTE1ZGE5ZWJkZTgwMzU2YzE1ZjQ4
MGJiOGUuLjBkNDMxNzg1NjUwNTU1MzllZDhjMmY4OGRlZGFlOTdiYTQ1NWJjNDIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVudEltcGwuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVudEltcGwuY3BwCkBA
IC0zNDQsOSArMzQ0LDkgQEAgdm9pZCBQYWdlQ2xpZW50SW1wbDo6ZGlkQ2hhbmdlQ29udGVudFNp
emUoY29uc3QgSW50U2l6ZSYgc2l6ZSkKIH0KIAogI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpCi12
b2lkIFBhZ2VDbGllbnRJbXBsOjpzdGFydERyYWcoU2VsZWN0aW9uRGF0YSYmIHNlbGVjdGlvbiwg
T3B0aW9uU2V0PERyYWdPcGVyYXRpb24+IGRyYWdPcGVyYXRpb25NYXNrLCBSZWZQdHI8U2hhcmVh
YmxlQml0bWFwPiYmIGRyYWdJbWFnZSkKK3ZvaWQgUGFnZUNsaWVudEltcGw6OnN0YXJ0RHJhZyhT
ZWxlY3Rpb25EYXRhJiYgc2VsZWN0aW9uLCBPcHRpb25TZXQ8RHJhZ09wZXJhdGlvbj4gZHJhZ09w
ZXJhdGlvbk1hc2ssIFJlZlB0cjxTaGFyZWFibGVCaXRtYXA+JiYgZHJhZ0ltYWdlLCBJbnRQb2lu
dCYmIGRyYWdJbWFnZUhvdHNwb3QpCiB7Ci0gICAgd2Via2l0V2ViVmlld0Jhc2VTdGFydERyYWco
V0VCS0lUX1dFQl9WSUVXX0JBU0UobV92aWV3V2lkZ2V0KSwgV1RGTW92ZShzZWxlY3Rpb24pLCBk
cmFnT3BlcmF0aW9uTWFzaywgV1RGTW92ZShkcmFnSW1hZ2UpKTsKKyAgICB3ZWJraXRXZWJWaWV3
QmFzZVN0YXJ0RHJhZyhXRUJLSVRfV0VCX1ZJRVdfQkFTRShtX3ZpZXdXaWRnZXQpLCBXVEZNb3Zl
KHNlbGVjdGlvbiksIGRyYWdPcGVyYXRpb25NYXNrLCBXVEZNb3ZlKGRyYWdJbWFnZSksIFdURk1v
dmUoZHJhZ0ltYWdlSG90c3BvdCkpOwogfQogCiB2b2lkIFBhZ2VDbGllbnRJbXBsOjpkaWRQZXJm
b3JtRHJhZ0NvbnRyb2xsZXJBY3Rpb24oKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL2d0ay9QYWdlQ2xpZW50SW1wbC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL2d0ay9QYWdlQ2xpZW50SW1wbC5oCmluZGV4IDk0NjkxMDljY2IxYjA3NmYxNjg5M2UxMTkz
OGY4NWUxNzM2ZjhkMjIuLmFhYzMwOTZjOTBjY2VhNzViNGJhZjI3ZDdhZTA0MmVkYjNjM2UzOWIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVudElt
cGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1BhZ2VDbGllbnRJbXBs
LmgKQEAgLTEwNSw3ICsxMDUsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgc2VsZWN0aW9uRGlkQ2hh
bmdlKCkgb3ZlcnJpZGU7CiAgICAgUmVmUHRyPFZpZXdTbmFwc2hvdD4gdGFrZVZpZXdTbmFwc2hv
dChzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkludFJlY3Q+JiYpIG92ZXJyaWRlOwogI2lmIEVOQUJM
RShEUkFHX1NVUFBPUlQpCi0gICAgdm9pZCBzdGFydERyYWcoV2ViQ29yZTo6U2VsZWN0aW9uRGF0
YSYmLCBPcHRpb25TZXQ8V2ViQ29yZTo6RHJhZ09wZXJhdGlvbj4sIFJlZlB0cjxTaGFyZWFibGVC
aXRtYXA+JiYgZHJhZ0ltYWdlKSBvdmVycmlkZTsKKyAgICB2b2lkIHN0YXJ0RHJhZyhXZWJDb3Jl
OjpTZWxlY3Rpb25EYXRhJiYsIE9wdGlvblNldDxXZWJDb3JlOjpEcmFnT3BlcmF0aW9uPiwgUmVm
UHRyPFNoYXJlYWJsZUJpdG1hcD4mJiBkcmFnSW1hZ2UsIFdlYkNvcmU6OkludFBvaW50JiYgZHJh
Z0ltYWdlSG90c3BvdCkgb3ZlcnJpZGU7CiAgICAgdm9pZCBkaWRQZXJmb3JtRHJhZ0NvbnRyb2xs
ZXJBY3Rpb24oKSBvdmVycmlkZTsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmNwcCBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2UuY3BwCmluZGV4IDZiMzBkYThlYWJj
MDk5MWY0NTQzMWE4NDFiZmRkYjYzMzc0MmU0MWQuLjNmZmNiZDdjMTIzZGRiNGU2MGY1Y2JjZTQz
MmY4N2I5NTY5ODcwNzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9n
dGsvV2ViS2l0V2ViVmlld0Jhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9ndGsvV2ViS2l0V2ViVmlld0Jhc2UuY3BwCkBAIC0yMzA4LDEzICsyMzA4LDEzIEBAIHZvaWQg
d2Via2l0V2ViVmlld0Jhc2VTZXRNb3VzZUlzT3ZlclNjcm9sbGJhcihXZWJLaXRXZWJWaWV3QmFz
ZSogd2ViVmlld0Jhc2UsIFdlCiB9CiAKICNpZiBFTkFCTEUoRFJBR19TVVBQT1JUKQotdm9pZCB3
ZWJraXRXZWJWaWV3QmFzZVN0YXJ0RHJhZyhXZWJLaXRXZWJWaWV3QmFzZSogd2ViVmlld0Jhc2Us
IFNlbGVjdGlvbkRhdGEmJiBzZWxlY3Rpb25EYXRhLCBPcHRpb25TZXQ8RHJhZ09wZXJhdGlvbj4g
ZHJhZ09wZXJhdGlvbk1hc2ssIFJlZlB0cjxTaGFyZWFibGVCaXRtYXA+JiYgaW1hZ2UpCit2b2lk
IHdlYmtpdFdlYlZpZXdCYXNlU3RhcnREcmFnKFdlYktpdFdlYlZpZXdCYXNlKiB3ZWJWaWV3QmFz
ZSwgU2VsZWN0aW9uRGF0YSYmIHNlbGVjdGlvbkRhdGEsIE9wdGlvblNldDxEcmFnT3BlcmF0aW9u
PiBkcmFnT3BlcmF0aW9uTWFzaywgUmVmUHRyPFNoYXJlYWJsZUJpdG1hcD4mJiBpbWFnZSwgSW50
UG9pbnQmJiBkcmFnSW1hZ2VIb3RzcG90KQogewogICAgIFdlYktpdFdlYlZpZXdCYXNlUHJpdmF0
ZSogcHJpdiA9IHdlYlZpZXdCYXNlLT5wcml2OwogICAgIGlmICghcHJpdi0+ZHJhZ1NvdXJjZSkK
ICAgICAgICAgcHJpdi0+ZHJhZ1NvdXJjZSA9IG1ha2VVbmlxdWU8RHJhZ1NvdXJjZT4oR1RLX1dJ
REdFVCh3ZWJWaWV3QmFzZSkpOwogCi0gICAgcHJpdi0+ZHJhZ1NvdXJjZS0+YmVnaW4oV1RGTW92
ZShzZWxlY3Rpb25EYXRhKSwgZHJhZ09wZXJhdGlvbk1hc2ssIFdURk1vdmUoaW1hZ2UpKTsKKyAg
ICBwcml2LT5kcmFnU291cmNlLT5iZWdpbihXVEZNb3ZlKHNlbGVjdGlvbkRhdGEpLCBkcmFnT3Bl
cmF0aW9uTWFzaywgV1RGTW92ZShpbWFnZSksIFdURk1vdmUoZHJhZ0ltYWdlSG90c3BvdCkpOwog
CiAjaWYgIVVTRShHVEs0KQogICAgIC8vIEEgZHJhZyBzdGFydGluZyBzaG91bGQgcHJldmVudCBh
IGRvdWJsZS1jbGljayBmcm9tIGhhcHBlbmluZy4gVGhpcyBtaWdodApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3QmFzZVByaXZhdGUuaCBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2VQcml2YXRl
LmgKaW5kZXggMWE4YzkwYzMxNjQxNTM4N2RkNTk5ODA3YzFmNjk4Mzc0OTI3ZmE1Mi4uYjYwZTEw
YzRmYjFjNmM4Njc1NzliNTg2NjFhNmUzZjAxN2JhODFiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3QmFzZVByaXZhdGUuaAorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlUHJpdmF0ZS5o
CkBAIC04NSw3ICs4NSw3IEBAIHZvaWQgd2Via2l0V2ViVmlld0Jhc2VEaWRSZWxhdW5jaFdlYlBy
b2Nlc3MoV2ViS2l0V2ViVmlld0Jhc2UqKTsKIHZvaWQgd2Via2l0V2ViVmlld0Jhc2VQYWdlQ2xv
c2VkKFdlYktpdFdlYlZpZXdCYXNlKik7CiAKICNpZiBFTkFCTEUoRFJBR19TVVBQT1JUKQotdm9p
ZCB3ZWJraXRXZWJWaWV3QmFzZVN0YXJ0RHJhZyhXZWJLaXRXZWJWaWV3QmFzZSosIFdlYkNvcmU6
OlNlbGVjdGlvbkRhdGEmJiwgT3B0aW9uU2V0PFdlYkNvcmU6OkRyYWdPcGVyYXRpb24+LCBSZWZQ
dHI8V2ViS2l0OjpTaGFyZWFibGVCaXRtYXA+JiYpOwordm9pZCB3ZWJraXRXZWJWaWV3QmFzZVN0
YXJ0RHJhZyhXZWJLaXRXZWJWaWV3QmFzZSosIFdlYkNvcmU6OlNlbGVjdGlvbkRhdGEmJiwgT3B0
aW9uU2V0PFdlYkNvcmU6OkRyYWdPcGVyYXRpb24+LCBSZWZQdHI8V2ViS2l0OjpTaGFyZWFibGVC
aXRtYXA+JiYsIFdlYkNvcmU6OkludFBvaW50JiYgZHJhZ0ltYWdlSG90c3BvdCk7CiB2b2lkIHdl
YmtpdFdlYlZpZXdCYXNlRGlkUGVyZm9ybURyYWdDb250cm9sbGVyQWN0aW9uKFdlYktpdFdlYlZp
ZXdCYXNlKik7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
UGFnZUNsaWVudC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCmluZGV4
IGIyY2JjNWViNzVhMzhlMTAxOWZhZjZjYjJiNDc3M2RlMDA1NDBjZjIuLmQwMmJiN2NjODBmNzA3
MWExM2M3ZjJiMzY0MWJjN2JhZjBiYWIwOTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1BhZ2VDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xp
ZW50LmgKQEAgLTI4OSw3ICsyODksNyBAQCBwdWJsaWM6CiAgICAgCiAjaWYgRU5BQkxFKERSQUdf
U1VQUE9SVCkKICNpZiBQTEFURk9STShHVEspCi0gICAgdmlydHVhbCB2b2lkIHN0YXJ0RHJhZyhX
ZWJDb3JlOjpTZWxlY3Rpb25EYXRhJiYsIE9wdGlvblNldDxXZWJDb3JlOjpEcmFnT3BlcmF0aW9u
PiwgUmVmUHRyPFNoYXJlYWJsZUJpdG1hcD4mJiBkcmFnSW1hZ2UpID0gMDsKKyAgICB2aXJ0dWFs
IHZvaWQgc3RhcnREcmFnKFdlYkNvcmU6OlNlbGVjdGlvbkRhdGEmJiwgT3B0aW9uU2V0PFdlYkNv
cmU6OkRyYWdPcGVyYXRpb24+LCBSZWZQdHI8U2hhcmVhYmxlQml0bWFwPiYmIGRyYWdJbWFnZSwg
V2ViQ29yZTo6SW50UG9pbnQmJiBkcmFnSW1hZ2VIb3RzcG90KSA9IDA7CiAjZWxzZQogICAgIHZp
cnR1YWwgdm9pZCBzdGFydERyYWcoY29uc3QgV2ViQ29yZTo6RHJhZ0l0ZW0mLCBjb25zdCBTaGFy
ZWFibGVCaXRtYXA6OkhhbmRsZSYpIHsgfQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmNwcAppbmRleCAyNTlhZTczZWNiOTIxMzVmMDlhOTY1MDFiMzNlZDJhNDFk
MzUzMzE5Li44YzczM2FhODg0Njg3OGQ1M2NmYTk1Njc0NTA2MjI4YTRiNzQ2MDEzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTI3MjksMTAgKzI3MjksMTAg
QEAgdm9pZCBXZWJQYWdlUHJveHk6OmRpZFBlcmZvcm1EcmFnQ29udHJvbGxlckFjdGlvbihzdGQ6
Om9wdGlvbmFsPFdlYkNvcmU6OkRyYWdPcGUKIH0KIAogI2lmIFBMQVRGT1JNKEdUSykKLXZvaWQg
V2ViUGFnZVByb3h5OjpzdGFydERyYWcoU2VsZWN0aW9uRGF0YSYmIHNlbGVjdGlvbkRhdGEsIE9w
dGlvblNldDxXZWJDb3JlOjpEcmFnT3BlcmF0aW9uPiBkcmFnT3BlcmF0aW9uTWFzaywgY29uc3Qg
U2hhcmVhYmxlQml0bWFwOjpIYW5kbGUmIGRyYWdJbWFnZUhhbmRsZSkKK3ZvaWQgV2ViUGFnZVBy
b3h5OjpzdGFydERyYWcoU2VsZWN0aW9uRGF0YSYmIHNlbGVjdGlvbkRhdGEsIE9wdGlvblNldDxX
ZWJDb3JlOjpEcmFnT3BlcmF0aW9uPiBkcmFnT3BlcmF0aW9uTWFzaywgY29uc3QgU2hhcmVhYmxl
Qml0bWFwOjpIYW5kbGUmIGRyYWdJbWFnZUhhbmRsZSwgSW50UG9pbnQmJiBkcmFnSW1hZ2VIb3Rz
cG90KQogewogICAgIFJlZlB0cjxTaGFyZWFibGVCaXRtYXA+IGRyYWdJbWFnZSA9ICFkcmFnSW1h
Z2VIYW5kbGUuaXNOdWxsKCkgPyBTaGFyZWFibGVCaXRtYXA6OmNyZWF0ZShkcmFnSW1hZ2VIYW5k
bGUpIDogbnVsbHB0cjsKLSAgICBwYWdlQ2xpZW50KCkuc3RhcnREcmFnKFdURk1vdmUoc2VsZWN0
aW9uRGF0YSksIGRyYWdPcGVyYXRpb25NYXNrLCBXVEZNb3ZlKGRyYWdJbWFnZSkpOworICAgIHBh
Z2VDbGllbnQoKS5zdGFydERyYWcoV1RGTW92ZShzZWxlY3Rpb25EYXRhKSwgZHJhZ09wZXJhdGlv
bk1hc2ssIFdURk1vdmUoZHJhZ0ltYWdlKSwgV1RGTW92ZShkcmFnSW1hZ2VIb3RzcG90KSk7CiAK
ICAgICBkaWRTdGFydERyYWcoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
LmgKaW5kZXggZDMwODQyYTFiZGY3MjQ4Y2ZhZjUwYzk0Y2Q3NTg4N2M0ODc3NzY5ZC4uODc4MjM3
MDQwMDJlODllMWYwNDZkNzgzMTNlZDMzNDc1NzEyN2I4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmgKQEAgLTEyODgsNyArMTI4OCw3IEBAIHB1YmxpYzoKICAgICAgICAg
Y29uc3QgU3RyaW5nJiB0aXRsZSwgY29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0IFN0cmluZyYgdmlz
aWJsZVVSTCwgY29uc3QgU2hhcmVkTWVtb3J5OjpJUENIYW5kbGUmIGFyY2hpdmVIYW5kbGUsIGNv
bnN0IFN0cmluZyYgb3JpZ2luSWRlbnRpZmllcik7CiAjZW5kaWYKICNpZiBQTEFURk9STShHVEsp
Ci0gICAgdm9pZCBzdGFydERyYWcoV2ViQ29yZTo6U2VsZWN0aW9uRGF0YSYmLCBPcHRpb25TZXQ8
V2ViQ29yZTo6RHJhZ09wZXJhdGlvbj4sIGNvbnN0IFNoYXJlYWJsZUJpdG1hcDo6SGFuZGxlJiBk
cmFnSW1hZ2UpOworICAgIHZvaWQgc3RhcnREcmFnKFdlYkNvcmU6OlNlbGVjdGlvbkRhdGEmJiwg
T3B0aW9uU2V0PFdlYkNvcmU6OkRyYWdPcGVyYXRpb24+LCBjb25zdCBTaGFyZWFibGVCaXRtYXA6
OkhhbmRsZSYgZHJhZ0ltYWdlLCBXZWJDb3JlOjpJbnRQb2ludCYmIGRyYWdJbWFnZUhvdHNwb3Qp
OwogI2VuZGlmCiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IDQ3YTRmZDA5MDQ0YjBmMGY2MzY4NmM0YzAxZmE0YTE5
NTJhYmU5M2MuLjIwN2JjMjFkMzJhNmZmZTZiN2VmNWZkZDA2ZTYwNGUyMGE4YWFlNDggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KQEAg
LTMwMyw3ICszMDMsNyBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlUHJveHkgewogICAgIFNldFByb21p
c2VkRGF0YUZvckltYWdlKFN0cmluZyBwYXN0ZWJvYXJkTmFtZSwgV2ViS2l0OjpTaGFyZWRNZW1v
cnk6OklQQ0hhbmRsZSBpbWFnZUhhbmRsZSwgU3RyaW5nIGZpbGVuYW1lLCBTdHJpbmcgZXh0ZW5z
aW9uLCBTdHJpbmcgdGl0bGUsIFN0cmluZyB1cmwsIFN0cmluZyB2aXNpYmxlVVJMLCBXZWJLaXQ6
OlNoYXJlZE1lbW9yeTo6SVBDSGFuZGxlIGFyY2hpdmVIYW5kbGUsIFN0cmluZyBvcmlnaW5JZGVu
dGlmaWVyKQogI2VuZGlmCiAjaWYgUExBVEZPUk0oR1RLKSAmJiBFTkFCTEUoRFJBR19TVVBQT1JU
KQotICAgIFN0YXJ0RHJhZyhXZWJDb3JlOjpTZWxlY3Rpb25EYXRhIHNlbGVjdGlvbkRhdGEsIE9w
dGlvblNldDxXZWJDb3JlOjpEcmFnT3BlcmF0aW9uPiBkcmFnT3BlcmF0aW9uTWFzaywgV2ViS2l0
OjpTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSBkcmFnSW1hZ2UpCisgICAgU3RhcnREcmFnKFdlYkNv
cmU6OlNlbGVjdGlvbkRhdGEgc2VsZWN0aW9uRGF0YSwgT3B0aW9uU2V0PFdlYkNvcmU6OkRyYWdP
cGVyYXRpb24+IGRyYWdPcGVyYXRpb25NYXNrLCBXZWJLaXQ6OlNoYXJlYWJsZUJpdG1hcDo6SGFu
ZGxlIGRyYWdJbWFnZSwgV2ViQ29yZTo6SW50UG9pbnQgZHJhZ0ltYWdlSG90c3BvdCkKICNlbmRp
ZgogCiAjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9ndGsvV2ViRHJhZ0NsaWVudEd0ay5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvZ3RrL1dlYkRyYWdDbGllbnRHdGsu
Y3BwCmluZGV4IDkwODRkZmIwOGI2NjFlZmFlY2I4ZmExMjA4YzNmMjlhODA3YzU0ODIuLjU1MDg4
YWViMmFiOTkyMDI0MTk5MTczYjNhY2ExNzliZDUxMWI4OGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9ndGsvV2ViRHJhZ0NsaWVudEd0ay5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L2d0ay9XZWJEcmFn
Q2xpZW50R3RrLmNwcApAQCAtNzQsNyArNzQsNyBAQCB2b2lkIFdlYkRyYWdDbGllbnQ6OnN0YXJ0
RHJhZyhEcmFnSXRlbSBpdGVtLCBEYXRhVHJhbnNmZXImIGRhdGFUcmFuc2ZlciwgRnJhbWUmKQog
CiAgICAgbV9wYWdlLT53aWxsU3RhcnREcmFnKCk7CiAKLSAgICBtX3BhZ2UtPnNlbmQoTWVzc2Fn
ZXM6OldlYlBhZ2VQcm94eTo6U3RhcnREcmFnKGRhdGFUcmFuc2Zlci5wYXN0ZWJvYXJkKCkuc2Vs
ZWN0aW9uRGF0YSgpLCBkYXRhVHJhbnNmZXIuc291cmNlT3BlcmF0aW9uTWFzaygpLCBoYW5kbGUp
KTsKKyAgICBtX3BhZ2UtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6U3RhcnREcmFnKGRh
dGFUcmFuc2Zlci5wYXN0ZWJvYXJkKCkuc2VsZWN0aW9uRGF0YSgpLCBkYXRhVHJhbnNmZXIuc291
cmNlT3BlcmF0aW9uTWFzaygpLCBoYW5kbGUsIGRhdGFUcmFuc2Zlci5kcmFnTG9jYXRpb24oKSkp
OwogfQogCiB9OyAvLyBuYW1lc3BhY2UgV2ViS2l0Lgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>453543</attachid>
            <date>2022-03-01 15:49:30 -0800</date>
            <delta_ts>2022-03-02 07:16:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-237292-20220301174929.patch</filename>
            <type>text/plain</type>
            <size>15353</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkwNjgyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTBmZWY0NzQ5OWM1NDg1
MGNiZmU1ZjVkYmI2NmFiNjRhNzBjMGMzZC4uOWNhM2VmZDA4NmVhZDg0NmM4ZWE2YjExNmU3NGUx
MDkzYTJiZTBmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIyLTAzLTAxICBNaWNo
YWVsIENhdGFuemFybyAgPG1jYXRhbnphcm9AZ25vbWUub3JnPgorCisgICAgICAgIFtHVEtdIHNl
dERyYWdJbWFnZSBpZ25vcmVzIG9mZnNldAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjM3MjkyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgVG8gZml4IHRoaXMsIEkgbmVlZCBEYXRhVHJhbnNmZXIgdG8gZXhw
b3NlIGl0cyBkcmFnTG9jYXRpb24sIHdoaWNoIGlzIHRoZSBvZmZzZXQgcGFzc2VkIHRvCisgICAg
ICAgIHNldERyYWdJbWFnZS4KKworICAgICAgICAqIGRvbS9EYXRhVHJhbnNmZXIuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OkRhdGFUcmFuc2Zlcjo6ZHJhZ0xvY2F0aW9uIGNvbnN0KToKKwogMjAyMi0w
My0wMSAgTWljaGFlbCBDYXRhbnphcm8gIDxtY2F0YW56YXJvQGdub21lLm9yZz4KIAogICAgICAg
ICBNaXNjIGNvbXBpbGVyIHdhcm5pbmdzLCBsYXRlIEZlYiAyMDIyIGVkaXRpb24KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5k
ZXggMWU4ZGM4MGU3YzI2Zjg5ZjY4ZTY2NmEyMTlkOWNmMjFkODk0Yzg5NC4uMTFiY2QwZDRiNDVm
M2NjZGY2OWZiMTU0MjQzMjQ1ZDAzYzhlNTA4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMyBAQAor
MjAyMi0wMy0wMSAgTWljaGFlbCBDYXRhbnphcm8gIDxtY2F0YW56YXJvQGdub21lLm9yZz4KKwor
ICAgICAgICBbR1RLXSBzZXREcmFnSW1hZ2UgaWdub3JlcyBvZmZzZXQKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNzI5MgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFBsdW1iIHRoZSBvZmZzZXQgZnJvbSB0
aGUgbGFzdCBwbGFjZSB3ZSBoYXZlIGFjY2VzcyB0byBhIERhdGFUcmFuc2ZlciBvYmplY3QgZG93
biB0bworICAgICAgICBEcmFnU291cmNlLCB3aGVyZSBpdCdzIHVsdGltYXRlbHkgdXNlZC4gVGhp
cyBhbGxvd3Mgd2ViIGNvbnRlbnQgdG8gcHJvcGVybHkgcG9zaXRpb24gdGhlCisgICAgICAgIGRy
YWcgaW1hZ2UgdW5kZXIgdGhlIG1vdXNlIGN1cnNvci4KKworICAgICAgICAqIFVJUHJvY2Vzcy9B
UEkvZ3RrL0RyYWdTb3VyY2UuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9EcmFnU291
cmNlR3RrMy5jcHA6CisgICAgICAgIChXZWJLaXQ6OkRyYWdTb3VyY2U6OmJlZ2luKToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9EcmFnU291cmNlR3RrNC5jcHA6CisgICAgICAgIChXZWJL
aXQ6OkRyYWdTb3VyY2U6OmJlZ2luKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9QYWdl
Q2xpZW50SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnRJbXBsOjpzdGFydERy
YWcpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1BhZ2VDbGllbnRJbXBsLmg6CisgICAg
ICAgICogVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2UuY3BwOgorICAgICAgICAo
d2Via2l0V2ViVmlld0Jhc2VTdGFydERyYWcpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3Rr
L1dlYktpdFdlYlZpZXdCYXNlUHJpdmF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9QYWdlQ2xp
ZW50Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OldlYlBhZ2VQcm94eTo6c3RhcnREcmFnKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vi
UGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5p
bjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L2d0ay9XZWJEcmFnQ2xpZW50
R3RrLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViRHJhZ0NsaWVudDo6c3RhcnREcmFnKToKKwog
MjAyMi0wMy0wMSAgTWljaGFlbCBDYXRhbnphcm8gIDxtY2F0YW56YXJvQGdub21lLm9yZz4KIAog
ICAgICAgICBNaXNjIGNvbXBpbGVyIHdhcm5pbmdzLCBsYXRlIEZlYiAyMDIyIGVkaXRpb24KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9EYXRhVHJhbnNmZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9EYXRhVHJhbnNmZXIuaAppbmRleCBiMDg0ZWU0MTY1MTI2NTIyMjBlNDNhNmQ0YmNj
Y2FmZjdjNjY2ZDVhLi40YjFiNTRkZGMzNzQyNmM1MTYxNGU1OTRjM2E5OWIzODYyOTI5YjY1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRGF0YVRyYW5zZmVyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL0RhdGFUcmFuc2Zlci5oCkBAIC0xMDgsNiArMTA4LDggQEAgcHVibGljOgog
CiAgICAgdm9pZCBtb3ZlRHJhZ1N0YXRlKFJlZjxEYXRhVHJhbnNmZXI+JiYpOwogICAgIGJvb2wg
aGFzRHJhZ0ltYWdlKCkgY29uc3Q7CisKKyAgICBJbnRQb2ludCBkcmFnTG9jYXRpb24oKSBjb25z
dCB7IHJldHVybiBtX2RyYWdMb2NhdGlvbjsgfQogI2VuZGlmCiAKICAgICB2b2lkIGRpZEFkZEZp
bGVUb0l0ZW1MaXN0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Z3RrL0RyYWdTb3VyY2UuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvRHJhZ1Nv
dXJjZS5oCmluZGV4IDkyZmMwMWE4Y2VhYjU0MzRjNmYzYWY0MjZkMWU3OGM5NDIzYTI1NzYuLjQ2
N2VkMTRmZTk0YzlhNmYyYWY5ZmM5NmY4OWYwODVjMjhlODJlYWQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvRHJhZ1NvdXJjZS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9ndGsvRHJhZ1NvdXJjZS5oCkBAIC01Miw3ICs1Miw3IEBAIHB1Ymxp
YzoKICAgICBleHBsaWNpdCBEcmFnU291cmNlKEd0a1dpZGdldCopOwogICAgIH5EcmFnU291cmNl
KCk7CiAKLSAgICB2b2lkIGJlZ2luKFdlYkNvcmU6OlNlbGVjdGlvbkRhdGEmJiwgT3B0aW9uU2V0
PFdlYkNvcmU6OkRyYWdPcGVyYXRpb24+LCBSZWZQdHI8U2hhcmVhYmxlQml0bWFwPiYmKTsKKyAg
ICB2b2lkIGJlZ2luKFdlYkNvcmU6OlNlbGVjdGlvbkRhdGEmJiwgT3B0aW9uU2V0PFdlYkNvcmU6
OkRyYWdPcGVyYXRpb24+LCBSZWZQdHI8U2hhcmVhYmxlQml0bWFwPiYmLCBXZWJDb3JlOjpJbnRQ
b2ludCYmIGltYWdlSG90c3BvdCk7CiAKIHByaXZhdGU6CiAgICAgR3RrV2lkZ2V0KiBtX3dlYlZp
ZXcgeyBudWxscHRyIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Z3RrL0RyYWdTb3VyY2VHdGszLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsv
RHJhZ1NvdXJjZUd0azMuY3BwCmluZGV4IDYxZjA3MTNmMTE2ZGVkMzVhYTg2OWQzNzlhYzQ4MzAy
MmY0ZDQxOWEuLjgxNWQ1ODQ4MjUyMjRlZWY3MWIwZDMyYmRmZjAxMThkMjk0MmM1N2UgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvRHJhZ1NvdXJjZUd0azMuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvRHJhZ1NvdXJjZUd0azMuY3Bw
CkBAIC0xMTIsNyArMTEyLDcgQEAgRHJhZ1NvdXJjZTo6fkRyYWdTb3VyY2UoKQogICAgIGdfc2ln
bmFsX2hhbmRsZXJzX2Rpc2Nvbm5lY3RfYnlfZGF0YShtX3dlYlZpZXcsIHRoaXMpOwogfQogCi12
b2lkIERyYWdTb3VyY2U6OmJlZ2luKFNlbGVjdGlvbkRhdGEmJiBzZWxlY3Rpb25EYXRhLCBPcHRp
b25TZXQ8RHJhZ09wZXJhdGlvbj4gb3BlcmF0aW9uTWFzaywgUmVmUHRyPFNoYXJlYWJsZUJpdG1h
cD4mJiBpbWFnZSkKK3ZvaWQgRHJhZ1NvdXJjZTo6YmVnaW4oU2VsZWN0aW9uRGF0YSYmIHNlbGVj
dGlvbkRhdGEsIE9wdGlvblNldDxEcmFnT3BlcmF0aW9uPiBvcGVyYXRpb25NYXNrLCBSZWZQdHI8
U2hhcmVhYmxlQml0bWFwPiYmIGltYWdlLCBJbnRQb2ludCYmIGltYWdlSG90c3BvdCkKIHsKICAg
ICBpZiAobV9kcmFnKSB7CiAgICAgICAgIGd0a19kcmFnX2NhbmNlbChtX2RyYWcuZ2V0KCkpOwpA
QCAtMTQwLDggKzE0MCw3IEBAIHZvaWQgRHJhZ1NvdXJjZTo6YmVnaW4oU2VsZWN0aW9uRGF0YSYm
IHNlbGVjdGlvbkRhdGEsIE9wdGlvblNldDxEcmFnT3BlcmF0aW9uPiBvCiAgICAgbV9kcmFnID0g
Z3RrX2RyYWdfYmVnaW5fd2l0aF9jb29yZGluYXRlcyhtX3dlYlZpZXcsIGxpc3QuZ2V0KCksIGRy
YWdPcGVyYXRpb25Ub0dka0RyYWdBY3Rpb25zKG9wZXJhdGlvbk1hc2spLCBHREtfQlVUVE9OX1BS
SU1BUlksIG51bGxwdHIsIC0xLCAtMSk7CiAgICAgaWYgKGltYWdlKSB7CiAgICAgICAgIFJlZlB0
cjxjYWlyb19zdXJmYWNlX3Q+IGltYWdlU3VyZmFjZShpbWFnZS0+Y3JlYXRlQ2Fpcm9TdXJmYWNl
KCkpOwotICAgICAgICAvLyBVc2UgdGhlIGNlbnRlciBvZiB0aGUgZHJhZyBpbWFnZSBhcyBob3Rz
cG90LgotICAgICAgICBjYWlyb19zdXJmYWNlX3NldF9kZXZpY2Vfb2Zmc2V0KGltYWdlU3VyZmFj
ZS5nZXQoKSwgLWNhaXJvX2ltYWdlX3N1cmZhY2VfZ2V0X3dpZHRoKGltYWdlU3VyZmFjZS5nZXQo
KSkgLyAyLCAtY2Fpcm9faW1hZ2Vfc3VyZmFjZV9nZXRfaGVpZ2h0KGltYWdlU3VyZmFjZS5nZXQo
KSkgLyAyKTsKKyAgICAgICAgY2Fpcm9fc3VyZmFjZV9zZXRfZGV2aWNlX29mZnNldChpbWFnZVN1
cmZhY2UuZ2V0KCksIC1pbWFnZUhvdHNwb3QueCgpLCAtaW1hZ2VIb3RzcG90LnkoKSk7CiAgICAg
ICAgIGd0a19kcmFnX3NldF9pY29uX3N1cmZhY2UobV9kcmFnLmdldCgpLCBpbWFnZVN1cmZhY2Uu
Z2V0KCkpOwogICAgIH0gZWxzZQogICAgICAgICBndGtfZHJhZ19zZXRfaWNvbl9kZWZhdWx0KG1f
ZHJhZy5nZXQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3Rr
L0RyYWdTb3VyY2VHdGs0LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvRHJh
Z1NvdXJjZUd0azQuY3BwCmluZGV4IGZmZWUxYjA0OTI1ZmMwYjUyNjA5Y2FjZWI3NjFlNmFjYzM2
MTlkYzIuLjA5ZmViMTRiZTAxNjI1ZGZkYWUwM2I1MjJhOGExMmYxMWRmY2FkMGIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvRHJhZ1NvdXJjZUd0azQuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvRHJhZ1NvdXJjZUd0azQuY3BwCkBA
IC00NSw3ICs0NSw3IEBAIERyYWdTb3VyY2U6On5EcmFnU291cmNlKCkKIHsKIH0KIAotdm9pZCBE
cmFnU291cmNlOjpiZWdpbihTZWxlY3Rpb25EYXRhJiYgc2VsZWN0aW9uRGF0YSwgT3B0aW9uU2V0
PERyYWdPcGVyYXRpb24+IG9wZXJhdGlvbk1hc2ssIFJlZlB0cjxTaGFyZWFibGVCaXRtYXA+JiYg
aW1hZ2UpCit2b2lkIERyYWdTb3VyY2U6OmJlZ2luKFNlbGVjdGlvbkRhdGEmJiBzZWxlY3Rpb25E
YXRhLCBPcHRpb25TZXQ8RHJhZ09wZXJhdGlvbj4gb3BlcmF0aW9uTWFzaywgUmVmUHRyPFNoYXJl
YWJsZUJpdG1hcD4mJiBpbWFnZSwgSW50UG9pbnQmJiBpbWFnZUhvdHNwb3QpCiB7CiAgICAgaWYg
KG1fZHJhZykgewogICAgICAgICBnZGtfZHJhZ19kcm9wX2RvbmUobV9kcmFnLmdldCgpLCBGQUxT
RSk7CkBAIC0xMjksNyArMTI5LDcgQEAgdm9pZCBEcmFnU291cmNlOjpiZWdpbihTZWxlY3Rpb25E
YXRhJiYgc2VsZWN0aW9uRGF0YSwgT3B0aW9uU2V0PERyYWdPcGVyYXRpb24+IG8KICAgICBSZWZQ
dHI8SW1hZ2U+IGljb25JbWFnZSA9IGltYWdlID8gaW1hZ2UtPmNyZWF0ZUltYWdlKCkgOiBudWxs
cHRyOwogICAgIGlmIChpY29uSW1hZ2UpIHsKICAgICAgICAgaWYgKEdSZWZQdHI8R2RrVGV4dHVy
ZT4gdGV4dHVyZSA9IGFkb3B0R1JlZihpY29uSW1hZ2UtPmdka1RleHR1cmUoKSkpIHsKLSAgICAg
ICAgICAgIGdka19kcmFnX3NldF9ob3RzcG90KG1fZHJhZy5nZXQoKSwgLWdka190ZXh0dXJlX2dl
dF93aWR0aCh0ZXh0dXJlLmdldCgpKSAvIDIsIC1nZGtfdGV4dHVyZV9nZXRfaGVpZ2h0KHRleHR1
cmUuZ2V0KCkpIC8gMik7CisgICAgICAgICAgICBnZGtfZHJhZ19zZXRfaG90c3BvdChtX2RyYWcu
Z2V0KCksIC1pbWFnZUhvdHNwb3QueCgpLCAtaW1hZ2VIb3RzcG90LnkoKSk7CiAgICAgICAgICAg
ICBhdXRvKiBwaWN0dXJlID0gZ3RrX3BpY3R1cmVfbmV3X2Zvcl9wYWludGFibGUoR0RLX1BBSU5U
QUJMRSh0ZXh0dXJlLmdldCgpKSk7CiAgICAgICAgICAgICBndGtfZHJhZ19pY29uX3NldF9jaGls
ZChHVEtfRFJBR19JQ09OKGRyYWdJY29uKSwgcGljdHVyZSk7CiAgICAgICAgICAgICByZXR1cm47
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1BhZ2VDbGllbnRJ
bXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVudEltcGwu
Y3BwCmluZGV4IGQ1ZWVkZWEzODcxOTc5OTE1ZGE5ZWJkZTgwMzU2YzE1ZjQ4MGJiOGUuLjBkNDMx
Nzg1NjUwNTU1MzllZDhjMmY4OGRlZGFlOTdiYTQ1NWJjNDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVudEltcGwuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVudEltcGwuY3BwCkBAIC0zNDQsOSArMzQ0
LDkgQEAgdm9pZCBQYWdlQ2xpZW50SW1wbDo6ZGlkQ2hhbmdlQ29udGVudFNpemUoY29uc3QgSW50
U2l6ZSYgc2l6ZSkKIH0KIAogI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpCi12b2lkIFBhZ2VDbGll
bnRJbXBsOjpzdGFydERyYWcoU2VsZWN0aW9uRGF0YSYmIHNlbGVjdGlvbiwgT3B0aW9uU2V0PERy
YWdPcGVyYXRpb24+IGRyYWdPcGVyYXRpb25NYXNrLCBSZWZQdHI8U2hhcmVhYmxlQml0bWFwPiYm
IGRyYWdJbWFnZSkKK3ZvaWQgUGFnZUNsaWVudEltcGw6OnN0YXJ0RHJhZyhTZWxlY3Rpb25EYXRh
JiYgc2VsZWN0aW9uLCBPcHRpb25TZXQ8RHJhZ09wZXJhdGlvbj4gZHJhZ09wZXJhdGlvbk1hc2ss
IFJlZlB0cjxTaGFyZWFibGVCaXRtYXA+JiYgZHJhZ0ltYWdlLCBJbnRQb2ludCYmIGRyYWdJbWFn
ZUhvdHNwb3QpCiB7Ci0gICAgd2Via2l0V2ViVmlld0Jhc2VTdGFydERyYWcoV0VCS0lUX1dFQl9W
SUVXX0JBU0UobV92aWV3V2lkZ2V0KSwgV1RGTW92ZShzZWxlY3Rpb24pLCBkcmFnT3BlcmF0aW9u
TWFzaywgV1RGTW92ZShkcmFnSW1hZ2UpKTsKKyAgICB3ZWJraXRXZWJWaWV3QmFzZVN0YXJ0RHJh
ZyhXRUJLSVRfV0VCX1ZJRVdfQkFTRShtX3ZpZXdXaWRnZXQpLCBXVEZNb3ZlKHNlbGVjdGlvbiks
IGRyYWdPcGVyYXRpb25NYXNrLCBXVEZNb3ZlKGRyYWdJbWFnZSksIFdURk1vdmUoZHJhZ0ltYWdl
SG90c3BvdCkpOwogfQogCiB2b2lkIFBhZ2VDbGllbnRJbXBsOjpkaWRQZXJmb3JtRHJhZ0NvbnRy
b2xsZXJBY3Rpb24oKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0
ay9QYWdlQ2xpZW50SW1wbC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9QYWdl
Q2xpZW50SW1wbC5oCmluZGV4IDk0NjkxMDljY2IxYjA3NmYxNjg5M2UxMTkzOGY4NWUxNzM2Zjhk
MjIuLmFhYzMwOTZjOTBjY2VhNzViNGJhZjI3ZDdhZTA0MmVkYjNjM2UzOWIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVudEltcGwuaAorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1BhZ2VDbGllbnRJbXBsLmgKQEAgLTEwNSw3
ICsxMDUsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgc2VsZWN0aW9uRGlkQ2hhbmdlKCkgb3ZlcnJp
ZGU7CiAgICAgUmVmUHRyPFZpZXdTbmFwc2hvdD4gdGFrZVZpZXdTbmFwc2hvdChzdGQ6Om9wdGlv
bmFsPFdlYkNvcmU6OkludFJlY3Q+JiYpIG92ZXJyaWRlOwogI2lmIEVOQUJMRShEUkFHX1NVUFBP
UlQpCi0gICAgdm9pZCBzdGFydERyYWcoV2ViQ29yZTo6U2VsZWN0aW9uRGF0YSYmLCBPcHRpb25T
ZXQ8V2ViQ29yZTo6RHJhZ09wZXJhdGlvbj4sIFJlZlB0cjxTaGFyZWFibGVCaXRtYXA+JiYgZHJh
Z0ltYWdlKSBvdmVycmlkZTsKKyAgICB2b2lkIHN0YXJ0RHJhZyhXZWJDb3JlOjpTZWxlY3Rpb25E
YXRhJiYsIE9wdGlvblNldDxXZWJDb3JlOjpEcmFnT3BlcmF0aW9uPiwgUmVmUHRyPFNoYXJlYWJs
ZUJpdG1hcD4mJiBkcmFnSW1hZ2UsIFdlYkNvcmU6OkludFBvaW50JiYgZHJhZ0ltYWdlSG90c3Bv
dCkgb3ZlcnJpZGU7CiAgICAgdm9pZCBkaWRQZXJmb3JtRHJhZ0NvbnRyb2xsZXJBY3Rpb24oKSBv
dmVycmlkZTsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9ndGsvV2ViS2l0V2ViVmlld0Jhc2UuY3BwCmluZGV4IDZiMzBkYThlYWJjMDk5MWY0NTQzMWE4
NDFiZmRkYjYzMzc0MmU0MWQuLjNmZmNiZDdjMTIzZGRiNGU2MGY1Y2JjZTQzMmY4N2I5NTY5ODcw
NzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2Vi
Vmlld0Jhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0
V2ViVmlld0Jhc2UuY3BwCkBAIC0yMzA4LDEzICsyMzA4LDEzIEBAIHZvaWQgd2Via2l0V2ViVmll
d0Jhc2VTZXRNb3VzZUlzT3ZlclNjcm9sbGJhcihXZWJLaXRXZWJWaWV3QmFzZSogd2ViVmlld0Jh
c2UsIFdlCiB9CiAKICNpZiBFTkFCTEUoRFJBR19TVVBQT1JUKQotdm9pZCB3ZWJraXRXZWJWaWV3
QmFzZVN0YXJ0RHJhZyhXZWJLaXRXZWJWaWV3QmFzZSogd2ViVmlld0Jhc2UsIFNlbGVjdGlvbkRh
dGEmJiBzZWxlY3Rpb25EYXRhLCBPcHRpb25TZXQ8RHJhZ09wZXJhdGlvbj4gZHJhZ09wZXJhdGlv
bk1hc2ssIFJlZlB0cjxTaGFyZWFibGVCaXRtYXA+JiYgaW1hZ2UpCit2b2lkIHdlYmtpdFdlYlZp
ZXdCYXNlU3RhcnREcmFnKFdlYktpdFdlYlZpZXdCYXNlKiB3ZWJWaWV3QmFzZSwgU2VsZWN0aW9u
RGF0YSYmIHNlbGVjdGlvbkRhdGEsIE9wdGlvblNldDxEcmFnT3BlcmF0aW9uPiBkcmFnT3BlcmF0
aW9uTWFzaywgUmVmUHRyPFNoYXJlYWJsZUJpdG1hcD4mJiBpbWFnZSwgSW50UG9pbnQmJiBkcmFn
SW1hZ2VIb3RzcG90KQogewogICAgIFdlYktpdFdlYlZpZXdCYXNlUHJpdmF0ZSogcHJpdiA9IHdl
YlZpZXdCYXNlLT5wcml2OwogICAgIGlmICghcHJpdi0+ZHJhZ1NvdXJjZSkKICAgICAgICAgcHJp
di0+ZHJhZ1NvdXJjZSA9IG1ha2VVbmlxdWU8RHJhZ1NvdXJjZT4oR1RLX1dJREdFVCh3ZWJWaWV3
QmFzZSkpOwogCi0gICAgcHJpdi0+ZHJhZ1NvdXJjZS0+YmVnaW4oV1RGTW92ZShzZWxlY3Rpb25E
YXRhKSwgZHJhZ09wZXJhdGlvbk1hc2ssIFdURk1vdmUoaW1hZ2UpKTsKKyAgICBwcml2LT5kcmFn
U291cmNlLT5iZWdpbihXVEZNb3ZlKHNlbGVjdGlvbkRhdGEpLCBkcmFnT3BlcmF0aW9uTWFzaywg
V1RGTW92ZShpbWFnZSksIFdURk1vdmUoZHJhZ0ltYWdlSG90c3BvdCkpOwogCiAjaWYgIVVTRShH
VEs0KQogICAgIC8vIEEgZHJhZyBzdGFydGluZyBzaG91bGQgcHJldmVudCBhIGRvdWJsZS1jbGlj
ayBmcm9tIGhhcHBlbmluZy4gVGhpcyBtaWdodApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3QmFzZVByaXZhdGUuaCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2VQcml2YXRlLmgKaW5kZXggMWE4
YzkwYzMxNjQxNTM4N2RkNTk5ODA3YzFmNjk4Mzc0OTI3ZmE1Mi4uYjYwZTEwYzRmYjFjNmM4Njc1
NzliNTg2NjFhNmUzZjAxN2JhODFiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3QmFzZVByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlUHJpdmF0ZS5oCkBAIC04NSw3ICs4
NSw3IEBAIHZvaWQgd2Via2l0V2ViVmlld0Jhc2VEaWRSZWxhdW5jaFdlYlByb2Nlc3MoV2ViS2l0
V2ViVmlld0Jhc2UqKTsKIHZvaWQgd2Via2l0V2ViVmlld0Jhc2VQYWdlQ2xvc2VkKFdlYktpdFdl
YlZpZXdCYXNlKik7CiAKICNpZiBFTkFCTEUoRFJBR19TVVBQT1JUKQotdm9pZCB3ZWJraXRXZWJW
aWV3QmFzZVN0YXJ0RHJhZyhXZWJLaXRXZWJWaWV3QmFzZSosIFdlYkNvcmU6OlNlbGVjdGlvbkRh
dGEmJiwgT3B0aW9uU2V0PFdlYkNvcmU6OkRyYWdPcGVyYXRpb24+LCBSZWZQdHI8V2ViS2l0OjpT
aGFyZWFibGVCaXRtYXA+JiYpOwordm9pZCB3ZWJraXRXZWJWaWV3QmFzZVN0YXJ0RHJhZyhXZWJL
aXRXZWJWaWV3QmFzZSosIFdlYkNvcmU6OlNlbGVjdGlvbkRhdGEmJiwgT3B0aW9uU2V0PFdlYkNv
cmU6OkRyYWdPcGVyYXRpb24+LCBSZWZQdHI8V2ViS2l0OjpTaGFyZWFibGVCaXRtYXA+JiYsIFdl
YkNvcmU6OkludFBvaW50JiYgZHJhZ0ltYWdlSG90c3BvdCk7CiB2b2lkIHdlYmtpdFdlYlZpZXdC
YXNlRGlkUGVyZm9ybURyYWdDb250cm9sbGVyQWN0aW9uKFdlYktpdFdlYlZpZXdCYXNlKik7CiAj
ZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFnZUNsaWVudC5o
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCmluZGV4IGIyY2JjNWViNzVh
MzhlMTAxOWZhZjZjYjJiNDc3M2RlMDA1NDBjZjIuLmQwMmJiN2NjODBmNzA3MWExM2M3ZjJiMzY0
MWJjN2JhZjBiYWIwOTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VD
bGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKQEAgLTI4
OSw3ICsyODksNyBAQCBwdWJsaWM6CiAgICAgCiAjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkKICNp
ZiBQTEFURk9STShHVEspCi0gICAgdmlydHVhbCB2b2lkIHN0YXJ0RHJhZyhXZWJDb3JlOjpTZWxl
Y3Rpb25EYXRhJiYsIE9wdGlvblNldDxXZWJDb3JlOjpEcmFnT3BlcmF0aW9uPiwgUmVmUHRyPFNo
YXJlYWJsZUJpdG1hcD4mJiBkcmFnSW1hZ2UpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgc3RhcnRE
cmFnKFdlYkNvcmU6OlNlbGVjdGlvbkRhdGEmJiwgT3B0aW9uU2V0PFdlYkNvcmU6OkRyYWdPcGVy
YXRpb24+LCBSZWZQdHI8U2hhcmVhYmxlQml0bWFwPiYmIGRyYWdJbWFnZSwgV2ViQ29yZTo6SW50
UG9pbnQmJiBkcmFnSW1hZ2VIb3RzcG90KSA9IDA7CiAjZWxzZQogICAgIHZpcnR1YWwgdm9pZCBz
dGFydERyYWcoY29uc3QgV2ViQ29yZTo6RHJhZ0l0ZW0mLCBjb25zdCBTaGFyZWFibGVCaXRtYXA6
OkhhbmRsZSYpIHsgfQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
LmNwcAppbmRleCAyNTlhZTczZWNiOTIxMzVmMDlhOTY1MDFiMzNlZDJhNDFkMzUzMzE5Li44Yzcz
M2FhODg0Njg3OGQ1M2NmYTk1Njc0NTA2MjI4YTRiNzQ2MDEzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTI3MjksMTAgKzI3MjksMTAgQEAgdm9pZCBXZWJQ
YWdlUHJveHk6OmRpZFBlcmZvcm1EcmFnQ29udHJvbGxlckFjdGlvbihzdGQ6Om9wdGlvbmFsPFdl
YkNvcmU6OkRyYWdPcGUKIH0KIAogI2lmIFBMQVRGT1JNKEdUSykKLXZvaWQgV2ViUGFnZVByb3h5
OjpzdGFydERyYWcoU2VsZWN0aW9uRGF0YSYmIHNlbGVjdGlvbkRhdGEsIE9wdGlvblNldDxXZWJD
b3JlOjpEcmFnT3BlcmF0aW9uPiBkcmFnT3BlcmF0aW9uTWFzaywgY29uc3QgU2hhcmVhYmxlQml0
bWFwOjpIYW5kbGUmIGRyYWdJbWFnZUhhbmRsZSkKK3ZvaWQgV2ViUGFnZVByb3h5OjpzdGFydERy
YWcoU2VsZWN0aW9uRGF0YSYmIHNlbGVjdGlvbkRhdGEsIE9wdGlvblNldDxXZWJDb3JlOjpEcmFn
T3BlcmF0aW9uPiBkcmFnT3BlcmF0aW9uTWFzaywgY29uc3QgU2hhcmVhYmxlQml0bWFwOjpIYW5k
bGUmIGRyYWdJbWFnZUhhbmRsZSwgSW50UG9pbnQmJiBkcmFnSW1hZ2VIb3RzcG90KQogewogICAg
IFJlZlB0cjxTaGFyZWFibGVCaXRtYXA+IGRyYWdJbWFnZSA9ICFkcmFnSW1hZ2VIYW5kbGUuaXNO
dWxsKCkgPyBTaGFyZWFibGVCaXRtYXA6OmNyZWF0ZShkcmFnSW1hZ2VIYW5kbGUpIDogbnVsbHB0
cjsKLSAgICBwYWdlQ2xpZW50KCkuc3RhcnREcmFnKFdURk1vdmUoc2VsZWN0aW9uRGF0YSksIGRy
YWdPcGVyYXRpb25NYXNrLCBXVEZNb3ZlKGRyYWdJbWFnZSkpOworICAgIHBhZ2VDbGllbnQoKS5z
dGFydERyYWcoV1RGTW92ZShzZWxlY3Rpb25EYXRhKSwgZHJhZ09wZXJhdGlvbk1hc2ssIFdURk1v
dmUoZHJhZ0ltYWdlKSwgV1RGTW92ZShkcmFnSW1hZ2VIb3RzcG90KSk7CiAKICAgICBkaWRTdGFy
dERyYWcoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggZDMw
ODQyYTFiZGY3MjQ4Y2ZhZjUwYzk0Y2Q3NTg4N2M0ODc3NzY5ZC4uODc4MjM3MDQwMDJlODllMWYw
NDZkNzgzMTNlZDMzNDc1NzEyN2I4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmgKQEAgLTEyODgsNyArMTI4OCw3IEBAIHB1YmxpYzoKICAgICAgICAgY29uc3QgU3RyaW5n
JiB0aXRsZSwgY29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0IFN0cmluZyYgdmlzaWJsZVVSTCwgY29u
c3QgU2hhcmVkTWVtb3J5OjpJUENIYW5kbGUmIGFyY2hpdmVIYW5kbGUsIGNvbnN0IFN0cmluZyYg
b3JpZ2luSWRlbnRpZmllcik7CiAjZW5kaWYKICNpZiBQTEFURk9STShHVEspCi0gICAgdm9pZCBz
dGFydERyYWcoV2ViQ29yZTo6U2VsZWN0aW9uRGF0YSYmLCBPcHRpb25TZXQ8V2ViQ29yZTo6RHJh
Z09wZXJhdGlvbj4sIGNvbnN0IFNoYXJlYWJsZUJpdG1hcDo6SGFuZGxlJiBkcmFnSW1hZ2UpOwor
ICAgIHZvaWQgc3RhcnREcmFnKFdlYkNvcmU6OlNlbGVjdGlvbkRhdGEmJiwgT3B0aW9uU2V0PFdl
YkNvcmU6OkRyYWdPcGVyYXRpb24+LCBjb25zdCBTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSYgZHJh
Z0ltYWdlLCBXZWJDb3JlOjpJbnRQb2ludCYmIGRyYWdJbWFnZUhvdHNwb3QpOwogI2VuZGlmCiAj
ZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3Nh
Z2VzLmluCmluZGV4IDQ3YTRmZDA5MDQ0YjBmMGY2MzY4NmM0YzAxZmE0YTE5NTJhYmU5M2MuLjIw
N2JjMjFkMzJhNmZmZTZiN2VmNWZkZDA2ZTYwNGUyMGE4YWFlNDggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KQEAgLTMwMyw3ICszMDMs
NyBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlUHJveHkgewogICAgIFNldFByb21pc2VkRGF0YUZvcklt
YWdlKFN0cmluZyBwYXN0ZWJvYXJkTmFtZSwgV2ViS2l0OjpTaGFyZWRNZW1vcnk6OklQQ0hhbmRs
ZSBpbWFnZUhhbmRsZSwgU3RyaW5nIGZpbGVuYW1lLCBTdHJpbmcgZXh0ZW5zaW9uLCBTdHJpbmcg
dGl0bGUsIFN0cmluZyB1cmwsIFN0cmluZyB2aXNpYmxlVVJMLCBXZWJLaXQ6OlNoYXJlZE1lbW9y
eTo6SVBDSGFuZGxlIGFyY2hpdmVIYW5kbGUsIFN0cmluZyBvcmlnaW5JZGVudGlmaWVyKQogI2Vu
ZGlmCiAjaWYgUExBVEZPUk0oR1RLKSAmJiBFTkFCTEUoRFJBR19TVVBQT1JUKQotICAgIFN0YXJ0
RHJhZyhXZWJDb3JlOjpTZWxlY3Rpb25EYXRhIHNlbGVjdGlvbkRhdGEsIE9wdGlvblNldDxXZWJD
b3JlOjpEcmFnT3BlcmF0aW9uPiBkcmFnT3BlcmF0aW9uTWFzaywgV2ViS2l0OjpTaGFyZWFibGVC
aXRtYXA6OkhhbmRsZSBkcmFnSW1hZ2UpCisgICAgU3RhcnREcmFnKFdlYkNvcmU6OlNlbGVjdGlv
bkRhdGEgc2VsZWN0aW9uRGF0YSwgT3B0aW9uU2V0PFdlYkNvcmU6OkRyYWdPcGVyYXRpb24+IGRy
YWdPcGVyYXRpb25NYXNrLCBXZWJLaXQ6OlNoYXJlYWJsZUJpdG1hcDo6SGFuZGxlIGRyYWdJbWFn
ZSwgV2ViQ29yZTo6SW50UG9pbnQgZHJhZ0ltYWdlSG90c3BvdCkKICNlbmRpZgogCiAjaWYgRU5B
QkxFKERSQUdfU1VQUE9SVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9ndGsvV2ViRHJhZ0NsaWVudEd0ay5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvZ3RrL1dlYkRyYWdDbGllbnRHdGsuY3BwCmluZGV4IDkw
ODRkZmIwOGI2NjFlZmFlY2I4ZmExMjA4YzNmMjlhODA3YzU0ODIuLjU1MDg4YWViMmFiOTkyMDI0
MTk5MTczYjNhY2ExNzliZDUxMWI4OGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9ndGsvV2ViRHJhZ0NsaWVudEd0ay5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L2d0ay9XZWJEcmFnQ2xpZW50R3RrLmNw
cApAQCAtNzQsNyArNzQsNyBAQCB2b2lkIFdlYkRyYWdDbGllbnQ6OnN0YXJ0RHJhZyhEcmFnSXRl
bSBpdGVtLCBEYXRhVHJhbnNmZXImIGRhdGFUcmFuc2ZlciwgRnJhbWUmKQogCiAgICAgbV9wYWdl
LT53aWxsU3RhcnREcmFnKCk7CiAKLSAgICBtX3BhZ2UtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQ
cm94eTo6U3RhcnREcmFnKGRhdGFUcmFuc2Zlci5wYXN0ZWJvYXJkKCkuc2VsZWN0aW9uRGF0YSgp
LCBkYXRhVHJhbnNmZXIuc291cmNlT3BlcmF0aW9uTWFzaygpLCBoYW5kbGUpKTsKKyAgICBtX3Bh
Z2UtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6U3RhcnREcmFnKGRhdGFUcmFuc2Zlci5w
YXN0ZWJvYXJkKCkuc2VsZWN0aW9uRGF0YSgpLCBkYXRhVHJhbnNmZXIuc291cmNlT3BlcmF0aW9u
TWFzaygpLCBoYW5kbGUsIGRhdGFUcmFuc2Zlci5kcmFnTG9jYXRpb24oKSkpOwogfQogCiB9OyAv
LyBuYW1lc3BhY2UgV2ViS2l0Lgo=
</data>
<flag name="commit-queue"
          id="481032"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
      

    </bug>

</bugzilla>