<?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>173354</bug_id>
          
          <creation_ts>2017-06-14 00:59:49 -0700</creation_ts>
          <short_desc>[Mac] Don&apos;t use the scrolling tree to handle wheel events when it contains transforms that are not axis-aligned</short_desc>
          <delta_ts>2025-07-07 03:20:07 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Frames</component>
          <version>Other</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>ASSIGNED</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>172917</dependson>
          <blocked>171667</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Frédéric Wang (:fredw)">fred.wang</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>fred.wang</cc>
    
    <cc>rbuis</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1319042</commentid>
    <comment_count>0</comment_count>
    <who name="Frédéric Wang (:fredw)">fred.wang</who>
    <bug_when>2017-06-14 00:59:49 -0700</bug_when>
    <thetext>Extracted from bug 171667. Handling transforms might be a little bit complicated, so we can start by falling back to the slow path.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1319062</commentid>
    <comment_count>1</comment_count>
      <attachid>312871</attachid>
    <who name="Frédéric Wang (:fredw)">fred.wang</who>
    <bug_when>2017-06-14 02:08:41 -0700</bug_when>
    <thetext>Created attachment 312871
Patch

(In reply to Frédéric Wang (:fredw) from comment #30)
&gt; Created attachment 311503 [details]
&gt; Patch (do not use async scrolling when there are transformed nodes)
&gt; 
&gt; This is an attempt to avoid async scrolling when there are transformed
&gt; nodes, but it does not work.

I debugged this again and my attempt was actually correct... When there is a transform on the scrolling tree, ScrollingTree::shouldHandleWheelEventSynchronously will return true, tryToHandleWheelEvent will return SendToMainThread and EventDispatcher will thus pass the event to the main thread instead of calling ScrollingTree::handleWheelEvent. However, at the end the the following call stack is executed:

ScrollingTree::handleWheelEvent (scrolling thread)
ThreadedScrollingTree::handleWheelEvent (scrolling thread)
ScrollingCoordinatorMac::handleWheelEvent (main thread)
FrameView::wheelEvent (main thread)
EventHandlerMac&apos;s EventHandler::platformCompleteWheelEvent (main thread)
EventHandler::handleWheelEvent (main thread)

so the event is still handled by the scrolling thread!

@Simon: I commented the guilty part out in FrameView::wheelEvent, so that ScrollableArea::handleWheelEvent is called instead and things work as I expected, but I wonder what would be the proper way to fix that?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1481015</commentid>
    <comment_count>2</comment_count>
      <attachid>355487</attachid>
    <who name="Frédéric Wang (:fredw)">fred.wang</who>
    <bug_when>2018-11-22 12:52:24 -0800</bug_when>
    <thetext>Created attachment 355487
Patch

Rebasing...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1499885</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-01-29 20:44:42 -0800</bug_when>
    <thetext>&lt;rdar://problem/47656477&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1508585</commentid>
    <comment_count>4</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2019-02-21 11:20:56 -0800</bug_when>
    <thetext>We&apos;ll need this at some point (I am not working on this currently).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2128093</commentid>
    <comment_count>5</comment_count>
    <who name="Frédéric Wang (:fredw)">fred.wang</who>
    <bug_when>2025-07-07 03:20:07 -0700</bug_when>
    <thetext>Unassigning myself since I&apos;m not working on this.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>312871</attachid>
            <date>2017-06-14 02:08:41 -0700</date>
            <delta_ts>2018-11-22 12:52:24 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>0003-Bug-173354-Mac-Don-t-use-the-scrolling-tree-to-handl.patch</filename>
            <type>text/plain</type>
            <size>13449</size>
            <attacher name="Frédéric Wang (:fredw)">fred.wang</attacher>
            
              <data encoding="base64">RnJvbSAyZWRhMTA4NzIzM2JlZjY3M2I1OTE3ZTNhODJlNmQyYmI4MzlmYzNjIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBGcmVkZXJpYyBXYW5nIDxmcmVkLndhbmdAZnJlZS5mcj4KRGF0
ZTogV2VkLCAxNCBKdW4gMjAxNyAxMDowMDowNCArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMy8zXSBC
dWcgMTczMzU0IC0gW01hY10gRG9uJ3QgdXNlIHRoZSBzY3JvbGxpbmcgdHJlZSB0byBoYW5kbGUK
IHdoZWVsIGV2ZW50cyB3aGVuIGl0IGNvbnRhaW5zIHRyYW5zZm9ybXMKCi0tLQogU291cmNlL1dl
YkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwICAgICAgICAgICAgICAgICAgICAgICAgICB8IDE0ICsr
KysrKysrLS0tLS0tCiAuLi4vV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9Bc3luY1Njcm9sbGluZ0Nv
b3JkaW5hdG9yLmNwcCAgIHwgIDIgKysKIFNvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Nj
cm9sbGluZ0Nvb3JkaW5hdG9yLmggICAgICAgfCAgMSArCiAuLi4vV2ViQ29yZS9wYWdlL3Njcm9s
bGluZy9TY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUuY3BwIHwgMTMgKysrKysrKysrKysrKwog
Li4uL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlLmgg
ICB8ICA1ICsrKysrCiBTb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVl
LmNwcCAgICAgICAgICAgIHwgIDMgKysrCiBTb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9T
Y3JvbGxpbmdUcmVlLmggICAgICAgICAgICAgIHwgIDkgKysrKysrKysrCiAuLi4vV2ViQ29yZS9w
YWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZS5jcHAgIHwgMTAgKysrKysr
KysrKwogU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZVNjcm9sbGlu
Z05vZGUuaCB8ICAyICsrCiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21w
b3NpdG9yLmNwcCAgICAgICAgIHwgIDMgKysrCiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXJDb21wb3NpdG9yLmggICAgICAgICAgIHwgIDEgKwogMTEgZmlsZXMgY2hhbmdlZCwg
NTcgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0ZyYW1lVmlldy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5j
cHAKaW5kZXggYzQxZmM4ZDNkZDMuLjIxOTIyMTQzMDI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZp
ZXcuY3BwCkBAIC01MDQ4LDEyICs1MDQ4LDE0IEBAIGJvb2wgRnJhbWVWaWV3Ojp3aGVlbEV2ZW50
KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYgd2hlZWxFdmVudCkKICAgICAgICAgcmV0dXJuIGZh
bHNlOwogCiAjaWYgRU5BQkxFKEFTWU5DX1NDUk9MTElORykKLSAgICBpZiAoUGFnZSogcGFnZSA9
IGZyYW1lKCkucGFnZSgpKSB7Ci0gICAgICAgIGlmIChTY3JvbGxpbmdDb29yZGluYXRvciogc2Ny
b2xsaW5nQ29vcmRpbmF0b3IgPSBwYWdlLT5zY3JvbGxpbmdDb29yZGluYXRvcigpKSB7Ci0gICAg
ICAgICAgICBpZiAoc2Nyb2xsaW5nQ29vcmRpbmF0b3ItPmNvb3JkaW5hdGVzU2Nyb2xsaW5nRm9y
RnJhbWVWaWV3KCp0aGlzKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gc2Nyb2xsaW5nQ29vcmRp
bmF0b3ItPmhhbmRsZVdoZWVsRXZlbnQoKnRoaXMsIHdoZWVsRXZlbnQpOwotICAgICAgICB9Ci0g
ICAgfQorLy8gRklYTUU6IFdoZW4gdGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgZnJvbSBFdmVudEhh
bmRsZXJNYWMncworLy8gcGxhdGZvcm1Db21wbGV0ZVdoZWVsRXZlbnQsIHRoaXMgd2lsbCBlbmQg
dXAgdXNpbmcgdGhlIHNjcm9sbGluZyB0cmVlLi4uCisvLyAgICAgaWYgKFBhZ2UqIHBhZ2UgPSBm
cmFtZSgpLnBhZ2UoKSkgeworLy8gICAgICAgICBpZiAoU2Nyb2xsaW5nQ29vcmRpbmF0b3IqIHNj
cm9sbGluZ0Nvb3JkaW5hdG9yID0gcGFnZS0+c2Nyb2xsaW5nQ29vcmRpbmF0b3IoKSkgeworLy8g
ICAgICAgICAgICAgaWYgKHNjcm9sbGluZ0Nvb3JkaW5hdG9yLT5jb29yZGluYXRlc1Njcm9sbGlu
Z0ZvckZyYW1lVmlldygqdGhpcykpCisvLyAgICAgICAgICAgICAgICAgcmV0dXJuIHNjcm9sbGlu
Z0Nvb3JkaW5hdG9yLT5oYW5kbGVXaGVlbEV2ZW50KCp0aGlzLCB3aGVlbEV2ZW50KTsKKy8vICAg
ICAgICAgfQorLy8gICAgIH0KICNlbmRpZgogCiAgICAgcmV0dXJuIFNjcm9sbGFibGVBcmVhOjpo
YW5kbGVXaGVlbEV2ZW50KHdoZWVsRXZlbnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9zY3JvbGxpbmcvQXN5bmNTY3JvbGxpbmdDb29yZGluYXRvci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9Bc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcAppbmRleCBm
MTdiZjhjNjFkMS4uYWVkMDk1MGI5NDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
c2Nyb2xsaW5nL0FzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3BwCkBAIC01Mjcs
NiArNTI3LDcgQEAgdm9pZCBBc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yOjp1cGRhdGVGcmFtZVNj
cm9sbGluZ05vZGUoU2Nyb2xsaW5nTm9kZUlEIG5vZGVJRCwKICAgICBub2RlLT5zZXRDb3VudGVy
U2Nyb2xsaW5nTGF5ZXIoY291bnRlclNjcm9sbGluZ0xheWVyKTsKIAogICAgIGlmIChzY3JvbGxp
bmdHZW9tZXRyeSkgeworICAgICAgICBub2RlLT5zZXRIYXNUcmFuc2Zvcm0oc2Nyb2xsaW5nR2Vv
bWV0cnktPmhhc1RyYW5zZm9ybSk7CiAgICAgICAgIG5vZGUtPnNldE9mZnNldEluUGFyZW50KHNj
cm9sbGluZ0dlb21ldHJ5LT5vZmZzZXRJblBhcmVudCk7CiAgICAgICAgIG5vZGUtPnNldFNjcm9s
bE9yaWdpbihzY3JvbGxpbmdHZW9tZXRyeS0+c2Nyb2xsT3JpZ2luKTsKICAgICAgICAgbm9kZS0+
c2V0U2Nyb2xsUG9zaXRpb24oc2Nyb2xsaW5nR2VvbWV0cnktPnNjcm9sbFBvc2l0aW9uKTsKQEAg
LTU0Nyw2ICs1NDgsNyBAQCB2b2lkIEFzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3I6OnVwZGF0ZU92
ZXJmbG93U2Nyb2xsaW5nTm9kZShTY3JvbGxpbmdOb2RlSUQgbm9kZQogICAgIG5vZGUtPnNldFNj
cm9sbGVkQ29udGVudHNMYXllcihzY3JvbGxlZENvbnRlbnRzTGF5ZXIpOwogICAgIAogICAgIGlm
IChzY3JvbGxpbmdHZW9tZXRyeSkgeworICAgICAgICBub2RlLT5zZXRIYXNUcmFuc2Zvcm0oc2Ny
b2xsaW5nR2VvbWV0cnktPmhhc1RyYW5zZm9ybSk7CiAgICAgICAgIG5vZGUtPnNldE9mZnNldElu
UGFyZW50KHNjcm9sbGluZ0dlb21ldHJ5LT5vZmZzZXRJblBhcmVudCk7CiAgICAgICAgIG5vZGUt
PnNldFNjcm9sbE9yaWdpbihzY3JvbGxpbmdHZW9tZXRyeS0+c2Nyb2xsT3JpZ2luKTsKICAgICAg
ICAgbm9kZS0+c2V0U2Nyb2xsUG9zaXRpb24oc2Nyb2xsaW5nR2VvbWV0cnktPnNjcm9sbFBvc2l0
aW9uKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGlu
Z0Nvb3JkaW5hdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdD
b29yZGluYXRvci5oCmluZGV4IGY0MzY3ZmQ2MzRkLi42ZTc4OWY0MjczOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvci5oCkBA
IC0xNjgsNiArMTY4LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVWaWV3cG9y
dENvbnN0cmFpbmVkTm9kZShTY3JvbGxpbmdOb2RlSUQsIGNvbnN0IFZpZXdwb3J0Q29uc3RyYWlu
dHMmLCBHcmFwaGljc0xheWVyKikgeyB9CiAKICAgICBzdHJ1Y3QgU2Nyb2xsaW5nR2VvbWV0cnkg
eworICAgICAgICBib29sIGhhc1RyYW5zZm9ybSB7IGZhbHNlIH07CiAgICAgICAgIExheW91dFBv
aW50IG9mZnNldEluUGFyZW50OwogICAgICAgICBGbG9hdFNpemUgc2Nyb2xsYWJsZUFyZWFTaXpl
OwogICAgICAgICBGbG9hdFNpemUgY29udGVudFNpemU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlLmNw
cAppbmRleCA5NWUxMzg5N2E2Mi4uZTJlYzY3Mjg3OGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2Rl
LmNwcApAQCAtNDMsNiArNDMsNyBAQCBTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGU6OlNjcm9s
bGluZ1N0YXRlU2Nyb2xsaW5nTm9kZShjb25zdCBTY3JvbGxpbmdTdGF0ZVNjcgogICAgICwgbV9z
Y3JvbGxhYmxlQXJlYVNpemUoc3RhdGVOb2RlLnNjcm9sbGFibGVBcmVhU2l6ZSgpKQogICAgICwg
bV90b3RhbENvbnRlbnRzU2l6ZShzdGF0ZU5vZGUudG90YWxDb250ZW50c1NpemUoKSkKICAgICAs
IG1fcmVhY2hhYmxlQ29udGVudHNTaXplKHN0YXRlTm9kZS5yZWFjaGFibGVDb250ZW50c1NpemUo
KSkKKyAgICAsIG1faGFzVHJhbnNmb3JtKHN0YXRlTm9kZS5oYXNUcmFuc2Zvcm0oKSkKICAgICAs
IG1fb2Zmc2V0SW5QYXJlbnQoc3RhdGVOb2RlLm9mZnNldEluUGFyZW50KCkpCiAgICAgLCBtX3Nj
cm9sbFBvc2l0aW9uKHN0YXRlTm9kZS5zY3JvbGxQb3NpdGlvbigpKQogICAgICwgbV9yZXF1ZXN0
ZWRTY3JvbGxQb3NpdGlvbihzdGF0ZU5vZGUucmVxdWVzdGVkU2Nyb2xsUG9zaXRpb24oKSkKQEAg
LTg3LDYgKzg4LDE1IEBAIHZvaWQgU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlOjpzZXRSZWFj
aGFibGVDb250ZW50c1NpemUoY29uc3QgRmxvYXRTaXplJiByZWFjCiAgICAgc2V0UHJvcGVydHlD
aGFuZ2VkKFJlYWNoYWJsZUNvbnRlbnRzU2l6ZSk7CiB9CiAKK3ZvaWQgU2Nyb2xsaW5nU3RhdGVT
Y3JvbGxpbmdOb2RlOjpzZXRIYXNUcmFuc2Zvcm0oYm9vbCBoYXNUcmFuc2Zvcm0pCit7CisgICAg
aWYgKG1faGFzVHJhbnNmb3JtID09IGhhc1RyYW5zZm9ybSkKKyAgICAgICAgcmV0dXJuOworCisg
ICAgbV9oYXNUcmFuc2Zvcm0gPSBoYXNUcmFuc2Zvcm07CisgICAgc2V0UHJvcGVydHlDaGFuZ2Vk
KEhhc1RyYW5zZm9ybSk7Cit9CisKIHZvaWQgU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlOjpz
ZXRPZmZzZXRJblBhcmVudChjb25zdCBMYXlvdXRQb2ludCYgb2Zmc2V0SW5QYXJlbnQpCiB7CiAg
ICAgaWYgKG1fb2Zmc2V0SW5QYXJlbnQgPT0gb2Zmc2V0SW5QYXJlbnQpCkBAIC0yMzIsNiArMjQy
LDkgQEAgdm9pZCBTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGU6OmR1bXBQcm9wZXJ0aWVzKFRl
eHRTdHJlYW0mIHRzLCBTY3JvbGxpbmdTdGF0ZVQKICAgICBpZiAobV9yZXF1ZXN0ZWRTY3JvbGxQ
b3NpdGlvblJlcHJlc2VudHNQcm9ncmFtbWF0aWNTY3JvbGwpCiAgICAgICAgIHRzLmR1bXBQcm9w
ZXJ0eSgicmVxdWVzdGVkIHNjcm9sbCBwb3NpdGlvbiByZXByZXNlbnRzIHByb2dyYW1tYXRpYyBz
Y3JvbGwiLCBtX3JlcXVlc3RlZFNjcm9sbFBvc2l0aW9uUmVwcmVzZW50c1Byb2dyYW1tYXRpY1Nj
cm9sbCk7CiAKKyAgICBpZiAobV9oYXNUcmFuc2Zvcm0pCisgICAgICAgIHRzLmR1bXBQcm9wZXJ0
eSgiaGFzIHRyYW5zZm9ybSIsIG1faGFzVHJhbnNmb3JtKTsKKwogICAgIGlmIChtX29mZnNldElu
UGFyZW50ICE9IExheW91dFBvaW50KCkpCiAgICAgICAgIHRzLmR1bXBQcm9wZXJ0eSgib2Zmc2V0
IGluIHBhcmVudCIsIG1fb2Zmc2V0SW5QYXJlbnQpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZS5oCmlu
ZGV4IGI5MmUwZWQ1ZTgwLi41NzA1ZmE3ZmVmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlLmgKQEAg
LTQyLDYgKzQyLDcgQEAgcHVibGljOgogICAgICAgICBTY3JvbGxhYmxlQXJlYVNpemUgPSBOdW1T
dGF0ZU5vZGVCaXRzLAogICAgICAgICBUb3RhbENvbnRlbnRzU2l6ZSwKICAgICAgICAgUmVhY2hh
YmxlQ29udGVudHNTaXplLAorICAgICAgICBIYXNUcmFuc2Zvcm0sCiAgICAgICAgIE9mZnNldElu
UGFyZW50LAogICAgICAgICBTY3JvbGxQb3NpdGlvbiwKICAgICAgICAgU2Nyb2xsT3JpZ2luLApA
QCAtNjgsNiArNjksOSBAQCBwdWJsaWM6CiAgICAgY29uc3QgRmxvYXRTaXplJiByZWFjaGFibGVD
b250ZW50c1NpemUoKSBjb25zdCB7IHJldHVybiBtX3JlYWNoYWJsZUNvbnRlbnRzU2l6ZTsgfQog
ICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0UmVhY2hhYmxlQ29udGVudHNTaXplKGNvbnN0IEZs
b2F0U2l6ZSYpOwogCisgICAgYm9vbCBoYXNUcmFuc2Zvcm0oKSBjb25zdCB7IHJldHVybiBtX2hh
c1RyYW5zZm9ybTsgfQorICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0SGFzVHJhbnNmb3JtKGJv
b2wpOworCiAgICAgY29uc3QgTGF5b3V0UG9pbnQmIG9mZnNldEluUGFyZW50KCkgY29uc3QgeyBy
ZXR1cm4gbV9vZmZzZXRJblBhcmVudDsgfQogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0T2Zm
c2V0SW5QYXJlbnQoY29uc3QgTGF5b3V0UG9pbnQmKTsKIApAQCAtMTE3LDYgKzEyMSw3IEBAIHBy
aXZhdGU6CiAgICAgRmxvYXRTaXplIG1fc2Nyb2xsYWJsZUFyZWFTaXplOwogICAgIEZsb2F0U2l6
ZSBtX3RvdGFsQ29udGVudHNTaXplOwogICAgIEZsb2F0U2l6ZSBtX3JlYWNoYWJsZUNvbnRlbnRz
U2l6ZTsKKyAgICBib29sIG1faGFzVHJhbnNmb3JtIHsgZmFsc2UgfTsKICAgICBMYXlvdXRQb2lu
dCBtX29mZnNldEluUGFyZW50OwogICAgIEZsb2F0UG9pbnQgbV9zY3JvbGxQb3NpdGlvbjsKICAg
ICBGbG9hdFBvaW50IG1fcmVxdWVzdGVkU2Nyb2xsUG9zaXRpb247CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWUuY3BwCmluZGV4IGRlOGE2YTgwMWJmLi5i
YjlmNzZkYTIyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Ny
b2xsaW5nVHJlZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xs
aW5nVHJlZS5jcHAKQEAgLTU0LDYgKzU0LDkgQEAgYm9vbCBTY3JvbGxpbmdUcmVlOjpzaG91bGRI
YW5kbGVXaGVlbEV2ZW50U3luY2hyb25vdXNseShjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQKICAg
ICAvLyBUaGlzIG1ldGhvZCBpcyBpbnZva2VkIGJ5IHRoZSBldmVudCBoYW5kbGluZyB0aHJlYWQK
ICAgICBMb2NrSG9sZGVyIGxvY2sobV9tdXRleCk7CiAKKyAgICBpZiAoaGFzVHJhbnNmb3JtKCkp
CisgICAgICAgIHJldHVybiB0cnVlOworCiAgICAgYm9vbCBzaG91bGRTZXRMYXRjaCA9IHdoZWVs
RXZlbnQuc2hvdWxkQ29uc2lkZXJMYXRjaGluZygpOwogICAgIAogICAgIGlmIChoYXNMYXRjaGVk
Tm9kZSgpICYmICFzaG91bGRTZXRMYXRjaCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWUuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xs
aW5nL1Njcm9sbGluZ1RyZWUuaAppbmRleCA5Yjg5NTA0NWYzZi4uYjMwMDMxZDAwYzUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWUuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlLmgKQEAgLTE0MCw2
ICsxNDAsMTQgQEAgcHVibGljOgogICAgIGJvb2wgaGFzTGF0Y2hlZE5vZGUoKSBjb25zdCB7IHJl
dHVybiBtX2xhdGNoZWROb2RlOyB9CiAgICAgdm9pZCBzZXRPckNsZWFyTGF0Y2hlZE5vZGUoY29u
c3QgUGxhdGZvcm1XaGVlbEV2ZW50JiwgU2Nyb2xsaW5nTm9kZUlEKTsKIAorICAgIGJvb2wgaGFz
VHJhbnNmb3JtKCkgY29uc3QgeyByZXR1cm4gISFtX3RyYW5zZm9ybWVkTm9kZUNvdW50OyB9Cisg
ICAgdm9pZCB0cmFuc2Zvcm1lZE5vZGVBZGRlZCgpIHsgKyttX3RyYW5zZm9ybWVkTm9kZUNvdW50
OyB9CisgICAgdm9pZCB0cmFuc2Zvcm1lZE5vZGVSZW1vdmVkKCkKKyAgICB7CisgICAgICAgIEFT
U0VSVChtX3RyYW5zZm9ybWVkTm9kZUNvdW50KTsKKyAgICAgICAgLS1tX3RyYW5zZm9ybWVkTm9k
ZUNvdW50OworICAgIH0KKwogICAgIGJvb2wgaGFzRml4ZWRPclN0aWNreSgpIGNvbnN0IHsgcmV0
dXJuICEhbV9maXhlZE9yU3RpY2t5Tm9kZUNvdW50OyB9CiAgICAgdm9pZCBmaXhlZE9yU3RpY2t5
Tm9kZUFkZGVkKCkgeyArK21fZml4ZWRPclN0aWNreU5vZGVDb3VudDsgfQogICAgIHZvaWQgZml4
ZWRPclN0aWNreU5vZGVSZW1vdmVkKCkKQEAgLTE3Nyw2ICsxODUsNyBAQCBwcml2YXRlOgogICAg
IFNjcm9sbFBpbm5pbmdCZWhhdmlvciBtX3Njcm9sbFBpbm5pbmdCZWhhdmlvciB7IERvTm90UGlu
IH07CiAgICAgU2Nyb2xsaW5nTm9kZUlEIG1fbGF0Y2hlZE5vZGUgeyAwIH07CiAKKyAgICB1bnNp
Z25lZCBtX3RyYW5zZm9ybWVkTm9kZUNvdW50IHsgMCB9OwogICAgIHVuc2lnbmVkIG1fZml4ZWRP
clN0aWNreU5vZGVDb3VudCB7IDAgfTsKIAogICAgIGJvb2wgbV9ydWJiZXJCYW5kc0F0TGVmdCB7
IHRydWUgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9s
bGluZ1RyZWVTY3JvbGxpbmdOb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5n
L1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlLmNwcAppbmRleCBmOTlkYTkwMTE4NC4uYzA4YjA0
ZWJmYTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGlu
Z1RyZWVTY3JvbGxpbmdOb2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGlu
Zy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZS5jcHAKQEAgLTQxLDYgKzQxLDggQEAgU2Nyb2xs
aW5nVHJlZVNjcm9sbGluZ05vZGU6OlNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlKFNjcm9sbGlu
Z1RyZWUmIHNjcm9sbGluZ1QKIAogU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGU6On5TY3JvbGxp
bmdUcmVlU2Nyb2xsaW5nTm9kZSgpCiB7CisgICAgaWYgKG1faGFzVHJhbnNmb3JtKQorICAgICAg
ICBzY3JvbGxpbmdUcmVlKCkudHJhbnNmb3JtZWROb2RlUmVtb3ZlZCgpOwogfQogCiB2b2lkIFNj
cm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlOjpjb21taXRTdGF0ZUJlZm9yZUNoaWxkcmVuKGNvbnN0
IFNjcm9sbGluZ1N0YXRlTm9kZSYgc3RhdGVOb2RlKQpAQCAtNjUsNiArNjcsMTQgQEAgdm9pZCBT
Y3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZTo6Y29tbWl0U3RhdGVCZWZvcmVDaGlsZHJlbihjb25z
dCBTY3JvbGxpbmdTdGF0ZU4KICAgICBpZiAoc3RhdGUuaGFzQ2hhbmdlZFByb3BlcnR5KFNjcm9s
bGluZ1N0YXRlU2Nyb2xsaW5nTm9kZTo6U2Nyb2xsUG9zaXRpb24pKQogICAgICAgICBtX2xhc3RD
b21taXR0ZWRTY3JvbGxQb3NpdGlvbiA9IHN0YXRlLnNjcm9sbFBvc2l0aW9uKCk7CiAKKyAgICBp
ZiAoc3RhdGUuaGFzQ2hhbmdlZFByb3BlcnR5KFNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZTo6
SGFzVHJhbnNmb3JtKSkgeworICAgICAgICBtX2hhc1RyYW5zZm9ybSA9IHN0YXRlLmhhc1RyYW5z
Zm9ybSgpOworICAgICAgICBpZiAobV9oYXNUcmFuc2Zvcm0pCisgICAgICAgICAgICBzY3JvbGxp
bmdUcmVlKCkudHJhbnNmb3JtZWROb2RlQWRkZWQoKTsKKyAgICAgICAgZWxzZQorICAgICAgICAg
ICAgc2Nyb2xsaW5nVHJlZSgpLnRyYW5zZm9ybWVkTm9kZVJlbW92ZWQoKTsKKyAgICB9CisKICAg
ICBpZiAoc3RhdGUuaGFzQ2hhbmdlZFByb3BlcnR5KFNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9k
ZTo6T2Zmc2V0SW5QYXJlbnQpKQogICAgICAgICBtX29mZnNldEluUGFyZW50ID0gc3RhdGUub2Zm
c2V0SW5QYXJlbnQoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxp
bmcvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlLmgKaW5kZXggOWMwNWViZjRhOWQuLjcx
YTY4ZTNhMThiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3Jv
bGxpbmdUcmVlU2Nyb2xsaW5nTm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xs
aW5nL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlLmgKQEAgLTgxLDYgKzgxLDcgQEAgcHJvdGVj
dGVkOgogICAgIGNvbnN0IEZsb2F0U2l6ZSYgc2Nyb2xsYWJsZUFyZWFTaXplKCkgY29uc3QgeyBy
ZXR1cm4gbV9zY3JvbGxhYmxlQXJlYVNpemU7IH0KICAgICBjb25zdCBGbG9hdFNpemUmIHRvdGFs
Q29udGVudHNTaXplKCkgY29uc3QgeyByZXR1cm4gbV90b3RhbENvbnRlbnRzU2l6ZTsgfQogICAg
IGNvbnN0IEZsb2F0U2l6ZSYgcmVhY2hhYmxlQ29udGVudHNTaXplKCkgY29uc3QgeyByZXR1cm4g
bV9yZWFjaGFibGVDb250ZW50c1NpemU7IH0KKyAgICBib29sIGhhc1RyYW5zZm9ybSgpIGNvbnN0
IHsgcmV0dXJuIG1faGFzVHJhbnNmb3JtOyB9CiAgICAgY29uc3QgTGF5b3V0UG9pbnQmIG9mZnNl
dEluUGFyZW50KCkgY29uc3QgeyByZXR1cm4gbV9vZmZzZXRJblBhcmVudDsgfQogICAgIGNvbnN0
IEludFBvaW50JiBzY3JvbGxPcmlnaW4oKSBjb25zdCB7IHJldHVybiBtX3Njcm9sbE9yaWdpbjsg
fQogCkBAIC0xMDYsNiArMTA3LDcgQEAgcHJpdmF0ZToKICAgICBGbG9hdFNpemUgbV90b3RhbENv
bnRlbnRzU2l6ZUZvclJ1YmJlckJhbmQ7CiAgICAgRmxvYXRTaXplIG1fcmVhY2hhYmxlQ29udGVu
dHNTaXplOwogICAgIEZsb2F0UG9pbnQgbV9sYXN0Q29tbWl0dGVkU2Nyb2xsUG9zaXRpb247Cisg
ICAgYm9vbCBtX2hhc1RyYW5zZm9ybSB7IGZhbHNlIH07CiAgICAgTGF5b3V0UG9pbnQgbV9vZmZz
ZXRJblBhcmVudDsKICAgICBJbnRQb2ludCBtX3Njcm9sbE9yaWdpbjsKICNpZiBFTkFCTEUoQ1NT
X1NDUk9MTF9TTkFQKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyQ29tcG9zaXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5
ZXJDb21wb3NpdG9yLmNwcAppbmRleCBmOTkzMTJiY2NkZi4uNDFlY2Q5ZGQzYmYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCkBA
IC0zNzQ4LDEwICszNzQ4LDEyIEBAIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6RW5jbG9zaW5nTm9k
ZURhdGEgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpmaW5kRW5jbG9zaW5nU2NyCiAgICAgRW5jbG9z
aW5nTm9kZURhdGEgcmVzdWx0OwogICAgIFJlbmRlckxheWVyKiBjdXJyTGF5ZXIgPSAmbGF5ZXI7
CiAgICAgaWYgKGluY2x1ZGVTZWxmID09IEV4Y2x1ZGVTZWxmKSB7CisgICAgICAgIHJlc3VsdC5o
YXNUcmFuc2Zvcm0gfD0gY3VyckxheWVyLT5oYXNUcmFuc2Zvcm0oKTsKICAgICAgICAgcmVzdWx0
Lm9mZnNldEluUGFyZW50Lm1vdmVCeShjdXJyTGF5ZXItPmxvY2F0aW9uKCkpOwogICAgICAgICBj
dXJyTGF5ZXIgPSBsYXllci5wYXJlbnQoKTsKICAgICB9CiAgICAgd2hpbGUgKGN1cnJMYXllcikg
eworICAgICAgICByZXN1bHQuaGFzVHJhbnNmb3JtIHw9IGN1cnJMYXllci0+aGFzVHJhbnNmb3Jt
KCk7CiAgICAgICAgIHJlc3VsdC5vZmZzZXRJblBhcmVudC5tb3ZlQnkoY3VyckxheWVyLT5sb2Nh
dGlvbigpKTsKICAgICAgICAgaWYgKFJlbmRlckxheWVyQmFja2luZyogYmFja2luZyA9IGN1cnJM
YXllci0+YmFja2luZygpKSB7CiAgICAgICAgICAgICBpZiAoU2Nyb2xsaW5nTm9kZUlEIG5vZGVJ
RCA9IGJhY2tpbmctPnNjcm9sbGluZ05vZGVJREZvckNoaWxkcmVuKCkpIHsKQEAgLTM4NzIsNiAr
Mzg3NCw3IEBAIHZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpkZXRhY2hTY3JvbGxDb29yZGlu
YXRlZExheWVyKFJlbmRlckxheWVyJiBsYXllciwgTGF5CiBTY3JvbGxpbmdDb29yZGluYXRvcjo6
U2Nyb2xsaW5nR2VvbWV0cnkgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpzY3JvbGxpbmdHZW9tZXRy
eUZvcihjb25zdCBSZW5kZXJMYXllciYgbGF5ZXIsIGNvbnN0IEVuY2xvc2luZ05vZGVEYXRhJiBl
bmNsb3NpbmdOb2RlRGF0YSkKIHsKICAgICBTY3JvbGxpbmdDb29yZGluYXRvcjo6U2Nyb2xsaW5n
R2VvbWV0cnkgc2Nyb2xsaW5nR2VvbWV0cnk7CisgICAgc2Nyb2xsaW5nR2VvbWV0cnkuaGFzVHJh
bnNmb3JtID0gZW5jbG9zaW5nTm9kZURhdGEuaGFzVHJhbnNmb3JtOwogICAgIHNjcm9sbGluZ0dl
b21ldHJ5Lm9mZnNldEluUGFyZW50ID0gZW5jbG9zaW5nTm9kZURhdGEub2Zmc2V0SW5QYXJlbnQ7
CiAgICAgc2Nyb2xsaW5nR2VvbWV0cnkuc2Nyb2xsT3JpZ2luID0gbGF5ZXIuc2Nyb2xsT3JpZ2lu
KCk7CiAgICAgc2Nyb2xsaW5nR2VvbWV0cnkuc2Nyb2xsUG9zaXRpb24gPSBsYXllci5zY3JvbGxQ
b3NpdGlvbigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxh
eWVyQ29tcG9zaXRvci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29t
cG9zaXRvci5oCmluZGV4IGQ1NjUwMjQ1Mzc0Li41MDgwNmFiODc5NyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuaApAQCAtNDQyLDYgKzQ0
Miw3IEBAIHByaXZhdGU6CiAKICAgICBzdHJ1Y3QgRW5jbG9zaW5nTm9kZURhdGEgewogICAgICAg
ICBTY3JvbGxpbmdOb2RlSUQgbm9kZUlEIHsgMCB9OworICAgICAgICBib29sIGhhc1RyYW5zZm9y
bSB7IGZhbHNlIH07CiAgICAgICAgIExheW91dFBvaW50IG9mZnNldEluUGFyZW50OwogICAgIH07
CiAgICAgRW5jbG9zaW5nTm9kZURhdGEgZmluZEVuY2xvc2luZ1Njcm9sbGluZ05vZGUoUmVuZGVy
TGF5ZXImLCBJbmNsdWRlU2VsZk9yTm90KTsKLS0gCjIuMTEuMCAoQXBwbGUgR2l0LTgxKQoK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>355487</attachid>
            <date>2018-11-22 12:52:24 -0800</date>
            <delta_ts>2018-11-22 12:52:24 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>0004-Bug-173354-Mac-Don-t-use-the-scrolling-tree-to-handl.patch</filename>
            <type>text/plain</type>
            <size>13872</size>
            <attacher name="Frédéric Wang (:fredw)">fred.wang</attacher>
            
              <data encoding="base64">RnJvbSA2NTVjYzA0MzkwYmE0YmRjNWFhOTVkNjlhZDY4OGVjMWNiNTEyNjMzIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBGcmVkZXJpYyBXYW5nIDxmd2FuZ0BpZ2FsaWEuY29tPgpEYXRl
OiBUaHUsIDIyIE5vdiAyMDE4IDIxOjQ5OjMzICswMTAwClN1YmplY3Q6IFtQQVRDSCB4c2VydmVy
IDQvNF0gQnVnIDE3MzM1NCAtIFtNYWNdIERvbid0IHVzZSB0aGUgc2Nyb2xsaW5nIHRyZWUKIHRv
IGhhbmRsZSB3aGVlbCBldmVudHMgd2hlbiBpdCBjb250YWlucyB0cmFuc2Zvcm1zIHRoYXQgYXJl
IG5vdCBheGlzLWFsaWduZWQKCi0tLQogU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3Bw
ICAgICAgICAgICAgICAgICB8IDEzICsrKysrKystLS0tLS0KIC4uLi9wYWdlL3Njcm9sbGluZy9B
c3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcCAgfCAgMiArKwogLi4uL1dlYkNvcmUvcGFnZS9z
Y3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuaCB8ICAxICsKIC4uLi9zY3JvbGxpbmcvU2Ny
b2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlLmNwcCAgICAgfCAxMyArKysrKysrKysrKysrCiAuLi4v
cGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlLmggIHwgIDcgKysrKysr
LQogU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZS5jcHAgICB8ICAz
ICsrKwogU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZS5oICAgICB8
ICA5ICsrKysrKysrKwogLi4uL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdO
b2RlLmNwcCB8IDE1ICsrKysrKysrKysrKysrLQogLi4uL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGlu
Z1RyZWVTY3JvbGxpbmdOb2RlLmggICB8ICAyICsrCiAuLi4vV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXJDb21wb3NpdG9yLmNwcCAgIHwgIDIgKysKIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMYXllckNvbXBvc2l0b3IuaCAgfCAgMSArCiAxMSBmaWxlcyBjaGFuZ2VkLCA2MCBp
bnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRnJhbWVWaWV3LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApp
bmRleCBmNGFkMmQ2OTlkZC4uMDY1MDBiODJmODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRnJhbWVWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5j
cHAKQEAgLTUwMTgsMTIgKzUwMTgsMTMgQEAgYm9vbCBGcmFtZVZpZXc6OndoZWVsRXZlbnQoY29u
c3QgUGxhdGZvcm1XaGVlbEV2ZW50JiB3aGVlbEV2ZW50KQogICAgICAgICByZXR1cm4gZmFsc2U7
CiAKICNpZiBFTkFCTEUoQVNZTkNfU0NST0xMSU5HKQotICAgIGlmIChQYWdlKiBwYWdlID0gZnJh
bWUoKS5wYWdlKCkpIHsKLSAgICAgICAgaWYgKFNjcm9sbGluZ0Nvb3JkaW5hdG9yKiBzY3JvbGxp
bmdDb29yZGluYXRvciA9IHBhZ2UtPnNjcm9sbGluZ0Nvb3JkaW5hdG9yKCkpIHsKLSAgICAgICAg
ICAgIGlmIChzY3JvbGxpbmdDb29yZGluYXRvci0+Y29vcmRpbmF0ZXNTY3JvbGxpbmdGb3JGcmFt
ZVZpZXcoKnRoaXMpKQotICAgICAgICAgICAgICAgIHJldHVybiBzY3JvbGxpbmdDb29yZGluYXRv
ci0+aGFuZGxlV2hlZWxFdmVudCgqdGhpcywgd2hlZWxFdmVudCk7Ci0gICAgICAgIH0KLSAgICB9
CisgICAgLy8gRklYTUU6IFdoZW4gdGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgZnJvbSBFdmVudEhh
bmRsZXJNYWMncyBwbGF0Zm9ybUNvbXBsZXRlV2hlZWxFdmVudCwgdGhpcyB3aWxsIGVuZCB1cCB1
c2luZyB0aGUgc2Nyb2xsaW5nIHRyZWUuLi4KKyAgICAvLyBpZiAoUGFnZSogcGFnZSA9IGZyYW1l
KCkucGFnZSgpKSB7CisgICAgLy8gICAgIGlmIChTY3JvbGxpbmdDb29yZGluYXRvciogc2Nyb2xs
aW5nQ29vcmRpbmF0b3IgPSBwYWdlLT5zY3JvbGxpbmdDb29yZGluYXRvcigpKSB7CisgICAgLy8g
ICAgICAgICBpZiAoc2Nyb2xsaW5nQ29vcmRpbmF0b3ItPmNvb3JkaW5hdGVzU2Nyb2xsaW5nRm9y
RnJhbWVWaWV3KCp0aGlzKSkKKyAgICAvLyAgICAgICAgICAgICByZXR1cm4gc2Nyb2xsaW5nQ29v
cmRpbmF0b3ItPmhhbmRsZVdoZWVsRXZlbnQoKnRoaXMsIHdoZWVsRXZlbnQpOworICAgIC8vICAg
ICB9CisgICAgLy8gfQogI2VuZGlmCiAKICAgICByZXR1cm4gU2Nyb2xsYWJsZUFyZWE6OmhhbmRs
ZVdoZWVsRXZlbnQod2hlZWxFdmVudCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9Bc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3BwCmluZGV4IDY4MDA4
ODRmZjg0Li40NjMzMWQyZjA0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3Jv
bGxpbmcvQXN5bmNTY3JvbGxpbmdDb29yZGluYXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9zY3JvbGxpbmcvQXN5bmNTY3JvbGxpbmdDb29yZGluYXRvci5jcHAKQEAgLTUyMyw2ICs1
MjMsNyBAQCB2b2lkIEFzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3I6OnVwZGF0ZUZyYW1lU2Nyb2xs
aW5nTm9kZShTY3JvbGxpbmdOb2RlSUQgbm9kZUlELAogICAgIG5vZGUtPnNldENvdW50ZXJTY3Jv
bGxpbmdMYXllcihjb3VudGVyU2Nyb2xsaW5nTGF5ZXIpOwogCiAgICAgaWYgKHNjcm9sbGluZ0dl
b21ldHJ5KSB7CisgICAgICAgIG5vZGUtPnNldEhhc1RyYW5zZm9ybShzY3JvbGxpbmdHZW9tZXRy
eS0+aGFzVHJhbnNmb3JtKTsKICAgICAgICAgbm9kZS0+c2V0UGFyZW50UmVsYXRpdmVTY3JvbGxh
YmxlUmVjdChzY3JvbGxpbmdHZW9tZXRyeS0+cGFyZW50UmVsYXRpdmVTY3JvbGxhYmxlUmVjdCk7
CiAgICAgICAgIG5vZGUtPnNldFNjcm9sbE9yaWdpbihzY3JvbGxpbmdHZW9tZXRyeS0+c2Nyb2xs
T3JpZ2luKTsKICAgICAgICAgbm9kZS0+c2V0U2Nyb2xsUG9zaXRpb24oc2Nyb2xsaW5nR2VvbWV0
cnktPnNjcm9sbFBvc2l0aW9uKTsKQEAgLTU0Myw2ICs1NDQsNyBAQCB2b2lkIEFzeW5jU2Nyb2xs
aW5nQ29vcmRpbmF0b3I6OnVwZGF0ZU92ZXJmbG93U2Nyb2xsaW5nTm9kZShTY3JvbGxpbmdOb2Rl
SUQgbm9kZQogICAgIG5vZGUtPnNldFNjcm9sbGVkQ29udGVudHNMYXllcihzY3JvbGxlZENvbnRl
bnRzTGF5ZXIpOwogICAgIAogICAgIGlmIChzY3JvbGxpbmdHZW9tZXRyeSkgeworICAgICAgICBu
b2RlLT5zZXRIYXNUcmFuc2Zvcm0oc2Nyb2xsaW5nR2VvbWV0cnktPmhhc1RyYW5zZm9ybSk7CiAg
ICAgICAgIG5vZGUtPnNldFBhcmVudFJlbGF0aXZlU2Nyb2xsYWJsZVJlY3Qoc2Nyb2xsaW5nR2Vv
bWV0cnktPnBhcmVudFJlbGF0aXZlU2Nyb2xsYWJsZVJlY3QpOwogICAgICAgICBub2RlLT5zZXRT
Y3JvbGxPcmlnaW4oc2Nyb2xsaW5nR2VvbWV0cnktPnNjcm9sbE9yaWdpbik7CiAgICAgICAgIG5v
ZGUtPnNldFNjcm9sbFBvc2l0aW9uKHNjcm9sbGluZ0dlb21ldHJ5LT5zY3JvbGxQb3NpdGlvbik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29y
ZGluYXRvci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRp
bmF0b3IuaAppbmRleCAyNjQ2NzI5YmY0NC4uYmMzNjY2MjM2NzkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuaApAQCAtMTcz
LDYgKzE3Myw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlTm9kZVZpZXdwb3J0
Q29uc3RyYWludHMoU2Nyb2xsaW5nTm9kZUlELCBjb25zdCBWaWV3cG9ydENvbnN0cmFpbnRzJikg
eyB9CiAKICAgICBzdHJ1Y3QgU2Nyb2xsaW5nR2VvbWV0cnkgeworICAgICAgICBib29sIGhhc1Ry
YW5zZm9ybSB7IGZhbHNlIH07CiAgICAgICAgIExheW91dFJlY3QgcGFyZW50UmVsYXRpdmVTY3Jv
bGxhYmxlUmVjdDsKICAgICAgICAgRmxvYXRTaXplIHNjcm9sbGFibGVBcmVhU2l6ZTsKICAgICAg
ICAgRmxvYXRTaXplIGNvbnRlbnRTaXplOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZS5jcHAKaW5kZXgg
MTUzMzYyYmIxOTguLmQ2MDU3ZTM5ZTdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZS5jcHAKQEAg
LTQzLDYgKzQzLDcgQEAgU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlOjpTY3JvbGxpbmdTdGF0
ZVNjcm9sbGluZ05vZGUoY29uc3QgU2Nyb2xsaW5nU3RhdGVTY3IKICAgICAsIG1fc2Nyb2xsYWJs
ZUFyZWFTaXplKHN0YXRlTm9kZS5zY3JvbGxhYmxlQXJlYVNpemUoKSkKICAgICAsIG1fdG90YWxD
b250ZW50c1NpemUoc3RhdGVOb2RlLnRvdGFsQ29udGVudHNTaXplKCkpCiAgICAgLCBtX3JlYWNo
YWJsZUNvbnRlbnRzU2l6ZShzdGF0ZU5vZGUucmVhY2hhYmxlQ29udGVudHNTaXplKCkpCisgICAg
LCBtX2hhc1RyYW5zZm9ybShzdGF0ZU5vZGUuaGFzVHJhbnNmb3JtKCkpCiAgICAgLCBtX3BhcmVu
dFJlbGF0aXZlU2Nyb2xsYWJsZVJlY3Qoc3RhdGVOb2RlLnBhcmVudFJlbGF0aXZlU2Nyb2xsYWJs
ZVJlY3QoKSkKICAgICAsIG1fc2Nyb2xsUG9zaXRpb24oc3RhdGVOb2RlLnNjcm9sbFBvc2l0aW9u
KCkpCiAgICAgLCBtX3JlcXVlc3RlZFNjcm9sbFBvc2l0aW9uKHN0YXRlTm9kZS5yZXF1ZXN0ZWRT
Y3JvbGxQb3NpdGlvbigpKQpAQCAtODcsNiArODgsMTUgQEAgdm9pZCBTY3JvbGxpbmdTdGF0ZVNj
cm9sbGluZ05vZGU6OnNldFJlYWNoYWJsZUNvbnRlbnRzU2l6ZShjb25zdCBGbG9hdFNpemUmIHJl
YWMKICAgICBzZXRQcm9wZXJ0eUNoYW5nZWQoUmVhY2hhYmxlQ29udGVudHNTaXplKTsKIH0KIAor
dm9pZCBTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGU6OnNldEhhc1RyYW5zZm9ybShib29sIGhh
c1RyYW5zZm9ybSkKK3sKKyAgICBpZiAobV9oYXNUcmFuc2Zvcm0gPT0gaGFzVHJhbnNmb3JtKQor
ICAgICAgICByZXR1cm47CisKKyAgICBtX2hhc1RyYW5zZm9ybSA9IGhhc1RyYW5zZm9ybTsKKyAg
ICBzZXRQcm9wZXJ0eUNoYW5nZWQoSGFzVHJhbnNmb3JtKTsKK30KKwogdm9pZCBTY3JvbGxpbmdT
dGF0ZVNjcm9sbGluZ05vZGU6OnNldFBhcmVudFJlbGF0aXZlU2Nyb2xsYWJsZVJlY3QoY29uc3Qg
TGF5b3V0UmVjdCYgcGFyZW50UmVsYXRpdmVTY3JvbGxhYmxlUmVjdCkKIHsKICAgICBpZiAobV9w
YXJlbnRSZWxhdGl2ZVNjcm9sbGFibGVSZWN0ID09IHBhcmVudFJlbGF0aXZlU2Nyb2xsYWJsZVJl
Y3QpCkBAIC0yNDEsNiArMjUxLDkgQEAgdm9pZCBTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGU6
OmR1bXBQcm9wZXJ0aWVzKFRleHRTdHJlYW0mIHRzLCBTY3JvbGxpbmdTdGF0ZVQKICAgICBpZiAo
bV9yZXF1ZXN0ZWRTY3JvbGxQb3NpdGlvblJlcHJlc2VudHNQcm9ncmFtbWF0aWNTY3JvbGwpCiAg
ICAgICAgIHRzLmR1bXBQcm9wZXJ0eSgicmVxdWVzdGVkIHNjcm9sbCBwb3NpdGlvbiByZXByZXNl
bnRzIHByb2dyYW1tYXRpYyBzY3JvbGwiLCBtX3JlcXVlc3RlZFNjcm9sbFBvc2l0aW9uUmVwcmVz
ZW50c1Byb2dyYW1tYXRpY1Njcm9sbCk7CiAKKyAgICBpZiAobV9oYXNUcmFuc2Zvcm0pCisgICAg
ICAgIHRzLmR1bXBQcm9wZXJ0eSgiaGFzIHRyYW5zZm9ybSIsIG1faGFzVHJhbnNmb3JtKTsKKwog
ICAgIGlmICghbV9wYXJlbnRSZWxhdGl2ZVNjcm9sbGFibGVSZWN0LmlzRW1wdHkoKSkKICAgICAg
ICAgdHMuZHVtcFByb3BlcnR5KCJwYXJlbnQgcmVsYXRpdmUgc2Nyb2xsYWJsZSByZWN0IiwgbV9w
YXJlbnRSZWxhdGl2ZVNjcm9sbGFibGVSZWN0KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUuaAppbmRl
eCA3ZGU3MzdiNjQ4Ny4uOWVjZDhhMGEwZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZS5oCkBAIC00
Miw2ICs0Miw3IEBAIHB1YmxpYzoKICAgICAgICAgU2Nyb2xsYWJsZUFyZWFTaXplID0gTnVtU3Rh
dGVOb2RlQml0cywKICAgICAgICAgVG90YWxDb250ZW50c1NpemUsCiAgICAgICAgIFJlYWNoYWJs
ZUNvbnRlbnRzU2l6ZSwKKyAgICAgICAgSGFzVHJhbnNmb3JtLAogICAgICAgICBQYXJlbnRSZWxh
dGl2ZVNjcm9sbGFibGVSZWN0LAogICAgICAgICBTY3JvbGxQb3NpdGlvbiwKICAgICAgICAgU2Ny
b2xsT3JpZ2luLApAQCAtNjksNyArNzAsMTAgQEAgcHVibGljOgogICAgIGNvbnN0IEZsb2F0U2l6
ZSYgcmVhY2hhYmxlQ29udGVudHNTaXplKCkgY29uc3QgeyByZXR1cm4gbV9yZWFjaGFibGVDb250
ZW50c1NpemU7IH0KICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldFJlYWNoYWJsZUNvbnRlbnRz
U2l6ZShjb25zdCBGbG9hdFNpemUmKTsKIAotICAgIGNvbnN0IExheW91dFJlY3QmIHBhcmVudFJl
bGF0aXZlU2Nyb2xsYWJsZVJlY3QoKSBjb25zdCB7IHJldHVybiBtX3BhcmVudFJlbGF0aXZlU2Ny
b2xsYWJsZVJlY3Q7IH0KKyAgICAgYm9vbCBoYXNUcmFuc2Zvcm0oKSBjb25zdCB7IHJldHVybiBt
X2hhc1RyYW5zZm9ybTsgfQorICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldEhhc1RyYW5zZm9y
bShib29sKTsKKworICAgICBjb25zdCBMYXlvdXRSZWN0JiBwYXJlbnRSZWxhdGl2ZVNjcm9sbGFi
bGVSZWN0KCkgY29uc3QgeyByZXR1cm4gbV9wYXJlbnRSZWxhdGl2ZVNjcm9sbGFibGVSZWN0OyB9
CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRQYXJlbnRSZWxhdGl2ZVNjcm9sbGFibGVSZWN0
KGNvbnN0IExheW91dFJlY3QmKTsKIAogICAgIGNvbnN0IEZsb2F0UG9pbnQmIHNjcm9sbFBvc2l0
aW9uKCkgY29uc3QgeyByZXR1cm4gbV9zY3JvbGxQb3NpdGlvbjsgfQpAQCAtMTIyLDYgKzEyNiw3
IEBAIHByaXZhdGU6CiAgICAgRmxvYXRTaXplIG1fc2Nyb2xsYWJsZUFyZWFTaXplOwogICAgIEZs
b2F0U2l6ZSBtX3RvdGFsQ29udGVudHNTaXplOwogICAgIEZsb2F0U2l6ZSBtX3JlYWNoYWJsZUNv
bnRlbnRzU2l6ZTsKKyAgICBib29sIG1faGFzVHJhbnNmb3JtIHsgZmFsc2UgfTsKICAgICBMYXlv
dXRSZWN0IG1fcGFyZW50UmVsYXRpdmVTY3JvbGxhYmxlUmVjdDsKICAgICBGbG9hdFBvaW50IG1f
c2Nyb2xsUG9zaXRpb247CiAgICAgRmxvYXRQb2ludCBtX3JlcXVlc3RlZFNjcm9sbFBvc2l0aW9u
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJl
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlLmNwcApp
bmRleCBkYWM0MTM0ZGIzMy4uZWZkYWEwYzg3ZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWUuY3BwCkBAIC00OSw2ICs0OSw5IEBAIGJvb2wgU2Ny
b2xsaW5nVHJlZTo6c2hvdWxkSGFuZGxlV2hlZWxFdmVudFN5bmNocm9ub3VzbHkoY29uc3QgUGxh
dGZvcm1XaGVlbEV2ZW50CiAgICAgLy8gVGhpcyBtZXRob2QgaXMgaW52b2tlZCBieSB0aGUgZXZl
bnQgaGFuZGxpbmcgdGhyZWFkCiAgICAgTG9ja0hvbGRlciBsb2NrKG1fbXV0ZXgpOwogCisgICAg
aWYgKGhhc1RyYW5zZm9ybSgpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKwogICAgIGJvb2wgc2hv
dWxkU2V0TGF0Y2ggPSB3aGVlbEV2ZW50LnNob3VsZENvbnNpZGVyTGF0Y2hpbmcoKTsKICAgICAK
ICAgICBpZiAoaGFzTGF0Y2hlZE5vZGUoKSAmJiAhc2hvdWxkU2V0TGF0Y2gpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlLmgKaW5kZXggZjg3ZjA1NTM3NWQu
LmMwYTkxODM0ZWZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9T
Y3JvbGxpbmdUcmVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xs
aW5nVHJlZS5oCkBAIC0xNDIsNiArMTQyLDE0IEBAIHB1YmxpYzoKICAgICBib29sIGhhc0xhdGNo
ZWROb2RlKCkgY29uc3QgeyByZXR1cm4gbV9sYXRjaGVkTm9kZTsgfQogICAgIHZvaWQgc2V0T3JD
bGVhckxhdGNoZWROb2RlKGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYsIFNjcm9sbGluZ05vZGVJ
RCk7CiAKKyAgICBib29sIGhhc1RyYW5zZm9ybSgpIGNvbnN0IHsgcmV0dXJuICEhbV90cmFuc2Zv
cm1lZE5vZGVDb3VudDsgfQorICAgIHZvaWQgdHJhbnNmb3JtZWROb2RlQWRkZWQoKSB7ICsrbV90
cmFuc2Zvcm1lZE5vZGVDb3VudDsgfQorICAgIHZvaWQgdHJhbnNmb3JtZWROb2RlUmVtb3ZlZCgp
CisgICAgeworICAgICAgICBBU1NFUlQobV90cmFuc2Zvcm1lZE5vZGVDb3VudCk7CisgICAgICAg
IC0tbV90cmFuc2Zvcm1lZE5vZGVDb3VudDsKKyAgICB9CisKICAgICBib29sIGhhc0ZpeGVkT3JT
dGlja3koKSBjb25zdCB7IHJldHVybiAhIW1fZml4ZWRPclN0aWNreU5vZGVDb3VudDsgfQogICAg
IHZvaWQgZml4ZWRPclN0aWNreU5vZGVBZGRlZCgpIHsgKyttX2ZpeGVkT3JTdGlja3lOb2RlQ291
bnQ7IH0KICAgICB2b2lkIGZpeGVkT3JTdGlja3lOb2RlUmVtb3ZlZCgpCkBAIC0xNzksNiArMTg3
LDcgQEAgcHJpdmF0ZToKICAgICBTY3JvbGxQaW5uaW5nQmVoYXZpb3IgbV9zY3JvbGxQaW5uaW5n
QmVoYXZpb3IgeyBEb05vdFBpbiB9OwogICAgIFNjcm9sbGluZ05vZGVJRCBtX2xhdGNoZWROb2Rl
IHsgMCB9OwogCisgICAgdW5zaWduZWQgbV90cmFuc2Zvcm1lZE5vZGVDb3VudCB7IDAgfTsKICAg
ICB1bnNpZ25lZCBtX2ZpeGVkT3JTdGlja3lOb2RlQ291bnQgeyAwIH07CiAKICAgICBib29sIG1f
cnViYmVyQmFuZHNBdExlZnQgeyB0cnVlIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZS5jcHAKaW5kZXgg
ZDEyMzBjZTA3OTAuLmZlYTQ0YmZlMTZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUuY3BwCkBAIC0z
OSw3ICszOSwxMSBAQCBTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZTo6U2Nyb2xsaW5nVHJlZVNj
cm9sbGluZ05vZGUoU2Nyb2xsaW5nVHJlZSYgc2Nyb2xsaW5nVAogewogfQogCi1TY3JvbGxpbmdU
cmVlU2Nyb2xsaW5nTm9kZTo6flNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlKCkgPSBkZWZhdWx0
OworU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGU6On5TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9k
ZSgpCit7CisgICAgaWYgKG1faGFzVHJhbnNmb3JtKQorICAgICAgICBzY3JvbGxpbmdUcmVlKCku
dHJhbnNmb3JtZWROb2RlUmVtb3ZlZCgpOworfQogCiB2b2lkIFNjcm9sbGluZ1RyZWVTY3JvbGxp
bmdOb2RlOjpjb21taXRTdGF0ZUJlZm9yZUNoaWxkcmVuKGNvbnN0IFNjcm9sbGluZ1N0YXRlTm9k
ZSYgc3RhdGVOb2RlKQogewpAQCAtNjMsNiArNjcsMTUgQEAgdm9pZCBTY3JvbGxpbmdUcmVlU2Ny
b2xsaW5nTm9kZTo6Y29tbWl0U3RhdGVCZWZvcmVDaGlsZHJlbihjb25zdCBTY3JvbGxpbmdTdGF0
ZU4KICAgICBpZiAoc3RhdGUuaGFzQ2hhbmdlZFByb3BlcnR5KFNjcm9sbGluZ1N0YXRlU2Nyb2xs
aW5nTm9kZTo6U2Nyb2xsUG9zaXRpb24pKQogICAgICAgICBtX2xhc3RDb21taXR0ZWRTY3JvbGxQ
b3NpdGlvbiA9IHN0YXRlLnNjcm9sbFBvc2l0aW9uKCk7CiAKKworICAgIGlmIChzdGF0ZS5oYXND
aGFuZ2VkUHJvcGVydHkoU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlOjpIYXNUcmFuc2Zvcm0p
KSB7CisgICAgICAgIG1faGFzVHJhbnNmb3JtID0gc3RhdGUuaGFzVHJhbnNmb3JtKCk7CisgICAg
ICAgIGlmIChtX2hhc1RyYW5zZm9ybSkKKyAgICAgICAgICAgIHNjcm9sbGluZ1RyZWUoKS50cmFu
c2Zvcm1lZE5vZGVBZGRlZCgpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBzY3JvbGxpbmdU
cmVlKCkudHJhbnNmb3JtZWROb2RlUmVtb3ZlZCgpOworICAgIH0KKwogICAgIGlmIChzdGF0ZS5o
YXNDaGFuZ2VkUHJvcGVydHkoU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlOjpQYXJlbnRSZWxh
dGl2ZVNjcm9sbGFibGVSZWN0KSkKICAgICAgICAgbV9wYXJlbnRSZWxhdGl2ZVNjcm9sbGFibGVS
ZWN0ID0gc3RhdGUucGFyZW50UmVsYXRpdmVTY3JvbGxhYmxlUmVjdCgpOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9k
ZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZVNjcm9sbGlu
Z05vZGUuaAppbmRleCBmYzE1NTRjMWRjYS4uMjkwM2U1N2UxMmMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05v
ZGUuaApAQCAtODksNiArODksNyBAQCBwcm90ZWN0ZWQ6CiAgICAgY29uc3QgRmxvYXRTaXplJiBz
Y3JvbGxhYmxlQXJlYVNpemUoKSBjb25zdCB7IHJldHVybiBtX3Njcm9sbGFibGVBcmVhU2l6ZTsg
fQogICAgIGNvbnN0IEZsb2F0U2l6ZSYgdG90YWxDb250ZW50c1NpemUoKSBjb25zdCB7IHJldHVy
biBtX3RvdGFsQ29udGVudHNTaXplOyB9CiAgICAgY29uc3QgRmxvYXRTaXplJiByZWFjaGFibGVD
b250ZW50c1NpemUoKSBjb25zdCB7IHJldHVybiBtX3JlYWNoYWJsZUNvbnRlbnRzU2l6ZTsgfQor
ICAgIGJvb2wgaGFzVHJhbnNmb3JtKCkgY29uc3QgeyByZXR1cm4gbV9oYXNUcmFuc2Zvcm07IH0K
ICAgICBjb25zdCBMYXlvdXRSZWN0JiBwYXJlbnRSZWxhdGl2ZVNjcm9sbGFibGVSZWN0KCkgY29u
c3QgeyByZXR1cm4gbV9wYXJlbnRSZWxhdGl2ZVNjcm9sbGFibGVSZWN0OyB9CiAgICAgY29uc3Qg
SW50UG9pbnQmIHNjcm9sbE9yaWdpbigpIGNvbnN0IHsgcmV0dXJuIG1fc2Nyb2xsT3JpZ2luOyB9
CiAKQEAgLTExNiw2ICsxMTcsNyBAQCBwcml2YXRlOgogICAgIEZsb2F0U2l6ZSBtX3RvdGFsQ29u
dGVudHNTaXplRm9yUnViYmVyQmFuZDsKICAgICBGbG9hdFNpemUgbV9yZWFjaGFibGVDb250ZW50
c1NpemU7CiAgICAgRmxvYXRQb2ludCBtX2xhc3RDb21taXR0ZWRTY3JvbGxQb3NpdGlvbjsKKyAg
ICBib29sIG1faGFzVHJhbnNmb3JtIHsgZmFsc2UgfTsKICAgICBMYXlvdXRSZWN0IG1fcGFyZW50
UmVsYXRpdmVTY3JvbGxhYmxlUmVjdDsKICAgICBJbnRQb2ludCBtX3Njcm9sbE9yaWdpbjsKICNp
ZiBFTkFCTEUoQ1NTX1NDUk9MTF9TTkFQKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcAppbmRleCAzOGYxODE2ZTY4MC4uYTI0MzA3YzEz
MTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBv
c2l0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBv
c2l0b3IuY3BwCkBAIC0zNzUwLDYgKzM3NTAsNyBAQCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OkVu
Y2xvc2luZ05vZGVEYXRhIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6ZmluZEVuY2xvc2luZ1Njcgog
ICAgIC8vIC0gQXN5bmMgc2Nyb2xsaW5nIHNob3VsZCBub3QgYmUgcGVyZm9ybWVkIHdoZW4gdGhl
cmUgYXJlIG5vbi1heGlzLWFsaWduZWQgdHJhbnNmb3Jtcy4KICAgICAvLyAtIHBhcmVudFJlbGF0
aXZlU2Nyb2xsYWJsZVJlY3Qgc2hvdWxkIGJlIHJlc2l6ZWQgaWYgdGhlcmUgYXJlIHNjYWxlIHRy
YW5zZm9ybXMuCiAgICAgd2hpbGUgKGN1cnJMYXllcikgeworICAgICAgICByZXN1bHQuaGFzVHJh
bnNmb3JtIHw9IGN1cnJMYXllci0+aGFzVHJhbnNmb3JtKCk7CiAgICAgICAgIGlmIChhdXRvKiBi
YWNraW5nID0gY3VyckxheWVyLT5iYWNraW5nKCkpIHsKICAgICAgICAgICAgIGlmIChTY3JvbGxp
bmdOb2RlSUQgbm9kZUlEID0gYmFja2luZy0+c2Nyb2xsaW5nTm9kZUlERm9yQ2hpbGRyZW4oKSkg
ewogICAgICAgICAgICAgICAgIHJlc3VsdC5ub2RlSUQgPSBub2RlSUQ7CkBAIC0zODcyLDYgKzM4
NzMsNyBAQCB2b2lkIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6ZGV0YWNoU2Nyb2xsQ29vcmRpbmF0
ZWRMYXllcihSZW5kZXJMYXllciYgbGF5ZXIsIE9wdAogU2Nyb2xsaW5nQ29vcmRpbmF0b3I6OlNj
cm9sbGluZ0dlb21ldHJ5IFJlbmRlckxheWVyQ29tcG9zaXRvcjo6c2Nyb2xsaW5nR2VvbWV0cnlG
b3IoY29uc3QgUmVuZGVyTGF5ZXImIGxheWVyLCBjb25zdCBFbmNsb3NpbmdOb2RlRGF0YSYgZW5j
bG9zaW5nTm9kZURhdGEpCiB7CiAgICAgU2Nyb2xsaW5nQ29vcmRpbmF0b3I6OlNjcm9sbGluZ0dl
b21ldHJ5IHNjcm9sbGluZ0dlb21ldHJ5OworICAgIHNjcm9sbGluZ0dlb21ldHJ5Lmhhc1RyYW5z
Zm9ybSA9IGVuY2xvc2luZ05vZGVEYXRhLmhhc1RyYW5zZm9ybTsKICAgICBzY3JvbGxpbmdHZW9t
ZXRyeS5wYXJlbnRSZWxhdGl2ZVNjcm9sbGFibGVSZWN0ID0gZW5jbG9zaW5nTm9kZURhdGEucGFy
ZW50UmVsYXRpdmVTY3JvbGxhYmxlUmVjdDsKICAgICBzY3JvbGxpbmdHZW9tZXRyeS5zY3JvbGxP
cmlnaW4gPSBsYXllci5zY3JvbGxPcmlnaW4oKTsKICAgICBzY3JvbGxpbmdHZW9tZXRyeS5zY3Jv
bGxQb3NpdGlvbiA9IGxheWVyLnNjcm9sbFBvc2l0aW9uKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmggYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmgKaW5kZXggZWMwOTgyYjc5YmIuLmM2
MjljYmM0NTNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5
ZXJDb21wb3NpdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVy
Q29tcG9zaXRvci5oCkBAIC00NDcsNiArNDQ3LDcgQEAgcHJpdmF0ZToKIAogICAgIHN0cnVjdCBF
bmNsb3NpbmdOb2RlRGF0YSB7CiAgICAgICAgIFNjcm9sbGluZ05vZGVJRCBub2RlSUQgeyAwIH07
CisgICAgICAgIGJvb2wgaGFzVHJhbnNmb3JtIHsgZmFsc2UgfTsKICAgICAgICAgTGF5b3V0UmVj
dCBwYXJlbnRSZWxhdGl2ZVNjcm9sbGFibGVSZWN0OwogICAgIH07CiAgICAgRW5jbG9zaW5nTm9k
ZURhdGEgZmluZEVuY2xvc2luZ1Njcm9sbGluZ05vZGUoUmVuZGVyTGF5ZXImLCBJbmNsdWRlU2Vs
Zk9yTm90KTsKLS0gCjIuMTkuMQoK
</data>

          </attachment>
      

    </bug>

</bugzilla>