<?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>131487</bug_id>
          
          <creation_ts>2014-04-10 01:59:41 -0700</creation_ts>
          <short_desc>[GTK] Windowed plugins visibility doesn&apos;t work</short_desc>
          <delta_ts>2014-06-25 03:39:11 -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>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Gtk</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>andersca</cc>
    
    <cc>bunhere</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>sergio</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>999478</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2014-04-10 01:59:41 -0700</bug_when>
    <thetext>Windowed plugins are not hidden when the element has visibility: hidden style or when the parent element is hidden (setting display: none for example). It works for windowless plugins, but for windowed plugins we need to notify the UI process about the visibility changes to show/hide the plugin widget (GtkSocket).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>999479</commentid>
    <comment_count>1</comment_count>
      <attachid>229034</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2014-04-10 02:00:52 -0700</bug_when>
    <thetext>Created attachment 229034
Test case for hidden plugin

This is a test case for visibility: hidden style. It can be tested with the totem plugin installed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>999480</commentid>
    <comment_count>2</comment_count>
      <attachid>229035</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2014-04-10 02:04:44 -0700</bug_when>
    <thetext>Created attachment 229035
Test case for plugin inside an iframe hidden by its parent

In this case we have an iframe inside a container div. Hiding the container makes the iframe disappear, but the windowed plugin remains visible.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>999481</commentid>
    <comment_count>3</comment_count>
      <attachid>229036</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2014-04-10 02:19:52 -0700</bug_when>
    <thetext>Created attachment 229036
Patch

Implements plugins visibility change to notify the UI process in case of windowed plugins.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>999846</commentid>
    <comment_count>4</comment_count>
      <attachid>229124</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2014-04-11 04:01:53 -0700</bug_when>
    <thetext>Created attachment 229124
Try to fix EFL and mac builds</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1017576</commentid>
    <comment_count>5</comment_count>
      <attachid>229124</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-06-23 09:37:40 -0700</bug_when>
    <thetext>Comment on attachment 229124
Try to fix EFL and mac builds

View in context: https://bugs.webkit.org/attachment.cgi?id=229124&amp;action=review

&gt; Source/WebKit2/PluginProcess/PluginControllerProxy.cpp:428
&gt; +void PluginControllerProxy::visibilityDidChange(bool visible)

Please name the parameter isVisible.

&gt; Source/WebKit2/PluginProcess/PluginControllerProxy.cpp:619
&gt; +void PluginControllerProxy::windowedPluginVisibilityDidChange(bool visible, uint64_t windowID)

Please name the parameter isVisible, and I think it makes more sense to put the windowID first.

&gt; Source/WebKit2/WebProcess/Plugins/PluginView.cpp:1021
&gt; +    if (isParentVisible() == visible)
&gt; +        return;

I think you still want to call the Widget implementation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1018281</commentid>
    <comment_count>6</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2014-06-25 00:31:05 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 229124 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=229124&amp;action=review

Thanks!

&gt; &gt; Source/WebKit2/PluginProcess/PluginControllerProxy.cpp:428
&gt; &gt; +void PluginControllerProxy::visibilityDidChange(bool visible)
&gt; 
&gt; Please name the parameter isVisible.

Sure, renamed everywhere.

&gt; &gt; Source/WebKit2/PluginProcess/PluginControllerProxy.cpp:619
&gt; &gt; +void PluginControllerProxy::windowedPluginVisibilityDidChange(bool visible, uint64_t windowID)
&gt; 
&gt; Please name the parameter isVisible, and I think it makes more sense to put the windowID first.

Yes, I agree, but in windowedPluginGeometryDidChange() the window id is also the last parameter, so I&apos;ll leave consistent for now.

&gt; &gt; Source/WebKit2/WebProcess/Plugins/PluginView.cpp:1021
&gt; &gt; +    if (isParentVisible() == visible)
&gt; &gt; +        return;
&gt; 
&gt; I think you still want to call the Widget implementation.

Widget::setParentVisible() it&apos;s just m_parentVisible = visible, I&apos;m using the same approach as ScrollView</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1018282</commentid>
    <comment_count>7</comment_count>
      <attachid>233795</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2014-06-25 00:31:37 -0700</bug_when>
    <thetext>Created attachment 233795
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1018297</commentid>
    <comment_count>8</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2014-06-25 03:39:11 -0700</bug_when>
    <thetext>Committed r170423: &lt;http://trac.webkit.org/changeset/170423&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>229034</attachid>
            <date>2014-04-10 02:00:52 -0700</date>
            <delta_ts>2014-04-10 02:00:52 -0700</delta_ts>
            <desc>Test case for hidden plugin</desc>
            <filename>hidden.html</filename>
            <type>text/html</type>
            <size>366</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">PGh0bWw+CiAgPGJvZHk+CiAgICA8aDE+VmlzaWJsZTwvaDE+CiAgICA8ZW1iZWQgdHlwZT0idmlk
ZW8vb2dnIiBzcmM9Imh0dHA6Ly9tZWRpYS53My5vcmcvMjAxMC8wNS9zaW50ZWwvdHJhaWxlci5v
Z3YiIGF1dG9QbGF5PSJmYWxzZSIgd2lkdGg9IjQyNyIgaGVpZ2h0PSIyNDAiPjwvZW1iZWQ+CiAg
ICA8aDE+SGlkZGVuPC9oMT4KICAgIDxlbWJlZCB0eXBlPSJ2aWRlby9vZ2ciIHNyYz0iaHR0cDov
L21lZGlhLnczLm9yZy8yMDEwLzA1L3NpbnRlbC90cmFpbGVyLm9ndiIgYXV0b1BsYXk9ImZhbHNl
IiB3aWR0aD0iNDI3IiBoZWlnaHQ9IjI0MCIgc3R5bGU9InZpc2liaWxpdHk6IGhpZGRlbiI+PC9l
bWJlZD4KICA8L2JvZHk+CjwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>229035</attachid>
            <date>2014-04-10 02:04:44 -0700</date>
            <delta_ts>2014-04-10 02:04:44 -0700</delta_ts>
            <desc>Test case for plugin inside an iframe hidden by its parent</desc>
            <filename>iframe.tar.bz2</filename>
            <type>application/octet-stream</type>
            <size>517</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">QlpoOTFBWSZTWbNFeo0AAaR/hNSQAgBQ5f+fOmNYoH/v36AABAAIQAHztmprISlJtIyaaPSNAaNp
BoAAADQEURBNMhqT2pAaaAfqgBoAHlA5gEwAmAAEwABMAASSmQmptM1GUbSNMaID0gAAybU9T/vo
RwzOmxrhALFyKmhpoPSXzB2533bXMZWGBAiXqVo0APywBip3CrQNO/By7KfhqejEenF7YDNsB9La
05BG9N8sWqkZYgcNajWy3A640YHEYqKquZAVh8sbihHRFMllUCbNvJiBfcRMjaSOG+sjSIKsFGBn
bZho4yx16xNdnOAoRFtl5ONJbOGV2RE3ARLEWVyJqXDjX+nLvO03aFuupYORebdRuNnSqIv0n0Fl
xIzRSXRjx4cQpWCDwoLaEpyXVtDlKy+geOLzJ1PMbCWW8wexkcrWpY9qeGT6CiUcw0ZPPgXfITBS
cGnwmQcGXLqbgPzklNMwbq5QMM4RrEWBkxtVEDps4vgK4xoHKfe94pJXLBA+JDALR8925h6nnnyy
EfREu1gWEaUWgkJ+bqP4IlKrcMwyULwcGhJjSIwBY4BwOifmgGAbPBYOx8eQV6DjbnxM3ctXValR
vzsOFDdmbzofIZhvNxIQEBk2E9osWmK4dcSUGvMvNvEL1yFTChrasoqimJVALwgrhAf4u5IpwoSF
mivUaA==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>229036</attachid>
            <date>2014-04-10 02:19:52 -0700</date>
            <delta_ts>2014-04-11 04:01:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>wk2-plugins-visibility.diff</filename>
            <type>text/plain</type>
            <size>19656</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCBhMDU2NTFhLi5kNjNiNDMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTAg
QEAKKzIwMTQtMDQtMTAgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29t
PgorCisgICAgICAgIFtHVEtdIFdpbmRvd2VkIHBsdWdpbnMgdmlzaWJpbGl0eSBkb2Vzbid0IHdv
cmsKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzMTQ4
NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcGxl
bWVudCBwbHVnaW5zIHZpc2liaWxpdHkgY2hhbmdlcyBhbmQgYWRkIGEgbmV3IG1lc3NhZ2UgdG8K
KyAgICAgICAgbm90aWZ5IHRoZSBVSSBwcm9jZXNzIHdoZW4gYSB3aW5kb3dlZCBwbHVnaW4gaXMg
c2hvd24vaGlkZGVuIHRvCisgICAgICAgIHNob3cvaGlkZSB0aGUgcGx1Z2luIHdpZGdldC4KKwor
ICAgICAgICAqIFBsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5LmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6UGx1Z2luQ29udHJvbGxlclByb3h5Ojp2aXNpYmlsaXR5RGlkQ2hhbmdlKTog
QWRkCisgICAgICAgIGltcGxlbWVudGF0aW9uIHRvIG5vdGlmeSB0aGUgcGx1Z2luIGFib3V0IHZp
c2liaWxpdHkgY2hhbmdlLgorICAgICAgICAoV2ViS2l0OjpQbHVnaW5Db250cm9sbGVyUHJveHk6
OndpbmRvd2VkUGx1Z2luVmlzaWJpbGl0eURpZENoYW5nZSk6CisgICAgICAgIFNlbmQgV2luZG93
ZWRQbHVnaW5WaXNpYmlsaXR5RGlkQ2hhbmdlIHRvIHRoZSBwbHVnaW4gcHJveHkuCisgICAgICAg
ICogUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHkuaDoKKyAgICAgICAgKiBQbHVn
aW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5tZXNzYWdlcy5pbjogQWRkIFZpc2liaWxp
dHlEaWRDaGFuZ2UgbWVzc2FnZS4KKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6
IEFkZCB3aW5kb3dlZFBsdWdpblZpc2liaWxpdHlEaWRDaGFuZ2UKKyAgICAgICAgdG8gaGFuZGxl
IFdpbmRvd2VkUGx1Z2luVmlzaWJpbGl0eURpZENoYW5nZSBtZXNzYWdlLgorICAgICAgICAqIFVJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW46IEFkZCBXaW5kb3dlZFBsdWdpblZpc2li
aWxpdHlEaWRDaGFuZ2UgbWVzc2FnZS4KKyAgICAgICAgKiBVSVByb2Nlc3MvZ3RrL1dlYlBhZ2VQ
cm94eUd0ay5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6Y3JlYXRlUGx1Z2lu
Q29udGFpbmVyKTogRG8gbm90IHNob3cgdGhlCisgICAgICAgIHBsdWdpbnMgYnkgZGVmYXVsdC4K
KyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5Ojp3aW5kb3dlZFBsdWdpblZpc2liaWxpdHlE
aWRDaGFuZ2UpOiBTaG93IG9yIGhpZGUgdGhlIHBsdWdpbiB3aWRnZXQuCisgICAgICAgICogV2Vi
UHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2luLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6TmV0c2NhcGVQbHVnaW46Ok5ldHNjYXBlUGx1Z2luKTogSW5pdGlhbGl6ZSBtX2lzVmlz
aWJsZS4KKyAgICAgICAgKFdlYktpdDo6TmV0c2NhcGVQbHVnaW46OnZpc2liaWxpdHlEaWRDaGFu
Z2UpOiBBZGQgdmlzaWJsZSBwYXJhbWV0ZXIgYW5kIHNhdmUgaXQgaW4gbV9pc1Zpc2libGUKKyAg
ICAgICAgbWVtYmVyLCBjYWxsaW5nIHBsYXRmb3JtVmlzaWJpbGl0eURpZENoYW5nZSgpIG9ubHkg
d2hlbiBpdCBoYXMgYWN0dWFsbHkgY2hhbmdlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1BsdWdp
bnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW4uaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1BsdWdp
bnMvTmV0c2NhcGUveDExL05ldHNjYXBlUGx1Z2luWDExLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
TmV0c2NhcGVQbHVnaW46OnBsYXRmb3JtVmlzaWJpbGl0eURpZENoYW5nZSk6IE5vdGlmeSB0aGUg
Y29udHJvbGxlciBhYm91dCB2aXNpYmlsaXR5IGNoYW5nZS4KKyAgICAgICAgKiBXZWJQcm9jZXNz
L1BsdWdpbnMvUGx1Z2luLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpbkNv
bnRyb2xsZXIuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJveHkuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpQbHVnaW5Qcm94eTo6dmlzaWJpbGl0eURpZENoYW5nZSk6IFNl
bmQgVmlzaWJpbGl0eURpZENoYW5nZSBtZXNzYWdlIHRvIHRoZSBwbHVnaW4gY29udHJvbGxlciBw
cm94eS4KKyAgICAgICAgKFdlYktpdDo6UGx1Z2luUHJveHk6OndpbmRvd2VkUGx1Z2luVmlzaWJp
bGl0eURpZENoYW5nZSk6IE5vdGlmeSB0aGUgY29udHJvbGxlciBhYm91dCB2aXNpYmlsaXR5IGNo
YW5nZS4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJveHkuaDoKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJveHkubWVzc2FnZXMuaW46IEFkZCBXaW5k
b3dlZFBsdWdpblZpc2liaWxpdHlEaWRDaGFuZ2UgbWVzc2FnZS4KKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5jcHA6CisgICAgICAgIChXZWJLaXQ6OlBsdWdpblZpZXc6
OmRpZEluaXRpYWxpemVQbHVnaW4pOiBBbHNvIGNhbGwgdmlld1Zpc2liaWxpdHlEaWRDaGFuZ2Uo
KSB3aGVuIHRoZSBwbHVnaW4gaXMgaW5pdGlhbGl6ZWQuCisgICAgICAgIChXZWJLaXQ6OlBsdWdp
blZpZXc6OnNldFBhcmVudFZpc2libGUpOiBPdmVycmlkZSB0aGlzIFdpZGdldCBtZXRob2QgdG8g
dXBkYXRlIHRoZSBwbHVnaW4gdmlzaWJpbGl0eSB3aGVuIHBhcmVudAorICAgICAgICB3aWRnZXQg
aXMgc2hvd24vaGlkZGVuLgorICAgICAgICAoV2ViS2l0OjpQbHVnaW5WaWV3Ojp2aWV3VmlzaWJp
bGl0eURpZENoYW5nZSk6IFBhc3MgdmlzaWJsZSBwYXJhbWV0ZXIgdG8gdmlzaWJpbGl0eURpZENo
YW5nZSgpLgorICAgICAgICAoV2ViS2l0OjpQbHVnaW5WaWV3Ojp3aW5kb3dlZFBsdWdpblZpc2li
aWxpdHlEaWRDaGFuZ2UpOiBTZW5kIFdpbmRvd2VkUGx1Z2luVmlzaWJpbGl0eURpZENoYW5nZSBt
ZXNzYWdlIHRvIHRoZSBVSSBwcm9jZXNzLgorICAgICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9Q
bHVnaW5WaWV3Lmg6CisKIDIwMTQtMDQtMDkgIEplcmVteSBKb25lcyAgPGplcmVteWpAYXBwbGUu
Y29tPgogCiAgICAgICAgIEZpeCBidWlsZCBmYWlsdXJlIHdoZW4gI2lmIFVTRShYUENfU0VSVklD
RVMpIGlzIGZhbHNlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9Q
bHVnaW5Db250cm9sbGVyUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9Q
bHVnaW5Db250cm9sbGVyUHJveHkuY3BwCmluZGV4IDNkZWQ3ZDkuLmVkN2VhNjcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5LmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94
eS5jcHAKQEAgLTQyNSw2ICs0MjUsMTIgQEAgdm9pZCBQbHVnaW5Db250cm9sbGVyUHJveHk6Omdl
b21ldHJ5RGlkQ2hhbmdlKGNvbnN0IEludFNpemUmIHBsdWdpblNpemUsIGNvbnN0IEkKICAgICBt
X3BsdWdpbi0+Z2VvbWV0cnlEaWRDaGFuZ2UocGx1Z2luU2l6ZSwgY2xpcFJlY3QsIHBsdWdpblRv
Um9vdFZpZXdUcmFuc2Zvcm0pOwogfQogCit2b2lkIFBsdWdpbkNvbnRyb2xsZXJQcm94eTo6dmlz
aWJpbGl0eURpZENoYW5nZShib29sIHZpc2libGUpCit7CisgICAgQVNTRVJUKG1fcGx1Z2luKTsK
KyAgICBtX3BsdWdpbi0+dmlzaWJpbGl0eURpZENoYW5nZSh2aXNpYmxlKTsKK30KKwogdm9pZCBQ
bHVnaW5Db250cm9sbGVyUHJveHk6OmRpZEV2YWx1YXRlSmF2YVNjcmlwdCh1aW50NjRfdCByZXF1
ZXN0SUQsIGNvbnN0IFN0cmluZyYgcmVzdWx0KQogewogICAgIG1fcGx1Z2luLT5kaWRFdmFsdWF0
ZUphdmFTY3JpcHQocmVxdWVzdElELCByZXN1bHQpOwpAQCAtNjA5LDYgKzYxNSwxMSBAQCB2b2lk
IFBsdWdpbkNvbnRyb2xsZXJQcm94eTo6d2luZG93ZWRQbHVnaW5HZW9tZXRyeURpZENoYW5nZShj
b25zdCBJbnRSZWN0JiBmcmFtZQogewogICAgIG1fY29ubmVjdGlvbi0+Y29ubmVjdGlvbigpLT5z
ZW5kKE1lc3NhZ2VzOjpQbHVnaW5Qcm94eTo6V2luZG93ZWRQbHVnaW5HZW9tZXRyeURpZENoYW5n
ZShmcmFtZVJlY3QsIGNsaXBSZWN0LCB3aW5kb3dJRCksIG1fcGx1Z2luSW5zdGFuY2VJRCk7CiB9
CisKK3ZvaWQgUGx1Z2luQ29udHJvbGxlclByb3h5Ojp3aW5kb3dlZFBsdWdpblZpc2liaWxpdHlE
aWRDaGFuZ2UoYm9vbCB2aXNpYmxlLCB1aW50NjRfdCB3aW5kb3dJRCkKK3sKKyAgICBtX2Nvbm5l
Y3Rpb24tPmNvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6UGx1Z2luUHJveHk6OldpbmRvd2Vk
UGx1Z2luVmlzaWJpbGl0eURpZENoYW5nZSh2aXNpYmxlLCB3aW5kb3dJRCksIG1fcGx1Z2luSW5z
dGFuY2VJRCk7Cit9CiAjZW5kaWYKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5oIGIv
U291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHkuaAppbmRl
eCA2NWQ5MDJiLi5mMTMxYmRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9j
ZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsdWdpblBy
b2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5LmgKQEAgLTExNiwxMiArMTE2LDE0IEBAIHByaXZh
dGU6CiAjaWYgUExVR0lOX0FSQ0hJVEVDVFVSRShYMTEpCiAgICAgdmlydHVhbCB1aW50NjRfdCBj
cmVhdGVQbHVnaW5Db250YWluZXIoKTsKICAgICB2aXJ0dWFsIHZvaWQgd2luZG93ZWRQbHVnaW5H
ZW9tZXRyeURpZENoYW5nZShjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBmcmFtZVJlY3QsIGNvbnN0
IFdlYkNvcmU6OkludFJlY3QmIGNsaXBSZWN0LCB1aW50NjRfdCB3aW5kb3dJRCk7CisgICAgdmly
dHVhbCB2b2lkIHdpbmRvd2VkUGx1Z2luVmlzaWJpbGl0eURpZENoYW5nZShib29sIHZpc2libGUs
IHVpbnQ2NF90IHdpbmRvd0lEKTsKICNlbmRpZgogICAgIAogICAgIC8vIE1lc3NhZ2UgaGFuZGxl
cnMuCiAgICAgdm9pZCBmcmFtZURpZEZpbmlzaExvYWRpbmcodWludDY0X3QgcmVxdWVzdElEKTsK
ICAgICB2b2lkIGZyYW1lRGlkRmFpbCh1aW50NjRfdCByZXF1ZXN0SUQsIGJvb2wgd2FzQ2FuY2Vs
bGVkKTsKICAgICB2b2lkIGdlb21ldHJ5RGlkQ2hhbmdlKGNvbnN0IFdlYkNvcmU6OkludFNpemUm
IHBsdWdpblNpemUsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGNsaXBSZWN0LCBjb25zdCBXZWJD
b3JlOjpBZmZpbmVUcmFuc2Zvcm0mIHBsdWdpblRvUm9vdFZpZXdUcmFuc2Zvcm0sIGZsb2F0IGNv
bnRlbnRzU2NhbGVGYWN0b3IsIGNvbnN0IFNoYXJlYWJsZUJpdG1hcDo6SGFuZGxlJiBiYWNraW5n
U3RvcmVIYW5kbGUpOworICAgIHZvaWQgdmlzaWJpbGl0eURpZENoYW5nZShib29sIHZpc2libGUp
OwogICAgIHZvaWQgZGlkRXZhbHVhdGVKYXZhU2NyaXB0KHVpbnQ2NF90IHJlcXVlc3RJRCwgY29u
c3QgU3RyaW5nJiByZXN1bHQpOwogICAgIHZvaWQgc3RyZWFtRGlkUmVjZWl2ZVJlc3BvbnNlKHVp
bnQ2NF90IHN0cmVhbUlELCBjb25zdCBTdHJpbmcmIHJlc3BvbnNlVVJMU3RyaW5nLCB1aW50MzJf
dCBzdHJlYW1MZW5ndGgsIHVpbnQzMl90IGxhc3RNb2RpZmllZFRpbWUsIGNvbnN0IFN0cmluZyYg
bWltZVR5cGUsIGNvbnN0IFN0cmluZyYgaGVhZGVycyk7CiAgICAgdm9pZCBzdHJlYW1EaWRSZWNl
aXZlRGF0YSh1aW50NjRfdCBzdHJlYW1JRCwgY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJiBkYXRh
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJv
bGxlclByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVn
aW5Db250cm9sbGVyUHJveHkubWVzc2FnZXMuaW4KaW5kZXggNmI2YTMwOC4uZDBmNTFiOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJv
eHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5D
b250cm9sbGVyUHJveHkubWVzc2FnZXMuaW4KQEAgLTI2LDYgKzI2LDkgQEAgbWVzc2FnZXMgLT4g
UGx1Z2luQ29udHJvbGxlclByb3h5IExlZ2FjeVJlY2VpdmVyIHsKICAgICAjIFNlbnQgd2hlbiB0
aGUgcGx1Zy1pbiBnZW9tZXRyeSBjaGFuZ2VzLgogICAgIEdlb21ldHJ5RGlkQ2hhbmdlKFdlYkNv
cmU6OkludFNpemUgcGx1Z2luU2l6ZSwgV2ViQ29yZTo6SW50UmVjdCBjbGlwUmVjdCwgV2ViQ29y
ZTo6QWZmaW5lVHJhbnNmb3JtIHBsdWdpblRvUm9vdFZpZXdUcmFuc2Zvcm0sIGZsb2F0IHNjYWxl
RmFjdG9yLCBXZWJLaXQ6OlNoYXJlYWJsZUJpdG1hcDo6SGFuZGxlIGJhY2tpbmdTdG9yZUhhbmRs
ZSkKIAorICAgICMgU2VudCB3aGVuIHRoZSBwbHVnLWluIHZpc2liaWxpdHkgY2hhbmdlcy4KKyAg
ICBWaXNpYmlsaXR5RGlkQ2hhbmdlKGJvb2wgdmlzaWJsZSkKKwogICAgICMgU2VudCB3aGVuIGEg
ZnJhbWUgaGFzIGZpbmlzaGVkIGxvYWRpbmcuCiAgICAgRnJhbWVEaWRGaW5pc2hMb2FkaW5nKHVp
bnQ2NF90IHJlcXVlc3RJRCkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5o
CmluZGV4IDY3MjAyYjkuLjkwMDg4MWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmgKQEAgLTEzNjQsNiArMTM2NCw3IEBAIHByaXZhdGU6CiAjaWYgUExVR0lOX0FSQ0hJ
VEVDVFVSRShYMTEpCiAgICAgdm9pZCBjcmVhdGVQbHVnaW5Db250YWluZXIodWludDY0X3QmIHdp
bmRvd0lEKTsKICAgICB2b2lkIHdpbmRvd2VkUGx1Z2luR2VvbWV0cnlEaWRDaGFuZ2UoY29uc3Qg
V2ViQ29yZTo6SW50UmVjdCYgZnJhbWVSZWN0LCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBjbGlw
UmVjdCwgdWludDY0X3Qgd2luZG93SUQpOworICAgIHZvaWQgd2luZG93ZWRQbHVnaW5WaXNpYmls
aXR5RGlkQ2hhbmdlKGJvb2wgdmlzaWJsZSwgdWludDY0X3Qgd2luZG93SUQpOwogI2VuZGlmCiAK
ICAgICB2b2lkIHByb2Nlc3NOZXh0UXVldWVkV2hlZWxFdmVudCgpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KaW5kZXggNTM1NGUxNS4u
ZWU0OWE5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
Lm1lc3NhZ2VzLmluCkBAIC0zMTMsNiArMzEzLDcgQEAgbWVzc2FnZXMgLT4gV2ViUGFnZVByb3h5
IHsKICAgICAjIFgxMSB3aW5kb3dlZCBwbHVnaW4gbWVzc2FnZXMKICAgICBDcmVhdGVQbHVnaW5D
b250YWluZXIoKSAtPiAodWludDY0X3Qgd2luZG93SUQpCiAgICAgV2luZG93ZWRQbHVnaW5HZW9t
ZXRyeURpZENoYW5nZShXZWJDb3JlOjpJbnRSZWN0IGZyYW1lUmVjdCwgV2ViQ29yZTo6SW50UmVj
dCBjbGlwUmVjdCwgdWludDY0X3Qgd2luZG93SUQpCisgICAgV2luZG93ZWRQbHVnaW5WaXNpYmls
aXR5RGlkQ2hhbmdlKGJvb2wgdmlzaWJsZSwgdWludDY0X3Qgd2luZG93SUQpCiAjZW5kaWYKIAog
I2lmIFBMQVRGT1JNKElPUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9n
dGsvV2ViUGFnZVByb3h5R3RrLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsvV2Vi
UGFnZVByb3h5R3RrLmNwcAppbmRleCA4YTUzOTg1Li43ZDM3MDZhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL1dlYlBhZ2VQcm94eUd0ay5jcHAKKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL2d0ay9XZWJQYWdlUHJveHlHdGsuY3BwCkBAIC05Niw3ICs5Niw2
IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpjcmVhdGVQbHVnaW5Db250YWluZXIodWludDY0X3QmIHdp
bmRvd0lEKQogICAgIEd0a1dpZGdldCogc29ja2V0ID0gZ3RrX3NvY2tldF9uZXcoKTsKICAgICBn
X3NpZ25hbF9jb25uZWN0KHNvY2tldCwgInBsdWctcmVtb3ZlZCIsIEdfQ0FMTEJBQ0socGx1Z2lu
Q29udGFpbmVyUGx1Z1JlbW92ZWQpLCAwKTsKICAgICBndGtfY29udGFpbmVyX2FkZChHVEtfQ09O
VEFJTkVSKHZpZXdXaWRnZXQoKSksIHNvY2tldCk7Ci0gICAgZ3RrX3dpZGdldF9zaG93KHNvY2tl
dCk7CiAKICAgICB3aW5kb3dJRCA9IHN0YXRpY19jYXN0PHVpbnQ2NF90PihndGtfc29ja2V0X2dl
dF9pZChHVEtfU09DS0VUKHNvY2tldCkpKTsKICAgICBwbHVnaW5XaW5kb3dNYXAoKS5zZXQod2lu
ZG93SUQsIHNvY2tldCk7CkBAIC0xMTcsNiArMTE2LDE4IEBAIHZvaWQgV2ViUGFnZVByb3h5Ojp3
aW5kb3dlZFBsdWdpbkdlb21ldHJ5RGlkQ2hhbmdlKGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGZy
YW1lCiAKICAgICB3ZWJraXRXZWJWaWV3QmFzZUNoaWxkTW92ZVJlc2l6ZShXRUJLSVRfV0VCX1ZJ
RVdfQkFTRSh2aWV3V2lkZ2V0KCkpLCBwbHVnaW4sIGZyYW1lUmVjdCk7CiB9CisKK3ZvaWQgV2Vi
UGFnZVByb3h5Ojp3aW5kb3dlZFBsdWdpblZpc2liaWxpdHlEaWRDaGFuZ2UoYm9vbCB2aXNpYmxl
LCB1aW50NjRfdCB3aW5kb3dJRCkKK3sKKyAgICBHdGtXaWRnZXQqIHBsdWdpbiA9IHBsdWdpbldp
bmRvd01hcCgpLmdldCh3aW5kb3dJRCk7CisgICAgaWYgKCFwbHVnaW4pCisgICAgICAgIHJldHVy
bjsKKworICAgIGlmICh2aXNpYmxlKQorICAgICAgICBndGtfd2lkZ2V0X3Nob3cocGx1Z2luKTsK
KyAgICBlbHNlCisgICAgICAgIGd0a193aWRnZXRfaGlkZShwbHVnaW4pOworfQogI2VuZGlmIC8v
IFBMVUdJTl9BUkNISVRFQ1RVUkUoWDExKQogCiB2b2lkIFdlYlBhZ2VQcm94eTo6c2V0SW5wdXRN
ZXRob2RTdGF0ZShib29sIGVuYWJsZWQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW4uY3BwIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2luLmNwcAppbmRleCBj
Y2U4MjA4Li41ZWY2ZTM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1Bs
dWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpbi5jcHAKQEAgLTcxLDYgKzcx
LDcgQEAgTmV0c2NhcGVQbHVnaW46Ok5ldHNjYXBlUGx1Z2luKFBhc3NSZWZQdHI8TmV0c2NhcGVQ
bHVnaW5Nb2R1bGU+IHBsdWdpbk1vZHVsZSkKICAgICAsIG1faW5OUFBOZXcoZmFsc2UpCiAgICAg
LCBtX3Nob3VsZFVzZU1hbnVhbExvYWRlcihmYWxzZSkKICAgICAsIG1faGFzQ2FsbGVkU2V0V2lu
ZG93KGZhbHNlKQorICAgICwgbV9pc1Zpc2libGUoZmFsc2UpCiAgICAgLCBtX25leHRUaW1lcklE
KDApCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgLCBtX2RyYXdpbmdNb2RlbChzdGF0aWNfY2Fz
dDxOUERyYXdpbmdNb2RlbD4oLTEpKQpAQCAtNzQ0LDEwICs3NDUsMTQgQEAgdm9pZCBOZXRzY2Fw
ZVBsdWdpbjo6Z2VvbWV0cnlEaWRDaGFuZ2UoY29uc3QgSW50U2l6ZSYgcGx1Z2luU2l6ZSwgY29u
c3QgSW50UmVjdCYKICAgICBjYWxsU2V0V2luZG93KCk7CiB9CiAKLXZvaWQgTmV0c2NhcGVQbHVn
aW46OnZpc2liaWxpdHlEaWRDaGFuZ2UoKQordm9pZCBOZXRzY2FwZVBsdWdpbjo6dmlzaWJpbGl0
eURpZENoYW5nZShib29sIHZpc2libGUpCiB7CiAgICAgQVNTRVJUKG1faXNTdGFydGVkKTsKIAor
ICAgIGlmIChtX2lzVmlzaWJsZSA9PSB2aXNpYmxlKQorICAgICAgICByZXR1cm47CisKKyAgICBt
X2lzVmlzaWJsZSA9IHZpc2libGU7CiAgICAgcGxhdGZvcm1WaXNpYmlsaXR5RGlkQ2hhbmdlKCk7
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRz
Y2FwZS9OZXRzY2FwZVBsdWdpbi5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5z
L05ldHNjYXBlL05ldHNjYXBlUGx1Z2luLmgKaW5kZXggYWQyNzY3ZC4uZmIzZDM4NiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBl
UGx1Z2luLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBl
L05ldHNjYXBlUGx1Z2luLmgKQEAgLTE4Niw3ICsxODYsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1
YWwgYm9vbCBpc1RyYW5zcGFyZW50KCk7CiAgICAgdmlydHVhbCBib29sIHdhbnRzV2hlZWxFdmVu
dHMoKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgZ2VvbWV0cnlEaWRDaGFuZ2UoY29uc3Qg
V2ViQ29yZTo6SW50U2l6ZSYgcGx1Z2luU2l6ZSwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgY2xp
cFJlY3QsIGNvbnN0IFdlYkNvcmU6OkFmZmluZVRyYW5zZm9ybSYgcGx1Z2luVG9Sb290Vmlld1Ry
YW5zZm9ybSk7Ci0gICAgdmlydHVhbCB2b2lkIHZpc2liaWxpdHlEaWRDaGFuZ2UoKTsKKyAgICB2
aXJ0dWFsIHZvaWQgdmlzaWJpbGl0eURpZENoYW5nZShib29sIHZpc2libGUpOwogICAgIHZpcnR1
YWwgdm9pZCBmcmFtZURpZEZpbmlzaExvYWRpbmcodWludDY0X3QgcmVxdWVzdElEKTsKICAgICB2
aXJ0dWFsIHZvaWQgZnJhbWVEaWRGYWlsKHVpbnQ2NF90IHJlcXVlc3RJRCwgYm9vbCB3YXNDYW5j
ZWxsZWQpOwogICAgIHZpcnR1YWwgdm9pZCBkaWRFdmFsdWF0ZUphdmFTY3JpcHQodWludDY0X3Qg
cmVxdWVzdElELCBjb25zdCBTdHJpbmcmIHJlc3VsdCk7CkBAIC0zMDMsNiArMzAzLDcgQEAgcHJp
dmF0ZToKICAgICBib29sIG1faW5OUFBOZXc7CiAgICAgYm9vbCBtX3Nob3VsZFVzZU1hbnVhbExv
YWRlcjsKICAgICBib29sIG1faGFzQ2FsbGVkU2V0V2luZG93OworICAgIGJvb2wgbV9pc1Zpc2li
bGU7CiAKICAgICBSZWZQdHI8TmV0c2NhcGVQbHVnaW5TdHJlYW0+IG1fbWFudWFsU3RyZWFtOwog
ICAgIFZlY3Rvcjxib29sLCA4PiBtX3BvcHVwRW5hYmxlZFN0YXRlczsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS94MTEvTmV0c2NhcGVQbHVn
aW5YMTEuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL3gx
MS9OZXRzY2FwZVBsdWdpblgxMS5jcHAKaW5kZXggNWY0M2VjMi4uNDY2M2EwYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL3gxMS9OZXRzY2Fw
ZVBsdWdpblgxMS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05l
dHNjYXBlL3gxMS9OZXRzY2FwZVBsdWdpblgxMS5jcHAKQEAgLTI5Niw3ICsyOTYsMTUgQEAgdm9p
ZCBOZXRzY2FwZVBsdWdpbjo6cGxhdGZvcm1HZW9tZXRyeURpZENoYW5nZSgpCiAKIHZvaWQgTmV0
c2NhcGVQbHVnaW46OnBsYXRmb3JtVmlzaWJpbGl0eURpZENoYW5nZSgpCiB7Ci0gICAgbm90SW1w
bGVtZW50ZWQoKTsKKyAgICBpZiAoIW1faXNXaW5kb3dlZCkKKyAgICAgICAgcmV0dXJuOworCisg
ICAgdWludDY0X3Qgd2luZG93SUQgPSAwOworI2lmIFBMQVRGT1JNKEdUSykKKyAgICB3aW5kb3dJ
RCA9IHN0YXRpY19jYXN0PHVpbnQ2NF90PihHREtfV0lORE9XX1hJRChndGtfcGx1Z19nZXRfc29j
a2V0X3dpbmRvdyhHVEtfUExVRyhtX3BsYXRmb3JtUGx1Z2luV2lkZ2V0KSkpKTsKKyNlbmRpZgor
ICAgIGNvbnRyb2xsZXIoKS0+d2luZG93ZWRQbHVnaW5WaXNpYmlsaXR5RGlkQ2hhbmdlKG1faXNW
aXNpYmxlLCB3aW5kb3dJRCk7CisgICAgY29udHJvbGxlcigpLT53aW5kb3dlZFBsdWdpbkdlb21l
dHJ5RGlkQ2hhbmdlKG1fZnJhbWVSZWN0SW5XaW5kb3dDb29yZGluYXRlcywgbV9jbGlwUmVjdCwg
d2luZG93SUQpOwogfQogCiB2b2lkIE5ldHNjYXBlUGx1Z2luOjpwbGF0Zm9ybVBhaW50KEdyYXBo
aWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgSW50UmVjdCYgZGlydHlSZWN0LCBib29sIC8qaXNT
bmFwc2hvdCovKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5z
L1BsdWdpbi5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpbi5oCmlu
ZGV4IGM1NGE0YTEuLjI2MGMwOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvUGx1Z2lucy9QbHVnaW4uaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdp
bnMvUGx1Z2luLmgKQEAgLTE0Miw3ICsxNDIsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lk
IGdlb21ldHJ5RGlkQ2hhbmdlKGNvbnN0IFdlYkNvcmU6OkludFNpemUmIHBsdWdpblNpemUsIGNv
bnN0IFdlYkNvcmU6OkludFJlY3QmIGNsaXBSZWN0LCBjb25zdCBXZWJDb3JlOjpBZmZpbmVUcmFu
c2Zvcm0mIHBsdWdpblRvUm9vdFZpZXdUcmFuc2Zvcm0pID0gMDsKIAogICAgIC8vIFRlbGxzIHRo
ZSBwbHVnLWluIHRoYXQgaXQgaGFzIGJlZW4gZXhwbGljaXRseSBoaWRkZW4gb3Igc2hvd24uIChO
b3RlIHRoYXQgdGhpcyBpcyBub3QgY2FsbGVkIHdoZW4gdGhlIHBsdWctaW4gYmVjb21lcyBvYnNj
dXJlZCBmcm9tIHZpZXcgb24gc2NyZWVuLikKLSAgICB2aXJ0dWFsIHZvaWQgdmlzaWJpbGl0eURp
ZENoYW5nZSgpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgdmlzaWJpbGl0eURpZENoYW5nZShib29s
IHZpc2libGUpID0gMDsKIAogICAgIC8vIFRlbGxzIHRoZSBwbHVnLWluIHRoYXQgYSBmcmFtZSBs
b2FkIHJlcXVlc3QgdGhhdCB0aGUgcGx1Zy1pbiBtYWRlIGJ5IGNhbGxpbmcgUGx1Z2luQ29udHJv
bGxlcjo6bG9hZFVSTCBoYXMgZmluaXNoZWQuCiAgICAgdmlydHVhbCB2b2lkIGZyYW1lRGlkRmlu
aXNoTG9hZGluZyh1aW50NjRfdCByZXF1ZXN0SUQpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Db250cm9sbGVyLmggYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luQ29udHJvbGxlci5oCmluZGV4IDc5Y2NhNTku
LjgwMTg3M2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9Q
bHVnaW5Db250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5z
L1BsdWdpbkNvbnRyb2xsZXIuaApAQCAtMTQ2LDYgKzE0Niw3IEBAIHB1YmxpYzoKICAgICAvLyBD
cmVhdGUgYSBwbHVnaW4gY29udGFpbmVyIGZvciB3aW5kb3dlZCBwbHVnaW5zCiAgICAgdmlydHVh
bCB1aW50NjRfdCBjcmVhdGVQbHVnaW5Db250YWluZXIoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lk
IHdpbmRvd2VkUGx1Z2luR2VvbWV0cnlEaWRDaGFuZ2UoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYg
ZnJhbWVSZWN0LCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBjbGlwUmVjdCwgdWludDY0X3Qgd2lu
ZG93SUQpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgd2luZG93ZWRQbHVnaW5WaXNpYmlsaXR5RGlk
Q2hhbmdlKGJvb2wgdmlzaWJsZSwgdWludDY0X3Qgd2luZG93SUQpID0gMDsKICNlbmRpZgogCiAg
ICAgLy8gQ2FsbGVkIHdoZW4gdGhlIGEgcGx1Zy1pbiBpbnN0YW5jZSBpcyBzdWNjZXNzZnVsbHkg
aW5pdGlhbGl6ZWQsIGVpdGhlciBzeW5jaHJvbm91c2x5IG9yIGFzeW5jaHJvbm91c2x5LgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb3h5LmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm94eS5jcHAKaW5k
ZXggN2Q5YzM2ODYuLmFlMGFmYjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvUGx1Z2lucy9QbHVnaW5Qcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9QbHVnaW5zL1BsdWdpblByb3h5LmNwcApAQCAtMzAwLDEwICszMDAsMTAgQEAgdm9pZCBQbHVn
aW5Qcm94eTo6Z2VvbWV0cnlEaWRDaGFuZ2UoY29uc3QgSW50U2l6ZSYgcGx1Z2luU2l6ZSwgY29u
c3QgSW50UmVjdCYgY2wKICAgICBnZW9tZXRyeURpZENoYW5nZSgpOwogfQogCi12b2lkIFBsdWdp
blByb3h5Ojp2aXNpYmlsaXR5RGlkQ2hhbmdlKCkKK3ZvaWQgUGx1Z2luUHJveHk6OnZpc2liaWxp
dHlEaWRDaGFuZ2UoYm9vbCB2aXNpYmxlKQogewogICAgIEFTU0VSVChtX2lzU3RhcnRlZCk7Ci0g
ICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICBtX2Nvbm5lY3Rpb24tPmNvbm5lY3Rpb24oKS0+c2Vu
ZChNZXNzYWdlczo6UGx1Z2luQ29udHJvbGxlclByb3h5OjpWaXNpYmlsaXR5RGlkQ2hhbmdlKHZp
c2libGUpLCBtX3BsdWdpbkluc3RhbmNlSUQpOwogfQogCiB2b2lkIFBsdWdpblByb3h5OjpmcmFt
ZURpZEZpbmlzaExvYWRpbmcodWludDY0X3QgcmVxdWVzdElEKQpAQCAtNjgwLDYgKzY4MCwxMSBA
QCB2b2lkIFBsdWdpblByb3h5Ojp3aW5kb3dlZFBsdWdpbkdlb21ldHJ5RGlkQ2hhbmdlKGNvbnN0
IFdlYkNvcmU6OkludFJlY3QmIGZyYW1lUgogewogICAgIGNvbnRyb2xsZXIoKS0+d2luZG93ZWRQ
bHVnaW5HZW9tZXRyeURpZENoYW5nZShmcmFtZVJlY3QsIGNsaXBSZWN0LCB3aW5kb3dJRCk7CiB9
CisKK3ZvaWQgUGx1Z2luUHJveHk6OndpbmRvd2VkUGx1Z2luVmlzaWJpbGl0eURpZENoYW5nZShi
b29sIHZpc2libGUsIHVpbnQ2NF90IHdpbmRvd0lEKQoreworICAgIGNvbnRyb2xsZXIoKS0+d2lu
ZG93ZWRQbHVnaW5WaXNpYmlsaXR5RGlkQ2hhbmdlKHZpc2libGUsIHdpbmRvd0lEKTsKK30KICNl
bmRpZgogCiB2b2lkIFBsdWdpblByb3h5Ojp1cGRhdGUoY29uc3QgSW50UmVjdCYgcGFpbnRlZFJl
Y3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2lu
UHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm94eS5o
CmluZGV4IDQ5MzdlNWYuLmE4YWNjNmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvUGx1Z2lucy9QbHVnaW5Qcm94eS5oCkBAIC04NCw3ICs4NCw3IEBAIHByaXZhdGU6CiAgICAg
dmlydHVhbCBib29sIGlzVHJhbnNwYXJlbnQoKTsKICAgICB2aXJ0dWFsIGJvb2wgd2FudHNXaGVl
bEV2ZW50cygpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCBnZW9tZXRyeURpZENoYW5nZShj
b25zdCBXZWJDb3JlOjpJbnRTaXplJiBwbHVnaW5TaXplLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0
JiBjbGlwUmVjdCwgY29uc3QgV2ViQ29yZTo6QWZmaW5lVHJhbnNmb3JtJiBwbHVnaW5Ub1Jvb3RW
aWV3VHJhbnNmb3JtKTsKLSAgICB2aXJ0dWFsIHZvaWQgdmlzaWJpbGl0eURpZENoYW5nZSgpOwor
ICAgIHZpcnR1YWwgdm9pZCB2aXNpYmlsaXR5RGlkQ2hhbmdlKGJvb2wgdmlzaWJsZSk7CiAgICAg
dmlydHVhbCB2b2lkIGZyYW1lRGlkRmluaXNoTG9hZGluZyh1aW50NjRfdCByZXF1ZXN0SUQpOwog
ICAgIHZpcnR1YWwgdm9pZCBmcmFtZURpZEZhaWwodWludDY0X3QgcmVxdWVzdElELCBib29sIHdh
c0NhbmNlbGxlZCk7CiAgICAgdmlydHVhbCB2b2lkIGRpZEV2YWx1YXRlSmF2YVNjcmlwdCh1aW50
NjRfdCByZXF1ZXN0SUQsIGNvbnN0IFN0cmluZyYgcmVzdWx0KTsKQEAgLTE3MSw2ICsxNzEsNyBA
QCBwcml2YXRlOgogI2lmIFBMVUdJTl9BUkNISVRFQ1RVUkUoWDExKQogICAgIHZvaWQgY3JlYXRl
UGx1Z2luQ29udGFpbmVyKHVpbnQ2NF90JiB3aW5kb3dJRCk7CiAgICAgdm9pZCB3aW5kb3dlZFBs
dWdpbkdlb21ldHJ5RGlkQ2hhbmdlKGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGZyYW1lUmVjdCwg
Y29uc3QgV2ViQ29yZTo6SW50UmVjdCYgY2xpcFJlY3QsIHVpbnQ2NF90IHdpbmRvd0lEKTsKKyAg
ICB2b2lkIHdpbmRvd2VkUGx1Z2luVmlzaWJpbGl0eURpZENoYW5nZShib29sIHZpc2libGUsIHVp
bnQ2NF90IHdpbmRvd0lEKTsKICNlbmRpZgogCiAgICAgYm9vbCBjYW5Jbml0aWFsaXplQXN5bmNo
cm9ub3VzbHkoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
UGx1Z2lucy9QbHVnaW5Qcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvUGx1Z2lucy9QbHVnaW5Qcm94eS5tZXNzYWdlcy5pbgppbmRleCA0MTdlMTdlLi43YjQ1YmNl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJv
eHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1Bs
dWdpblByb3h5Lm1lc3NhZ2VzLmluCkBAIC03Myw2ICs3Myw5IEBAIG1lc3NhZ2VzIC0+IFBsdWdp
blByb3h5IExlZ2FjeVJlY2VpdmVyIHsKIAogICAgICMgVXBkYXRlIGdlb21ldHJ5IG9mIHdpbmRv
d2VkIHBsdWdpbiB3aWRnZXQKICAgICBXaW5kb3dlZFBsdWdpbkdlb21ldHJ5RGlkQ2hhbmdlKFdl
YkNvcmU6OkludFJlY3QgZnJhbWVSZWN0LCBXZWJDb3JlOjpJbnRSZWN0IGNsaXBSZWN0LCB1aW50
NjRfdCB3aW5kb3dJRCkKKworICAgICMgVXBkYXRlIHZpc2liaWxpdHkgb2Ygd2luZG93ZWQgcGx1
Z2luIHdpZGdldAorICAgIFdpbmRvd2VkUGx1Z2luVmlzaWJpbGl0eURpZENoYW5nZShib29sIHZp
c2libGUsIHVpbnQ2NF90IHdpbmRvd0lEKQogI2VuZGlmCiAKICAgICAjIFRlbGxzIHRoZSBXZWJQ
cm9jZXNzIHRoYXQgdGhlIHBsdWctaW4gd2FzIHN1Y2Nlc3NmdWxseSBpbml0aWFsaXplZCBhc3lu
Y2hyb25vdXNseQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5z
L1BsdWdpblZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdp
blZpZXcuY3BwCmluZGV4IGIxN2U4MjcuLjIyNTc3ZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5jcHAKQEAgLTYwOCw2ICs2MDgsNyBAQCB2
b2lkIFBsdWdpblZpZXc6OmRpZEluaXRpYWxpemVQbHVnaW4oKQogICAgIHdpbmRvd0FuZFZpZXdG
cmFtZXNDaGFuZ2VkKG1fd2ViUGFnZS0+d2luZG93RnJhbWVJblNjcmVlbkNvb3JkaW5hdGVzKCks
IG1fd2ViUGFnZS0+dmlld0ZyYW1lSW5XaW5kb3dDb29yZGluYXRlcygpKTsKICNlbmRpZgogCisg
ICAgdmlld1Zpc2liaWxpdHlEaWRDaGFuZ2UoKTsKICAgICB2aWV3R2VvbWV0cnlEaWRDaGFuZ2Uo
KTsKIAogICAgIGlmIChtX3BsdWdpbkVsZW1lbnQtPmRvY3VtZW50KCkuZm9jdXNlZEVsZW1lbnQo
KSA9PSBtX3BsdWdpbkVsZW1lbnQpCkBAIC0xMDE0LDYgKzEwMTUsMTUgQEAgdm9pZCBQbHVnaW5W
aWV3OjpoaWRlKCkKICAgICBXaWRnZXQ6OmhpZGUoKTsKIH0KIAordm9pZCBQbHVnaW5WaWV3Ojpz
ZXRQYXJlbnRWaXNpYmxlKGJvb2wgdmlzaWJsZSkKK3sKKyAgICBpZiAoaXNQYXJlbnRWaXNpYmxl
KCkgPT0gdmlzaWJsZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgV2lkZ2V0OjpzZXRQYXJlbnRW
aXNpYmxlKHZpc2libGUpOworICAgIHZpZXdWaXNpYmlsaXR5RGlkQ2hhbmdlKCk7Cit9CisKIGJv
b2wgUGx1Z2luVmlldzo6dHJhbnNmb3Jtc0FmZmVjdEZyYW1lUmVjdCgpCiB7CiAgICAgcmV0dXJu
IGZhbHNlOwpAQCAtMTA1Niw3ICsxMDY2LDcgQEAgdm9pZCBQbHVnaW5WaWV3Ojp2aWV3VmlzaWJp
bGl0eURpZENoYW5nZSgpCiAgICAgaWYgKCFtX2lzSW5pdGlhbGl6ZWQgfHwgIW1fcGx1Z2luIHx8
ICFwYXJlbnQoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9wbHVnaW4tPnZpc2liaWxpdHlE
aWRDaGFuZ2UoKTsKKyAgICBtX3BsdWdpbi0+dmlzaWJpbGl0eURpZENoYW5nZShpc1Zpc2libGUo
KSk7CiB9CiAKIEludFJlY3QgUGx1Z2luVmlldzo6Y2xpcFJlY3RJbldpbmRvd0Nvb3JkaW5hdGVz
KCkgY29uc3QKQEAgLTE2MTQsNiArMTYyNCwxMSBAQCB2b2lkIFBsdWdpblZpZXc6OndpbmRvd2Vk
UGx1Z2luR2VvbWV0cnlEaWRDaGFuZ2UoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgZnJhbWVSZQog
ewogICAgIG1fd2ViUGFnZS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpXaW5kb3dlZFBs
dWdpbkdlb21ldHJ5RGlkQ2hhbmdlKGZyYW1lUmVjdCwgY2xpcFJlY3QsIHdpbmRvd0lEKSk7CiB9
CisKK3ZvaWQgUGx1Z2luVmlldzo6d2luZG93ZWRQbHVnaW5WaXNpYmlsaXR5RGlkQ2hhbmdlKGJv
b2wgdmlzaWJsZSwgdWludDY0X3Qgd2luZG93SUQpCit7CisgICAgbV93ZWJQYWdlLT5zZW5kKE1l
c3NhZ2VzOjpXZWJQYWdlUHJveHk6OldpbmRvd2VkUGx1Z2luVmlzaWJpbGl0eURpZENoYW5nZSh2
aXNpYmxlLCB3aW5kb3dJRCkpOworfQogI2VuZGlmCiAKICNpZiBQTEFURk9STShDT0NPQSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3Lmgg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5oCmluZGV4IDc3
OTYzMzQuLjlmMjFkZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1
Z2lucy9QbHVnaW5WaWV3LmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5z
L1BsdWdpblZpZXcuaApAQCAtMTcwLDYgKzE3MCw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2
b2lkIG5vdGlmeVdpZGdldChXZWJDb3JlOjpXaWRnZXROb3RpZmljYXRpb24pOwogICAgIHZpcnR1
YWwgdm9pZCBzaG93KCk7CiAgICAgdmlydHVhbCB2b2lkIGhpZGUoKTsKKyAgICB2aXJ0dWFsIHZv
aWQgc2V0UGFyZW50VmlzaWJsZShib29sKTsKICAgICB2aXJ0dWFsIGJvb2wgdHJhbnNmb3Jtc0Fm
ZmVjdEZyYW1lUmVjdCgpOwogICAgIHZpcnR1YWwgdm9pZCBjbGlwUmVjdENoYW5nZWQoKSBvdmVy
cmlkZTsKIApAQCAtMjEzLDYgKzIxNCw3IEBAIHByaXZhdGU6CiAjaWYgUExVR0lOX0FSQ0hJVEVD
VFVSRShYMTEpCiAgICAgdmlydHVhbCB1aW50NjRfdCBjcmVhdGVQbHVnaW5Db250YWluZXIoKTsK
ICAgICB2aXJ0dWFsIHZvaWQgd2luZG93ZWRQbHVnaW5HZW9tZXRyeURpZENoYW5nZShjb25zdCBX
ZWJDb3JlOjpJbnRSZWN0JiBmcmFtZVJlY3QsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGNsaXBS
ZWN0LCB1aW50NjRfdCB3aW5kb3dJRCk7CisgICAgdmlydHVhbCB2b2lkIHdpbmRvd2VkUGx1Z2lu
VmlzaWJpbGl0eURpZENoYW5nZShib29sIHZpc2libGUsIHVpbnQ2NF90IHdpbmRvd0lEKTsKICNl
bmRpZgogCiAgICAgdmlydHVhbCB2b2lkIGRpZEluaXRpYWxpemVQbHVnaW4oKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>229124</attachid>
            <date>2014-04-11 04:01:53 -0700</date>
            <delta_ts>2014-06-25 00:31:37 -0700</delta_ts>
            <desc>Try to fix EFL and mac builds</desc>
            <filename>wk2-plugins-visibility.diff</filename>
            <type>text/plain</type>
            <size>21397</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA5MTIzNjIzLi5kZThmMmQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTMg
QEAKKzIwMTQtMDQtMTEgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29t
PgorCisgICAgICAgIFtHVEtdIFdpbmRvd2VkIHBsdWdpbnMgdmlzaWJpbGl0eSBkb2Vzbid0IHdv
cmsKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzMTQ4
NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcGxl
bWVudCBwbHVnaW5zIHZpc2liaWxpdHkgY2hhbmdlcyBhbmQgYWRkIGEgbmV3IG1lc3NhZ2UgdG8K
KyAgICAgICAgbm90aWZ5IHRoZSBVSSBwcm9jZXNzIHdoZW4gYSB3aW5kb3dlZCBwbHVnaW4gaXMg
c2hvd24vaGlkZGVuIHRvCisgICAgICAgIHNob3cvaGlkZSB0aGUgcGx1Z2luIHdpZGdldC4KKwor
ICAgICAgICAqIFBsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5LmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6UGx1Z2luQ29udHJvbGxlclByb3h5Ojp2aXNpYmlsaXR5RGlkQ2hhbmdlKTog
QWRkCisgICAgICAgIGltcGxlbWVudGF0aW9uIHRvIG5vdGlmeSB0aGUgcGx1Z2luIGFib3V0IHZp
c2liaWxpdHkgY2hhbmdlLgorICAgICAgICAoV2ViS2l0OjpQbHVnaW5Db250cm9sbGVyUHJveHk6
OndpbmRvd2VkUGx1Z2luVmlzaWJpbGl0eURpZENoYW5nZSk6CisgICAgICAgIFNlbmQgV2luZG93
ZWRQbHVnaW5WaXNpYmlsaXR5RGlkQ2hhbmdlIHRvIHRoZSBwbHVnaW4gcHJveHkuCisgICAgICAg
ICogUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHkuaDoKKyAgICAgICAgKiBQbHVn
aW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5tZXNzYWdlcy5pbjogQWRkIFZpc2liaWxp
dHlEaWRDaGFuZ2UgbWVzc2FnZS4KKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6
IEFkZCB3aW5kb3dlZFBsdWdpblZpc2liaWxpdHlEaWRDaGFuZ2UKKyAgICAgICAgdG8gaGFuZGxl
IFdpbmRvd2VkUGx1Z2luVmlzaWJpbGl0eURpZENoYW5nZSBtZXNzYWdlLgorICAgICAgICAqIFVJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW46IEFkZCBXaW5kb3dlZFBsdWdpblZpc2li
aWxpdHlEaWRDaGFuZ2UgbWVzc2FnZS4KKyAgICAgICAgKiBVSVByb2Nlc3MvZWZsL1dlYlBhZ2VQ
cm94eUVmbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6d2luZG93ZWRQbHVn
aW5WaXNpYmlsaXR5RGlkQ2hhbmdlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvZ3RrL1dlYlBhZ2VQ
cm94eUd0ay5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6Y3JlYXRlUGx1Z2lu
Q29udGFpbmVyKTogRG8gbm90IHNob3cgdGhlCisgICAgICAgIHBsdWdpbnMgYnkgZGVmYXVsdC4K
KyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5Ojp3aW5kb3dlZFBsdWdpblZpc2liaWxpdHlE
aWRDaGFuZ2UpOiBTaG93IG9yIGhpZGUgdGhlIHBsdWdpbiB3aWRnZXQuCisgICAgICAgICogV2Vi
UHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2luLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6TmV0c2NhcGVQbHVnaW46Ok5ldHNjYXBlUGx1Z2luKTogSW5pdGlhbGl6ZSBtX2lzVmlz
aWJsZS4KKyAgICAgICAgKFdlYktpdDo6TmV0c2NhcGVQbHVnaW46OnZpc2liaWxpdHlEaWRDaGFu
Z2UpOiBBZGQgdmlzaWJsZSBwYXJhbWV0ZXIgYW5kIHNhdmUgaXQgaW4gbV9pc1Zpc2libGUKKyAg
ICAgICAgbWVtYmVyLCBjYWxsaW5nIHBsYXRmb3JtVmlzaWJpbGl0eURpZENoYW5nZSgpIG9ubHkg
d2hlbiBpdCBoYXMgYWN0dWFsbHkgY2hhbmdlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1BsdWdp
bnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW4uaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1BsdWdp
bnMvTmV0c2NhcGUveDExL05ldHNjYXBlUGx1Z2luWDExLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
TmV0c2NhcGVQbHVnaW46OnBsYXRmb3JtVmlzaWJpbGl0eURpZENoYW5nZSk6IE5vdGlmeSB0aGUg
Y29udHJvbGxlciBhYm91dCB2aXNpYmlsaXR5IGNoYW5nZS4KKyAgICAgICAgKiBXZWJQcm9jZXNz
L1BsdWdpbnMvUERGL1BERlBsdWdpbi5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9Q
bHVnaW4uaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luQ29udHJvbGxlci5o
OgorICAgICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm94eS5jcHA6CisgICAgICAg
IChXZWJLaXQ6OlBsdWdpblByb3h5Ojp2aXNpYmlsaXR5RGlkQ2hhbmdlKTogU2VuZCBWaXNpYmls
aXR5RGlkQ2hhbmdlIG1lc3NhZ2UgdG8gdGhlIHBsdWdpbiBjb250cm9sbGVyIHByb3h5LgorICAg
ICAgICAoV2ViS2l0OjpQbHVnaW5Qcm94eTo6d2luZG93ZWRQbHVnaW5WaXNpYmlsaXR5RGlkQ2hh
bmdlKTogTm90aWZ5IHRoZSBjb250cm9sbGVyIGFib3V0IHZpc2liaWxpdHkgY2hhbmdlLgorICAg
ICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm94eS5oOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm94eS5tZXNzYWdlcy5pbjogQWRkIFdpbmRvd2VkUGx1Z2lu
VmlzaWJpbGl0eURpZENoYW5nZSBtZXNzYWdlLgorICAgICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lu
cy9QbHVnaW5WaWV3LmNwcDoKKyAgICAgICAgKFdlYktpdDo6UGx1Z2luVmlldzo6ZGlkSW5pdGlh
bGl6ZVBsdWdpbik6IEFsc28gY2FsbCB2aWV3VmlzaWJpbGl0eURpZENoYW5nZSgpIHdoZW4gdGhl
IHBsdWdpbiBpcyBpbml0aWFsaXplZC4KKyAgICAgICAgKFdlYktpdDo6UGx1Z2luVmlldzo6c2V0
UGFyZW50VmlzaWJsZSk6IE92ZXJyaWRlIHRoaXMgV2lkZ2V0IG1ldGhvZCB0byB1cGRhdGUgdGhl
IHBsdWdpbiB2aXNpYmlsaXR5IHdoZW4gcGFyZW50CisgICAgICAgIHdpZGdldCBpcyBzaG93bi9o
aWRkZW4uCisgICAgICAgIChXZWJLaXQ6OlBsdWdpblZpZXc6OnZpZXdWaXNpYmlsaXR5RGlkQ2hh
bmdlKTogUGFzcyB2aXNpYmxlIHBhcmFtZXRlciB0byB2aXNpYmlsaXR5RGlkQ2hhbmdlKCkuCisg
ICAgICAgIChXZWJLaXQ6OlBsdWdpblZpZXc6OndpbmRvd2VkUGx1Z2luVmlzaWJpbGl0eURpZENo
YW5nZSk6IFNlbmQgV2luZG93ZWRQbHVnaW5WaXNpYmlsaXR5RGlkQ2hhbmdlIG1lc3NhZ2UgdG8g
dGhlIFVJIHByb2Nlc3MuCisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblZpZXcu
aDoKKwogMjAxNC0wNC0xMSAgWmFuIERvYmVyc2VrICA8emRvYmVyc2VrQGlnYWxpYS5jb20+CiAK
ICAgICAgICAgW0dUS11bV0syXSBNb3ZlIFZlY3RvciBvYmplY3RzIGludG8gV2ViRWRpdG9yQ2xp
ZW50OjpleGVjdXRlUGVuZGluZ0VkaXRvckNvbW1hbmRzKCkgaW52b2NhdGlvbnMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5LmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5LmNw
cAppbmRleCAzZGVkN2Q5Li5lZDdlYTY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbHVn
aW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
UGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHkuY3BwCkBAIC00MjUsNiArNDI1LDEy
IEBAIHZvaWQgUGx1Z2luQ29udHJvbGxlclByb3h5OjpnZW9tZXRyeURpZENoYW5nZShjb25zdCBJ
bnRTaXplJiBwbHVnaW5TaXplLCBjb25zdCBJCiAgICAgbV9wbHVnaW4tPmdlb21ldHJ5RGlkQ2hh
bmdlKHBsdWdpblNpemUsIGNsaXBSZWN0LCBwbHVnaW5Ub1Jvb3RWaWV3VHJhbnNmb3JtKTsKIH0K
IAordm9pZCBQbHVnaW5Db250cm9sbGVyUHJveHk6OnZpc2liaWxpdHlEaWRDaGFuZ2UoYm9vbCB2
aXNpYmxlKQoreworICAgIEFTU0VSVChtX3BsdWdpbik7CisgICAgbV9wbHVnaW4tPnZpc2liaWxp
dHlEaWRDaGFuZ2UodmlzaWJsZSk7Cit9CisKIHZvaWQgUGx1Z2luQ29udHJvbGxlclByb3h5Ojpk
aWRFdmFsdWF0ZUphdmFTY3JpcHQodWludDY0X3QgcmVxdWVzdElELCBjb25zdCBTdHJpbmcmIHJl
c3VsdCkKIHsKICAgICBtX3BsdWdpbi0+ZGlkRXZhbHVhdGVKYXZhU2NyaXB0KHJlcXVlc3RJRCwg
cmVzdWx0KTsKQEAgLTYwOSw2ICs2MTUsMTEgQEAgdm9pZCBQbHVnaW5Db250cm9sbGVyUHJveHk6
OndpbmRvd2VkUGx1Z2luR2VvbWV0cnlEaWRDaGFuZ2UoY29uc3QgSW50UmVjdCYgZnJhbWUKIHsK
ICAgICBtX2Nvbm5lY3Rpb24tPmNvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6UGx1Z2luUHJv
eHk6OldpbmRvd2VkUGx1Z2luR2VvbWV0cnlEaWRDaGFuZ2UoZnJhbWVSZWN0LCBjbGlwUmVjdCwg
d2luZG93SUQpLCBtX3BsdWdpbkluc3RhbmNlSUQpOwogfQorCit2b2lkIFBsdWdpbkNvbnRyb2xs
ZXJQcm94eTo6d2luZG93ZWRQbHVnaW5WaXNpYmlsaXR5RGlkQ2hhbmdlKGJvb2wgdmlzaWJsZSwg
dWludDY0X3Qgd2luZG93SUQpCit7CisgICAgbV9jb25uZWN0aW9uLT5jb25uZWN0aW9uKCktPnNl
bmQoTWVzc2FnZXM6OlBsdWdpblByb3h5OjpXaW5kb3dlZFBsdWdpblZpc2liaWxpdHlEaWRDaGFu
Z2UodmlzaWJsZSwgd2luZG93SUQpLCBtX3BsdWdpbkluc3RhbmNlSUQpOworfQogI2VuZGlmCiAK
IH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGx1Z2lu
UHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1BsdWdpblBy
b2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5LmgKaW5kZXggNjVkOTAyYi4uZjEzMWJkZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJv
eHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQ
cm94eS5oCkBAIC0xMTYsMTIgKzExNiwxNCBAQCBwcml2YXRlOgogI2lmIFBMVUdJTl9BUkNISVRF
Q1RVUkUoWDExKQogICAgIHZpcnR1YWwgdWludDY0X3QgY3JlYXRlUGx1Z2luQ29udGFpbmVyKCk7
CiAgICAgdmlydHVhbCB2b2lkIHdpbmRvd2VkUGx1Z2luR2VvbWV0cnlEaWRDaGFuZ2UoY29uc3Qg
V2ViQ29yZTo6SW50UmVjdCYgZnJhbWVSZWN0LCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBjbGlw
UmVjdCwgdWludDY0X3Qgd2luZG93SUQpOworICAgIHZpcnR1YWwgdm9pZCB3aW5kb3dlZFBsdWdp
blZpc2liaWxpdHlEaWRDaGFuZ2UoYm9vbCB2aXNpYmxlLCB1aW50NjRfdCB3aW5kb3dJRCk7CiAj
ZW5kaWYKICAgICAKICAgICAvLyBNZXNzYWdlIGhhbmRsZXJzLgogICAgIHZvaWQgZnJhbWVEaWRG
aW5pc2hMb2FkaW5nKHVpbnQ2NF90IHJlcXVlc3RJRCk7CiAgICAgdm9pZCBmcmFtZURpZEZhaWwo
dWludDY0X3QgcmVxdWVzdElELCBib29sIHdhc0NhbmNlbGxlZCk7CiAgICAgdm9pZCBnZW9tZXRy
eURpZENoYW5nZShjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBwbHVnaW5TaXplLCBjb25zdCBXZWJD
b3JlOjpJbnRSZWN0JiBjbGlwUmVjdCwgY29uc3QgV2ViQ29yZTo6QWZmaW5lVHJhbnNmb3JtJiBw
bHVnaW5Ub1Jvb3RWaWV3VHJhbnNmb3JtLCBmbG9hdCBjb250ZW50c1NjYWxlRmFjdG9yLCBjb25z
dCBTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSYgYmFja2luZ1N0b3JlSGFuZGxlKTsKKyAgICB2b2lk
IHZpc2liaWxpdHlEaWRDaGFuZ2UoYm9vbCB2aXNpYmxlKTsKICAgICB2b2lkIGRpZEV2YWx1YXRl
SmF2YVNjcmlwdCh1aW50NjRfdCByZXF1ZXN0SUQsIGNvbnN0IFN0cmluZyYgcmVzdWx0KTsKICAg
ICB2b2lkIHN0cmVhbURpZFJlY2VpdmVSZXNwb25zZSh1aW50NjRfdCBzdHJlYW1JRCwgY29uc3Qg
U3RyaW5nJiByZXNwb25zZVVSTFN0cmluZywgdWludDMyX3Qgc3RyZWFtTGVuZ3RoLCB1aW50MzJf
dCBsYXN0TW9kaWZpZWRUaW1lLCBjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCBjb25zdCBTdHJpbmcm
IGhlYWRlcnMpOwogICAgIHZvaWQgc3RyZWFtRGlkUmVjZWl2ZURhdGEodWludDY0X3Qgc3RyZWFt
SUQsIGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYgZGF0YSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5tZXNzYWdlcy5pbiBi
L1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5Lm1lc3Nh
Z2VzLmluCmluZGV4IDZiNmEzMDguLmQwZjUxYjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1BsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5Lm1lc3NhZ2Vz
LmluCkBAIC0yNiw2ICsyNiw5IEBAIG1lc3NhZ2VzIC0+IFBsdWdpbkNvbnRyb2xsZXJQcm94eSBM
ZWdhY3lSZWNlaXZlciB7CiAgICAgIyBTZW50IHdoZW4gdGhlIHBsdWctaW4gZ2VvbWV0cnkgY2hh
bmdlcy4KICAgICBHZW9tZXRyeURpZENoYW5nZShXZWJDb3JlOjpJbnRTaXplIHBsdWdpblNpemUs
IFdlYkNvcmU6OkludFJlY3QgY2xpcFJlY3QsIFdlYkNvcmU6OkFmZmluZVRyYW5zZm9ybSBwbHVn
aW5Ub1Jvb3RWaWV3VHJhbnNmb3JtLCBmbG9hdCBzY2FsZUZhY3RvciwgV2ViS2l0OjpTaGFyZWFi
bGVCaXRtYXA6OkhhbmRsZSBiYWNraW5nU3RvcmVIYW5kbGUpCiAKKyAgICAjIFNlbnQgd2hlbiB0
aGUgcGx1Zy1pbiB2aXNpYmlsaXR5IGNoYW5nZXMuCisgICAgVmlzaWJpbGl0eURpZENoYW5nZShi
b29sIHZpc2libGUpCisKICAgICAjIFNlbnQgd2hlbiBhIGZyYW1lIGhhcyBmaW5pc2hlZCBsb2Fk
aW5nLgogICAgIEZyYW1lRGlkRmluaXNoTG9hZGluZyh1aW50NjRfdCByZXF1ZXN0SUQpCiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCBkZjNiNWUwLi41YjIwNTQy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC0xMzY5LDYgKzEz
NjksNyBAQCBwcml2YXRlOgogI2lmIFBMVUdJTl9BUkNISVRFQ1RVUkUoWDExKQogICAgIHZvaWQg
Y3JlYXRlUGx1Z2luQ29udGFpbmVyKHVpbnQ2NF90JiB3aW5kb3dJRCk7CiAgICAgdm9pZCB3aW5k
b3dlZFBsdWdpbkdlb21ldHJ5RGlkQ2hhbmdlKGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGZyYW1l
UmVjdCwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgY2xpcFJlY3QsIHVpbnQ2NF90IHdpbmRvd0lE
KTsKKyAgICB2b2lkIHdpbmRvd2VkUGx1Z2luVmlzaWJpbGl0eURpZENoYW5nZShib29sIHZpc2li
bGUsIHVpbnQ2NF90IHdpbmRvd0lEKTsKICNlbmRpZgogCiAgICAgdm9pZCBwcm9jZXNzTmV4dFF1
ZXVlZFdoZWVsRXZlbnQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IDBkNzEyNDEuLjcwYjM1YzAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgpAQCAtMzEzLDYg
KzMxMyw3IEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2VQcm94eSB7CiAgICAgIyBYMTEgd2luZG93ZWQg
cGx1Z2luIG1lc3NhZ2VzCiAgICAgQ3JlYXRlUGx1Z2luQ29udGFpbmVyKCkgLT4gKHVpbnQ2NF90
IHdpbmRvd0lEKQogICAgIFdpbmRvd2VkUGx1Z2luR2VvbWV0cnlEaWRDaGFuZ2UoV2ViQ29yZTo6
SW50UmVjdCBmcmFtZVJlY3QsIFdlYkNvcmU6OkludFJlY3QgY2xpcFJlY3QsIHVpbnQ2NF90IHdp
bmRvd0lEKQorICAgIFdpbmRvd2VkUGx1Z2luVmlzaWJpbGl0eURpZENoYW5nZShib29sIHZpc2li
bGUsIHVpbnQ2NF90IHdpbmRvd0lEKQogI2VuZGlmCiAKICNpZiBQTEFURk9STShJT1MpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dlYlBhZ2VQcm94eUVmbC5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dlYlBhZ2VQcm94eUVmbC5jcHAKaW5kZXgg
YmQwYmM2MS4uNDkxZDVkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2Vm
bC9XZWJQYWdlUHJveHlFZmwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwv
V2ViUGFnZVByb3h5RWZsLmNwcApAQCAtOTcsNiArOTcsMTEgQEAgdm9pZCBXZWJQYWdlUHJveHk6
OndpbmRvd2VkUGx1Z2luR2VvbWV0cnlEaWRDaGFuZ2UoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYs
IGNvbnMKICAgICBub3RJbXBsZW1lbnRlZCgpOwogfQogCit2b2lkIFdlYlBhZ2VQcm94eTo6d2lu
ZG93ZWRQbHVnaW5WaXNpYmlsaXR5RGlkQ2hhbmdlKGJvb2wsIHVpbnQ2NF90KQoreworICAgIG5v
dEltcGxlbWVudGVkKCk7Cit9CisKIHZvaWQgV2ViUGFnZVByb3h5OjpoYW5kbGVJbnB1dE1ldGhv
ZEtleWRvd24oYm9vbCYgaGFuZGxlZCkKIHsKICAgICBoYW5kbGVkID0gbV9rZXlFdmVudFF1ZXVl
LmZpcnN0KCkuaXNGaWx0ZXJlZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL2d0ay9XZWJQYWdlUHJveHlHdGsuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0
ay9XZWJQYWdlUHJveHlHdGsuY3BwCmluZGV4IDhhNTM5ODUuLjdkMzcwNmEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsvV2ViUGFnZVByb3h5R3RrLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL1dlYlBhZ2VQcm94eUd0ay5jcHAKQEAgLTk2LDcg
Kzk2LDYgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmNyZWF0ZVBsdWdpbkNvbnRhaW5lcih1aW50NjRf
dCYgd2luZG93SUQpCiAgICAgR3RrV2lkZ2V0KiBzb2NrZXQgPSBndGtfc29ja2V0X25ldygpOwog
ICAgIGdfc2lnbmFsX2Nvbm5lY3Qoc29ja2V0LCAicGx1Zy1yZW1vdmVkIiwgR19DQUxMQkFDSyhw
bHVnaW5Db250YWluZXJQbHVnUmVtb3ZlZCksIDApOwogICAgIGd0a19jb250YWluZXJfYWRkKEdU
S19DT05UQUlORVIodmlld1dpZGdldCgpKSwgc29ja2V0KTsKLSAgICBndGtfd2lkZ2V0X3Nob3co
c29ja2V0KTsKIAogICAgIHdpbmRvd0lEID0gc3RhdGljX2Nhc3Q8dWludDY0X3Q+KGd0a19zb2Nr
ZXRfZ2V0X2lkKEdUS19TT0NLRVQoc29ja2V0KSkpOwogICAgIHBsdWdpbldpbmRvd01hcCgpLnNl
dCh3aW5kb3dJRCwgc29ja2V0KTsKQEAgLTExNyw2ICsxMTYsMTggQEAgdm9pZCBXZWJQYWdlUHJv
eHk6OndpbmRvd2VkUGx1Z2luR2VvbWV0cnlEaWRDaGFuZ2UoY29uc3QgV2ViQ29yZTo6SW50UmVj
dCYgZnJhbWUKIAogICAgIHdlYmtpdFdlYlZpZXdCYXNlQ2hpbGRNb3ZlUmVzaXplKFdFQktJVF9X
RUJfVklFV19CQVNFKHZpZXdXaWRnZXQoKSksIHBsdWdpbiwgZnJhbWVSZWN0KTsKIH0KKwordm9p
ZCBXZWJQYWdlUHJveHk6OndpbmRvd2VkUGx1Z2luVmlzaWJpbGl0eURpZENoYW5nZShib29sIHZp
c2libGUsIHVpbnQ2NF90IHdpbmRvd0lEKQoreworICAgIEd0a1dpZGdldCogcGx1Z2luID0gcGx1
Z2luV2luZG93TWFwKCkuZ2V0KHdpbmRvd0lEKTsKKyAgICBpZiAoIXBsdWdpbikKKyAgICAgICAg
cmV0dXJuOworCisgICAgaWYgKHZpc2libGUpCisgICAgICAgIGd0a193aWRnZXRfc2hvdyhwbHVn
aW4pOworICAgIGVsc2UKKyAgICAgICAgZ3RrX3dpZGdldF9oaWRlKHBsdWdpbik7Cit9CiAjZW5k
aWYgLy8gUExVR0lOX0FSQ0hJVEVDVFVSRShYMTEpCiAKIHZvaWQgV2ViUGFnZVByb3h5OjpzZXRJ
bnB1dE1ldGhvZFN0YXRlKGJvb2wgZW5hYmxlZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpbi5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW4uY3BwCmlu
ZGV4IGNjZTgyMDguLjVlZjZlMzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpbi5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2luLmNwcApAQCAtNzEs
NiArNzEsNyBAQCBOZXRzY2FwZVBsdWdpbjo6TmV0c2NhcGVQbHVnaW4oUGFzc1JlZlB0cjxOZXRz
Y2FwZVBsdWdpbk1vZHVsZT4gcGx1Z2luTW9kdWxlKQogICAgICwgbV9pbk5QUE5ldyhmYWxzZSkK
ICAgICAsIG1fc2hvdWxkVXNlTWFudWFsTG9hZGVyKGZhbHNlKQogICAgICwgbV9oYXNDYWxsZWRT
ZXRXaW5kb3coZmFsc2UpCisgICAgLCBtX2lzVmlzaWJsZShmYWxzZSkKICAgICAsIG1fbmV4dFRp
bWVySUQoMCkKICNpZiBQTEFURk9STShDT0NPQSkKICAgICAsIG1fZHJhd2luZ01vZGVsKHN0YXRp
Y19jYXN0PE5QRHJhd2luZ01vZGVsPigtMSkpCkBAIC03NDQsMTAgKzc0NSwxNCBAQCB2b2lkIE5l
dHNjYXBlUGx1Z2luOjpnZW9tZXRyeURpZENoYW5nZShjb25zdCBJbnRTaXplJiBwbHVnaW5TaXpl
LCBjb25zdCBJbnRSZWN0JgogICAgIGNhbGxTZXRXaW5kb3coKTsKIH0KIAotdm9pZCBOZXRzY2Fw
ZVBsdWdpbjo6dmlzaWJpbGl0eURpZENoYW5nZSgpCit2b2lkIE5ldHNjYXBlUGx1Z2luOjp2aXNp
YmlsaXR5RGlkQ2hhbmdlKGJvb2wgdmlzaWJsZSkKIHsKICAgICBBU1NFUlQobV9pc1N0YXJ0ZWQp
OwogCisgICAgaWYgKG1faXNWaXNpYmxlID09IHZpc2libGUpCisgICAgICAgIHJldHVybjsKKwor
ICAgIG1faXNWaXNpYmxlID0gdmlzaWJsZTsKICAgICBwbGF0Zm9ybVZpc2liaWxpdHlEaWRDaGFu
Z2UoKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5z
L05ldHNjYXBlL05ldHNjYXBlUGx1Z2luLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1Bs
dWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW4uaAppbmRleCBhZDI3NjdkLi5mYjNkMzg2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0
c2NhcGVQbHVnaW4uaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0
c2NhcGUvTmV0c2NhcGVQbHVnaW4uaApAQCAtMTg2LDcgKzE4Niw3IEBAIHByaXZhdGU6CiAgICAg
dmlydHVhbCBib29sIGlzVHJhbnNwYXJlbnQoKTsKICAgICB2aXJ0dWFsIGJvb2wgd2FudHNXaGVl
bEV2ZW50cygpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCBnZW9tZXRyeURpZENoYW5nZShj
b25zdCBXZWJDb3JlOjpJbnRTaXplJiBwbHVnaW5TaXplLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0
JiBjbGlwUmVjdCwgY29uc3QgV2ViQ29yZTo6QWZmaW5lVHJhbnNmb3JtJiBwbHVnaW5Ub1Jvb3RW
aWV3VHJhbnNmb3JtKTsKLSAgICB2aXJ0dWFsIHZvaWQgdmlzaWJpbGl0eURpZENoYW5nZSgpOwor
ICAgIHZpcnR1YWwgdm9pZCB2aXNpYmlsaXR5RGlkQ2hhbmdlKGJvb2wgdmlzaWJsZSk7CiAgICAg
dmlydHVhbCB2b2lkIGZyYW1lRGlkRmluaXNoTG9hZGluZyh1aW50NjRfdCByZXF1ZXN0SUQpOwog
ICAgIHZpcnR1YWwgdm9pZCBmcmFtZURpZEZhaWwodWludDY0X3QgcmVxdWVzdElELCBib29sIHdh
c0NhbmNlbGxlZCk7CiAgICAgdmlydHVhbCB2b2lkIGRpZEV2YWx1YXRlSmF2YVNjcmlwdCh1aW50
NjRfdCByZXF1ZXN0SUQsIGNvbnN0IFN0cmluZyYgcmVzdWx0KTsKQEAgLTMwMyw2ICszMDMsNyBA
QCBwcml2YXRlOgogICAgIGJvb2wgbV9pbk5QUE5ldzsKICAgICBib29sIG1fc2hvdWxkVXNlTWFu
dWFsTG9hZGVyOwogICAgIGJvb2wgbV9oYXNDYWxsZWRTZXRXaW5kb3c7CisgICAgYm9vbCBtX2lz
VmlzaWJsZTsKIAogICAgIFJlZlB0cjxOZXRzY2FwZVBsdWdpblN0cmVhbT4gbV9tYW51YWxTdHJl
YW07CiAgICAgVmVjdG9yPGJvb2wsIDg+IG1fcG9wdXBFbmFibGVkU3RhdGVzOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL3gxMS9OZXRzY2Fw
ZVBsdWdpblgxMS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2Nh
cGUveDExL05ldHNjYXBlUGx1Z2luWDExLmNwcAppbmRleCA1ZjQzZWMyLi40NjYzYTBiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUveDExL05l
dHNjYXBlUGx1Z2luWDExLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdp
bnMvTmV0c2NhcGUveDExL05ldHNjYXBlUGx1Z2luWDExLmNwcApAQCAtMjk2LDcgKzI5NiwxNSBA
QCB2b2lkIE5ldHNjYXBlUGx1Z2luOjpwbGF0Zm9ybUdlb21ldHJ5RGlkQ2hhbmdlKCkKIAogdm9p
ZCBOZXRzY2FwZVBsdWdpbjo6cGxhdGZvcm1WaXNpYmlsaXR5RGlkQ2hhbmdlKCkKIHsKLSAgICBu
b3RJbXBsZW1lbnRlZCgpOworICAgIGlmICghbV9pc1dpbmRvd2VkKQorICAgICAgICByZXR1cm47
CisKKyAgICB1aW50NjRfdCB3aW5kb3dJRCA9IDA7CisjaWYgUExBVEZPUk0oR1RLKQorICAgIHdp
bmRvd0lEID0gc3RhdGljX2Nhc3Q8dWludDY0X3Q+KEdES19XSU5ET1dfWElEKGd0a19wbHVnX2dl
dF9zb2NrZXRfd2luZG93KEdUS19QTFVHKG1fcGxhdGZvcm1QbHVnaW5XaWRnZXQpKSkpOworI2Vu
ZGlmCisgICAgY29udHJvbGxlcigpLT53aW5kb3dlZFBsdWdpblZpc2liaWxpdHlEaWRDaGFuZ2Uo
bV9pc1Zpc2libGUsIHdpbmRvd0lEKTsKKyAgICBjb250cm9sbGVyKCktPndpbmRvd2VkUGx1Z2lu
R2VvbWV0cnlEaWRDaGFuZ2UobV9mcmFtZVJlY3RJbldpbmRvd0Nvb3JkaW5hdGVzLCBtX2NsaXBS
ZWN0LCB3aW5kb3dJRCk7CiB9CiAKIHZvaWQgTmV0c2NhcGVQbHVnaW46OnBsYXRmb3JtUGFpbnQo
R3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBJbnRSZWN0JiBkaXJ0eVJlY3QsIGJvb2wg
Lyppc1NuYXBzaG90Ki8pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1Bs
dWdpbnMvUERGL1BERlBsdWdpbi5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5z
L1BERi9QREZQbHVnaW4uaAppbmRleCA2YTdlOWIwLi4wMWQ5NmJmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUERGL1BERlBsdWdpbi5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QREYvUERGUGx1Z2luLmgKQEAgLTExOCw3ICsx
MTgsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgYm9vbCB3YW50c1doZWVsRXZlbnRzKCkgb3Zl
cnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwgdm9pZCBnZW9tZXRyeURpZENoYW5n
ZShjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBwbHVnaW5TaXplLCBjb25zdCBXZWJDb3JlOjpJbnRS
ZWN0JiBjbGlwUmVjdCwgY29uc3QgV2ViQ29yZTo6QWZmaW5lVHJhbnNmb3JtJiBwbHVnaW5Ub1Jv
b3RWaWV3VHJhbnNmb3JtKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgY29udGVudHNTY2Fs
ZUZhY3RvckNoYW5nZWQoZmxvYXQpIG92ZXJyaWRlOwotICAgIHZpcnR1YWwgdm9pZCB2aXNpYmls
aXR5RGlkQ2hhbmdlKCkgb3ZlcnJpZGUgeyB9CisgICAgdmlydHVhbCB2b2lkIHZpc2liaWxpdHlE
aWRDaGFuZ2UoYm9vbCkgb3ZlcnJpZGUgeyB9CiAgICAgdmlydHVhbCB2b2lkIGZyYW1lRGlkRmlu
aXNoTG9hZGluZyh1aW50NjRfdCByZXF1ZXN0SUQpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9p
ZCBmcmFtZURpZEZhaWwodWludDY0X3QgcmVxdWVzdElELCBib29sIHdhc0NhbmNlbGxlZCkgb3Zl
cnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIGRpZEV2YWx1YXRlSmF2YVNjcmlwdCh1aW50NjRfdCBy
ZXF1ZXN0SUQsIGNvbnN0IFN0cmluZyYgcmVzdWx0KSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW4uaCBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW4uaAppbmRleCBjNTRhNGExLi4yNjBjMDk3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luLmgKKysrIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpbi5oCkBAIC0xNDIsNyArMTQy
LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBnZW9tZXRyeURpZENoYW5nZShjb25zdCBX
ZWJDb3JlOjpJbnRTaXplJiBwbHVnaW5TaXplLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBjbGlw
UmVjdCwgY29uc3QgV2ViQ29yZTo6QWZmaW5lVHJhbnNmb3JtJiBwbHVnaW5Ub1Jvb3RWaWV3VHJh
bnNmb3JtKSA9IDA7CiAKICAgICAvLyBUZWxscyB0aGUgcGx1Zy1pbiB0aGF0IGl0IGhhcyBiZWVu
IGV4cGxpY2l0bHkgaGlkZGVuIG9yIHNob3duLiAoTm90ZSB0aGF0IHRoaXMgaXMgbm90IGNhbGxl
ZCB3aGVuIHRoZSBwbHVnLWluIGJlY29tZXMgb2JzY3VyZWQgZnJvbSB2aWV3IG9uIHNjcmVlbi4p
Ci0gICAgdmlydHVhbCB2b2lkIHZpc2liaWxpdHlEaWRDaGFuZ2UoKSA9IDA7CisgICAgdmlydHVh
bCB2b2lkIHZpc2liaWxpdHlEaWRDaGFuZ2UoYm9vbCB2aXNpYmxlKSA9IDA7CiAKICAgICAvLyBU
ZWxscyB0aGUgcGx1Zy1pbiB0aGF0IGEgZnJhbWUgbG9hZCByZXF1ZXN0IHRoYXQgdGhlIHBsdWct
aW4gbWFkZSBieSBjYWxsaW5nIFBsdWdpbkNvbnRyb2xsZXI6OmxvYWRVUkwgaGFzIGZpbmlzaGVk
LgogICAgIHZpcnR1YWwgdm9pZCBmcmFtZURpZEZpbmlzaExvYWRpbmcodWludDY0X3QgcmVxdWVz
dElEKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMv
UGx1Z2luQ29udHJvbGxlci5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1Bs
dWdpbkNvbnRyb2xsZXIuaAppbmRleCA3OWNjYTU5Li44MDE4NzNhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luQ29udHJvbGxlci5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Db250cm9sbGVyLmgKQEAgLTE0
Niw2ICsxNDYsNyBAQCBwdWJsaWM6CiAgICAgLy8gQ3JlYXRlIGEgcGx1Z2luIGNvbnRhaW5lciBm
b3Igd2luZG93ZWQgcGx1Z2lucwogICAgIHZpcnR1YWwgdWludDY0X3QgY3JlYXRlUGx1Z2luQ29u
dGFpbmVyKCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCB3aW5kb3dlZFBsdWdpbkdlb21ldHJ5RGlk
Q2hhbmdlKGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGZyYW1lUmVjdCwgY29uc3QgV2ViQ29yZTo6
SW50UmVjdCYgY2xpcFJlY3QsIHVpbnQ2NF90IHdpbmRvd0lEKSA9IDA7CisgICAgdmlydHVhbCB2
b2lkIHdpbmRvd2VkUGx1Z2luVmlzaWJpbGl0eURpZENoYW5nZShib29sIHZpc2libGUsIHVpbnQ2
NF90IHdpbmRvd0lEKSA9IDA7CiAjZW5kaWYKIAogICAgIC8vIENhbGxlZCB3aGVuIHRoZSBhIHBs
dWctaW4gaW5zdGFuY2UgaXMgc3VjY2Vzc2Z1bGx5IGluaXRpYWxpemVkLCBlaXRoZXIgc3luY2hy
b25vdXNseSBvciBhc3luY2hyb25vdXNseS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1BsdWdpbnMvUGx1Z2luUHJveHkuY3BwCmluZGV4IDdkOWMzNjg2Li5hZTBhZmI2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJveHkuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm94eS5jcHAK
QEAgLTMwMCwxMCArMzAwLDEwIEBAIHZvaWQgUGx1Z2luUHJveHk6Omdlb21ldHJ5RGlkQ2hhbmdl
KGNvbnN0IEludFNpemUmIHBsdWdpblNpemUsIGNvbnN0IEludFJlY3QmIGNsCiAgICAgZ2VvbWV0
cnlEaWRDaGFuZ2UoKTsKIH0KIAotdm9pZCBQbHVnaW5Qcm94eTo6dmlzaWJpbGl0eURpZENoYW5n
ZSgpCit2b2lkIFBsdWdpblByb3h5Ojp2aXNpYmlsaXR5RGlkQ2hhbmdlKGJvb2wgdmlzaWJsZSkK
IHsKICAgICBBU1NFUlQobV9pc1N0YXJ0ZWQpOwotICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAg
bV9jb25uZWN0aW9uLT5jb25uZWN0aW9uKCktPnNlbmQoTWVzc2FnZXM6OlBsdWdpbkNvbnRyb2xs
ZXJQcm94eTo6VmlzaWJpbGl0eURpZENoYW5nZSh2aXNpYmxlKSwgbV9wbHVnaW5JbnN0YW5jZUlE
KTsKIH0KIAogdm9pZCBQbHVnaW5Qcm94eTo6ZnJhbWVEaWRGaW5pc2hMb2FkaW5nKHVpbnQ2NF90
IHJlcXVlc3RJRCkKQEAgLTY4MCw2ICs2ODAsMTEgQEAgdm9pZCBQbHVnaW5Qcm94eTo6d2luZG93
ZWRQbHVnaW5HZW9tZXRyeURpZENoYW5nZShjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBmcmFtZVIK
IHsKICAgICBjb250cm9sbGVyKCktPndpbmRvd2VkUGx1Z2luR2VvbWV0cnlEaWRDaGFuZ2UoZnJh
bWVSZWN0LCBjbGlwUmVjdCwgd2luZG93SUQpOwogfQorCit2b2lkIFBsdWdpblByb3h5Ojp3aW5k
b3dlZFBsdWdpblZpc2liaWxpdHlEaWRDaGFuZ2UoYm9vbCB2aXNpYmxlLCB1aW50NjRfdCB3aW5k
b3dJRCkKK3sKKyAgICBjb250cm9sbGVyKCktPndpbmRvd2VkUGx1Z2luVmlzaWJpbGl0eURpZENo
YW5nZSh2aXNpYmxlLCB3aW5kb3dJRCk7Cit9CiAjZW5kaWYKIAogdm9pZCBQbHVnaW5Qcm94eTo6
dXBkYXRlKGNvbnN0IEludFJlY3QmIHBhaW50ZWRSZWN0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJveHkuaAppbmRleCA0OTM3ZTVmLi5hOGFjYzZlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJveHku
aAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJveHkuaApA
QCAtODQsNyArODQsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgYm9vbCBpc1RyYW5zcGFyZW50
KCk7CiAgICAgdmlydHVhbCBib29sIHdhbnRzV2hlZWxFdmVudHMoKSBvdmVycmlkZTsKICAgICB2
aXJ0dWFsIHZvaWQgZ2VvbWV0cnlEaWRDaGFuZ2UoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgcGx1
Z2luU2l6ZSwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgY2xpcFJlY3QsIGNvbnN0IFdlYkNvcmU6
OkFmZmluZVRyYW5zZm9ybSYgcGx1Z2luVG9Sb290Vmlld1RyYW5zZm9ybSk7Ci0gICAgdmlydHVh
bCB2b2lkIHZpc2liaWxpdHlEaWRDaGFuZ2UoKTsKKyAgICB2aXJ0dWFsIHZvaWQgdmlzaWJpbGl0
eURpZENoYW5nZShib29sIHZpc2libGUpOwogICAgIHZpcnR1YWwgdm9pZCBmcmFtZURpZEZpbmlz
aExvYWRpbmcodWludDY0X3QgcmVxdWVzdElEKTsKICAgICB2aXJ0dWFsIHZvaWQgZnJhbWVEaWRG
YWlsKHVpbnQ2NF90IHJlcXVlc3RJRCwgYm9vbCB3YXNDYW5jZWxsZWQpOwogICAgIHZpcnR1YWwg
dm9pZCBkaWRFdmFsdWF0ZUphdmFTY3JpcHQodWludDY0X3QgcmVxdWVzdElELCBjb25zdCBTdHJp
bmcmIHJlc3VsdCk7CkBAIC0xNzEsNiArMTcxLDcgQEAgcHJpdmF0ZToKICNpZiBQTFVHSU5fQVJD
SElURUNUVVJFKFgxMSkKICAgICB2b2lkIGNyZWF0ZVBsdWdpbkNvbnRhaW5lcih1aW50NjRfdCYg
d2luZG93SUQpOwogICAgIHZvaWQgd2luZG93ZWRQbHVnaW5HZW9tZXRyeURpZENoYW5nZShjb25z
dCBXZWJDb3JlOjpJbnRSZWN0JiBmcmFtZVJlY3QsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGNs
aXBSZWN0LCB1aW50NjRfdCB3aW5kb3dJRCk7CisgICAgdm9pZCB3aW5kb3dlZFBsdWdpblZpc2li
aWxpdHlEaWRDaGFuZ2UoYm9vbCB2aXNpYmxlLCB1aW50NjRfdCB3aW5kb3dJRCk7CiAjZW5kaWYK
IAogICAgIGJvb2wgY2FuSW5pdGlhbGl6ZUFzeW5jaHJvbm91c2x5KCkgY29uc3Q7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJveHkubWVzc2Fn
ZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJveHkubWVz
c2FnZXMuaW4KaW5kZXggNDE3ZTE3ZS4uN2I0NWJjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm94eS5tZXNzYWdlcy5pbgpAQCAt
NzMsNiArNzMsOSBAQCBtZXNzYWdlcyAtPiBQbHVnaW5Qcm94eSBMZWdhY3lSZWNlaXZlciB7CiAK
ICAgICAjIFVwZGF0ZSBnZW9tZXRyeSBvZiB3aW5kb3dlZCBwbHVnaW4gd2lkZ2V0CiAgICAgV2lu
ZG93ZWRQbHVnaW5HZW9tZXRyeURpZENoYW5nZShXZWJDb3JlOjpJbnRSZWN0IGZyYW1lUmVjdCwg
V2ViQ29yZTo6SW50UmVjdCBjbGlwUmVjdCwgdWludDY0X3Qgd2luZG93SUQpCisKKyAgICAjIFVw
ZGF0ZSB2aXNpYmlsaXR5IG9mIHdpbmRvd2VkIHBsdWdpbiB3aWRnZXQKKyAgICBXaW5kb3dlZFBs
dWdpblZpc2liaWxpdHlEaWRDaGFuZ2UoYm9vbCB2aXNpYmxlLCB1aW50NjRfdCB3aW5kb3dJRCkK
ICNlbmRpZgogCiAgICAgIyBUZWxscyB0aGUgV2ViUHJvY2VzcyB0aGF0IHRoZSBwbHVnLWluIHdh
cyBzdWNjZXNzZnVsbHkgaW5pdGlhbGl6ZWQgYXN5bmNocm9ub3VzbHkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3LmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3LmNwcAppbmRleCBiMTdlODI3Li4y
MjU3N2YwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1
Z2luVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdp
blZpZXcuY3BwCkBAIC02MDgsNiArNjA4LDcgQEAgdm9pZCBQbHVnaW5WaWV3OjpkaWRJbml0aWFs
aXplUGx1Z2luKCkKICAgICB3aW5kb3dBbmRWaWV3RnJhbWVzQ2hhbmdlZChtX3dlYlBhZ2UtPndp
bmRvd0ZyYW1lSW5TY3JlZW5Db29yZGluYXRlcygpLCBtX3dlYlBhZ2UtPnZpZXdGcmFtZUluV2lu
ZG93Q29vcmRpbmF0ZXMoKSk7CiAjZW5kaWYKIAorICAgIHZpZXdWaXNpYmlsaXR5RGlkQ2hhbmdl
KCk7CiAgICAgdmlld0dlb21ldHJ5RGlkQ2hhbmdlKCk7CiAKICAgICBpZiAobV9wbHVnaW5FbGVt
ZW50LT5kb2N1bWVudCgpLmZvY3VzZWRFbGVtZW50KCkgPT0gbV9wbHVnaW5FbGVtZW50KQpAQCAt
MTAxNCw2ICsxMDE1LDE1IEBAIHZvaWQgUGx1Z2luVmlldzo6aGlkZSgpCiAgICAgV2lkZ2V0Ojpo
aWRlKCk7CiB9CiAKK3ZvaWQgUGx1Z2luVmlldzo6c2V0UGFyZW50VmlzaWJsZShib29sIHZpc2li
bGUpCit7CisgICAgaWYgKGlzUGFyZW50VmlzaWJsZSgpID09IHZpc2libGUpCisgICAgICAgIHJl
dHVybjsKKworICAgIFdpZGdldDo6c2V0UGFyZW50VmlzaWJsZSh2aXNpYmxlKTsKKyAgICB2aWV3
VmlzaWJpbGl0eURpZENoYW5nZSgpOworfQorCiBib29sIFBsdWdpblZpZXc6OnRyYW5zZm9ybXNB
ZmZlY3RGcmFtZVJlY3QoKQogewogICAgIHJldHVybiBmYWxzZTsKQEAgLTEwNTYsNyArMTA2Niw3
IEBAIHZvaWQgUGx1Z2luVmlldzo6dmlld1Zpc2liaWxpdHlEaWRDaGFuZ2UoKQogICAgIGlmICgh
bV9pc0luaXRpYWxpemVkIHx8ICFtX3BsdWdpbiB8fCAhcGFyZW50KCkpCiAgICAgICAgIHJldHVy
bjsKIAotICAgIG1fcGx1Z2luLT52aXNpYmlsaXR5RGlkQ2hhbmdlKCk7CisgICAgbV9wbHVnaW4t
PnZpc2liaWxpdHlEaWRDaGFuZ2UoaXNWaXNpYmxlKCkpOwogfQogCiBJbnRSZWN0IFBsdWdpblZp
ZXc6OmNsaXBSZWN0SW5XaW5kb3dDb29yZGluYXRlcygpIGNvbnN0CkBAIC0xNjE0LDYgKzE2MjQs
MTEgQEAgdm9pZCBQbHVnaW5WaWV3Ojp3aW5kb3dlZFBsdWdpbkdlb21ldHJ5RGlkQ2hhbmdlKGNv
bnN0IFdlYkNvcmU6OkludFJlY3QmIGZyYW1lUmUKIHsKICAgICBtX3dlYlBhZ2UtPnNlbmQoTWVz
c2FnZXM6OldlYlBhZ2VQcm94eTo6V2luZG93ZWRQbHVnaW5HZW9tZXRyeURpZENoYW5nZShmcmFt
ZVJlY3QsIGNsaXBSZWN0LCB3aW5kb3dJRCkpOwogfQorCit2b2lkIFBsdWdpblZpZXc6OndpbmRv
d2VkUGx1Z2luVmlzaWJpbGl0eURpZENoYW5nZShib29sIHZpc2libGUsIHVpbnQ2NF90IHdpbmRv
d0lEKQoreworICAgIG1fd2ViUGFnZS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpXaW5k
b3dlZFBsdWdpblZpc2liaWxpdHlEaWRDaGFuZ2UodmlzaWJsZSwgd2luZG93SUQpKTsKK30KICNl
bmRpZgogCiAjaWYgUExBVEZPUk0oQ09DT0EpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9QbHVnaW5zL1BsdWdpblZpZXcuaAppbmRleCA3Nzk2MzM0Li45ZjIxZGVhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3LmgKQEAgLTE3MCw2ICsx
NzAsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBub3RpZnlXaWRnZXQoV2ViQ29yZTo6
V2lkZ2V0Tm90aWZpY2F0aW9uKTsKICAgICB2aXJ0dWFsIHZvaWQgc2hvdygpOwogICAgIHZpcnR1
YWwgdm9pZCBoaWRlKCk7CisgICAgdmlydHVhbCB2b2lkIHNldFBhcmVudFZpc2libGUoYm9vbCk7
CiAgICAgdmlydHVhbCBib29sIHRyYW5zZm9ybXNBZmZlY3RGcmFtZVJlY3QoKTsKICAgICB2aXJ0
dWFsIHZvaWQgY2xpcFJlY3RDaGFuZ2VkKCkgb3ZlcnJpZGU7CiAKQEAgLTIxMyw2ICsyMTQsNyBA
QCBwcml2YXRlOgogI2lmIFBMVUdJTl9BUkNISVRFQ1RVUkUoWDExKQogICAgIHZpcnR1YWwgdWlu
dDY0X3QgY3JlYXRlUGx1Z2luQ29udGFpbmVyKCk7CiAgICAgdmlydHVhbCB2b2lkIHdpbmRvd2Vk
UGx1Z2luR2VvbWV0cnlEaWRDaGFuZ2UoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgZnJhbWVSZWN0
LCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBjbGlwUmVjdCwgdWludDY0X3Qgd2luZG93SUQpOwor
ICAgIHZpcnR1YWwgdm9pZCB3aW5kb3dlZFBsdWdpblZpc2liaWxpdHlEaWRDaGFuZ2UoYm9vbCB2
aXNpYmxlLCB1aW50NjRfdCB3aW5kb3dJRCk7CiAjZW5kaWYKIAogICAgIHZpcnR1YWwgdm9pZCBk
aWRJbml0aWFsaXplUGx1Z2luKCk7Cg==
</data>
<flag name="review"
          id="253489"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>233795</attachid>
            <date>2014-06-25 00:31:37 -0700</date>
            <delta_ts>2014-06-25 00:31:37 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>wk2-windowed-plugins-visibility.diff</filename>
            <type>text/plain</type>
            <size>21570</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA3NzRmMTFiLi5jODJmZDQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTMg
QEAKKzIwMTQtMDYtMjQgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29t
PgorCisgICAgICAgIFtHVEtdIFdpbmRvd2VkIHBsdWdpbnMgdmlzaWJpbGl0eSBkb2Vzbid0IHdv
cmsKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzMTQ4
NworCisgICAgICAgIFJldmlld2VkIGJ5IEFuZGVycyBDYXJsc3Nvbi4KKworICAgICAgICBJbXBs
ZW1lbnQgcGx1Z2lucyB2aXNpYmlsaXR5IGNoYW5nZXMgYW5kIGFkZCBhIG5ldyBtZXNzYWdlIHRv
CisgICAgICAgIG5vdGlmeSB0aGUgVUkgcHJvY2VzcyB3aGVuIGEgd2luZG93ZWQgcGx1Z2luIGlz
IHNob3duL2hpZGRlbiB0bworICAgICAgICBzaG93L2hpZGUgdGhlIHBsdWdpbiB3aWRnZXQuCisK
KyAgICAgICAgKiBQbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OlBsdWdpbkNvbnRyb2xsZXJQcm94eTo6dmlzaWJpbGl0eURpZENoYW5nZSk6
IEFkZAorICAgICAgICBpbXBsZW1lbnRhdGlvbiB0byBub3RpZnkgdGhlIHBsdWdpbiBhYm91dCB2
aXNpYmlsaXR5IGNoYW5nZS4KKyAgICAgICAgKFdlYktpdDo6UGx1Z2luQ29udHJvbGxlclByb3h5
Ojp3aW5kb3dlZFBsdWdpblZpc2liaWxpdHlEaWRDaGFuZ2UpOgorICAgICAgICBTZW5kIFdpbmRv
d2VkUGx1Z2luVmlzaWJpbGl0eURpZENoYW5nZSB0byB0aGUgcGx1Z2luIHByb3h5LgorICAgICAg
ICAqIFBsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5Lmg6CisgICAgICAgICogUGx1
Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHkubWVzc2FnZXMuaW46IEFkZCBWaXNpYmls
aXR5RGlkQ2hhbmdlIG1lc3NhZ2UuCisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5o
OiBBZGQgd2luZG93ZWRQbHVnaW5WaXNpYmlsaXR5RGlkQ2hhbmdlCisgICAgICAgIHRvIGhhbmRs
ZSBXaW5kb3dlZFBsdWdpblZpc2liaWxpdHlEaWRDaGFuZ2UgbWVzc2FnZS4KKyAgICAgICAgKiBV
SVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluOiBBZGQgV2luZG93ZWRQbHVnaW5WaXNp
YmlsaXR5RGlkQ2hhbmdlIG1lc3NhZ2UuCisgICAgICAgICogVUlQcm9jZXNzL2VmbC9XZWJQYWdl
UHJveHlFZmwuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OndpbmRvd2VkUGx1
Z2luVmlzaWJpbGl0eURpZENoYW5nZSk6CisgICAgICAgICogVUlQcm9jZXNzL2d0ay9XZWJQYWdl
UHJveHlHdGsuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmNyZWF0ZVBsdWdp
bkNvbnRhaW5lcik6IERvIG5vdCBzaG93IHRoZQorICAgICAgICBwbHVnaW5zIGJ5IGRlZmF1bHQu
CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6d2luZG93ZWRQbHVnaW5WaXNpYmlsaXR5
RGlkQ2hhbmdlKTogU2hvdyBvciBoaWRlIHRoZSBwbHVnaW4gd2lkZ2V0LgorICAgICAgICAqIFdl
YlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpbi5jcHA6CisgICAgICAgIChX
ZWJLaXQ6Ok5ldHNjYXBlUGx1Z2luOjpOZXRzY2FwZVBsdWdpbik6IEluaXRpYWxpemUgbV9pc1Zp
c2libGUuCisgICAgICAgIChXZWJLaXQ6Ok5ldHNjYXBlUGx1Z2luOjp2aXNpYmlsaXR5RGlkQ2hh
bmdlKTogQWRkIHZpc2libGUgcGFyYW1ldGVyIGFuZCBzYXZlIGl0IGluIG1faXNWaXNpYmxlCisg
ICAgICAgIG1lbWJlciwgY2FsbGluZyBwbGF0Zm9ybVZpc2liaWxpdHlEaWRDaGFuZ2UoKSBvbmx5
IHdoZW4gaXQgaGFzIGFjdHVhbGx5IGNoYW5nZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVn
aW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2luLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVn
aW5zL05ldHNjYXBlL3gxMS9OZXRzY2FwZVBsdWdpblgxMS5jcHA6CisgICAgICAgIChXZWJLaXQ6
Ok5ldHNjYXBlUGx1Z2luOjpwbGF0Zm9ybVZpc2liaWxpdHlEaWRDaGFuZ2UpOiBOb3RpZnkgdGhl
IGNvbnRyb2xsZXIgYWJvdXQgdmlzaWJpbGl0eSBjaGFuZ2UuCisgICAgICAgICogV2ViUHJvY2Vz
cy9QbHVnaW5zL1BERi9QREZQbHVnaW4uaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1BsdWdpbnMv
UGx1Z2luLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpbkNvbnRyb2xsZXIu
aDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJveHkuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpQbHVnaW5Qcm94eTo6dmlzaWJpbGl0eURpZENoYW5nZSk6IFNlbmQgVmlzaWJp
bGl0eURpZENoYW5nZSBtZXNzYWdlIHRvIHRoZSBwbHVnaW4gY29udHJvbGxlciBwcm94eS4KKyAg
ICAgICAgKFdlYktpdDo6UGx1Z2luUHJveHk6OndpbmRvd2VkUGx1Z2luVmlzaWJpbGl0eURpZENo
YW5nZSk6IE5vdGlmeSB0aGUgY29udHJvbGxlciBhYm91dCB2aXNpYmlsaXR5IGNoYW5nZS4KKyAg
ICAgICAgKiBXZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJveHkuaDoKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJveHkubWVzc2FnZXMuaW46IEFkZCBXaW5kb3dlZFBsdWdp
blZpc2liaWxpdHlEaWRDaGFuZ2UgbWVzc2FnZS4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1BsdWdp
bnMvUGx1Z2luVmlldy5jcHA6CisgICAgICAgIChXZWJLaXQ6OlBsdWdpblZpZXc6OmRpZEluaXRp
YWxpemVQbHVnaW4pOiBBbHNvIGNhbGwgdmlld1Zpc2liaWxpdHlEaWRDaGFuZ2UoKSB3aGVuIHRo
ZSBwbHVnaW4gaXMgaW5pdGlhbGl6ZWQuCisgICAgICAgIChXZWJLaXQ6OlBsdWdpblZpZXc6OnNl
dFBhcmVudFZpc2libGUpOiBPdmVycmlkZSB0aGlzIFdpZGdldCBtZXRob2QgdG8gdXBkYXRlIHRo
ZSBwbHVnaW4gdmlzaWJpbGl0eSB3aGVuIHBhcmVudAorICAgICAgICB3aWRnZXQgaXMgc2hvd24v
aGlkZGVuLgorICAgICAgICAoV2ViS2l0OjpQbHVnaW5WaWV3Ojp2aWV3VmlzaWJpbGl0eURpZENo
YW5nZSk6IFBhc3MgdmlzaWJsZSBwYXJhbWV0ZXIgdG8gdmlzaWJpbGl0eURpZENoYW5nZSgpLgor
ICAgICAgICAoV2ViS2l0OjpQbHVnaW5WaWV3Ojp3aW5kb3dlZFBsdWdpblZpc2liaWxpdHlEaWRD
aGFuZ2UpOiBTZW5kIFdpbmRvd2VkUGx1Z2luVmlzaWJpbGl0eURpZENoYW5nZSBtZXNzYWdlIHRv
IHRoZSBVSSBwcm9jZXNzLgorICAgICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3
Lmg6CisKIDIwMTQtMDYtMjQgIEJlbmphbWluIFBvdWxhaW4gIDxicG91bGFpbkBhcHBsZS5jb20+
CiAKICAgICAgICAgW2lPU11bV0syXSBXZSBzaG91bGQgbm90IHN0YXJ0IHBvdGVudGlhbCB0YXAg
YWN0aXZhdGlvbiB1bmxlc3MgdGhlIHRhcCBnZXN0dXJlIHJlY29nbml6ZXIgc3VjY2VlZApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJv
eHkuY3BwIGIvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJv
eHkuY3BwCmluZGV4IDhiNTY0NjUuLmE5NTMyYWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1BsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5jcHAKQEAgLTQyNyw2ICs0
MjcsMTIgQEAgdm9pZCBQbHVnaW5Db250cm9sbGVyUHJveHk6Omdlb21ldHJ5RGlkQ2hhbmdlKGNv
bnN0IEludFNpemUmIHBsdWdpblNpemUsIGNvbnN0IEkKICAgICBtX3BsdWdpbi0+Z2VvbWV0cnlE
aWRDaGFuZ2UocGx1Z2luU2l6ZSwgY2xpcFJlY3QsIHBsdWdpblRvUm9vdFZpZXdUcmFuc2Zvcm0p
OwogfQogCit2b2lkIFBsdWdpbkNvbnRyb2xsZXJQcm94eTo6dmlzaWJpbGl0eURpZENoYW5nZShi
b29sIGlzVmlzaWJsZSkKK3sKKyAgICBBU1NFUlQobV9wbHVnaW4pOworICAgIG1fcGx1Z2luLT52
aXNpYmlsaXR5RGlkQ2hhbmdlKGlzVmlzaWJsZSk7Cit9CisKIHZvaWQgUGx1Z2luQ29udHJvbGxl
clByb3h5OjpkaWRFdmFsdWF0ZUphdmFTY3JpcHQodWludDY0X3QgcmVxdWVzdElELCBjb25zdCBT
dHJpbmcmIHJlc3VsdCkKIHsKICAgICBtX3BsdWdpbi0+ZGlkRXZhbHVhdGVKYXZhU2NyaXB0KHJl
cXVlc3RJRCwgcmVzdWx0KTsKQEAgLTYxMSw2ICs2MTcsMTEgQEAgdm9pZCBQbHVnaW5Db250cm9s
bGVyUHJveHk6OndpbmRvd2VkUGx1Z2luR2VvbWV0cnlEaWRDaGFuZ2UoY29uc3QgSW50UmVjdCYg
ZnJhbWUKIHsKICAgICBtX2Nvbm5lY3Rpb24tPmNvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6
UGx1Z2luUHJveHk6OldpbmRvd2VkUGx1Z2luR2VvbWV0cnlEaWRDaGFuZ2UoZnJhbWVSZWN0LCBj
bGlwUmVjdCwgd2luZG93SUQpLCBtX3BsdWdpbkluc3RhbmNlSUQpOwogfQorCit2b2lkIFBsdWdp
bkNvbnRyb2xsZXJQcm94eTo6d2luZG93ZWRQbHVnaW5WaXNpYmlsaXR5RGlkQ2hhbmdlKGJvb2wg
aXNWaXNpYmxlLCB1aW50NjRfdCB3aW5kb3dJRCkKK3sKKyAgICBtX2Nvbm5lY3Rpb24tPmNvbm5l
Y3Rpb24oKS0+c2VuZChNZXNzYWdlczo6UGx1Z2luUHJveHk6OldpbmRvd2VkUGx1Z2luVmlzaWJp
bGl0eURpZENoYW5nZShpc1Zpc2libGUsIHdpbmRvd0lEKSwgbV9wbHVnaW5JbnN0YW5jZUlEKTsK
K30KICNlbmRpZgogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5LmggYi9Tb3VyY2UvV2Vi
S2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5oCmluZGV4IGQzM2U1NTcu
LjdlNzI4NTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2lu
Q29udHJvbGxlclByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVn
aW5Db250cm9sbGVyUHJveHkuaApAQCAtMTE2LDEyICsxMTYsMTQgQEAgcHJpdmF0ZToKICNpZiBQ
TFVHSU5fQVJDSElURUNUVVJFKFgxMSkKICAgICB2aXJ0dWFsIHVpbnQ2NF90IGNyZWF0ZVBsdWdp
bkNvbnRhaW5lcigpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCB3aW5kb3dlZFBsdWdpbkdl
b21ldHJ5RGlkQ2hhbmdlKGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGZyYW1lUmVjdCwgY29uc3Qg
V2ViQ29yZTo6SW50UmVjdCYgY2xpcFJlY3QsIHVpbnQ2NF90IHdpbmRvd0lEKSBvdmVycmlkZTsK
KyAgICB2aXJ0dWFsIHZvaWQgd2luZG93ZWRQbHVnaW5WaXNpYmlsaXR5RGlkQ2hhbmdlKGJvb2wg
aXNWaXNpYmxlLCB1aW50NjRfdCB3aW5kb3dJRCkgb3ZlcnJpZGU7CiAjZW5kaWYKICAgICAKICAg
ICAvLyBNZXNzYWdlIGhhbmRsZXJzLgogICAgIHZvaWQgZnJhbWVEaWRGaW5pc2hMb2FkaW5nKHVp
bnQ2NF90IHJlcXVlc3RJRCk7CiAgICAgdm9pZCBmcmFtZURpZEZhaWwodWludDY0X3QgcmVxdWVz
dElELCBib29sIHdhc0NhbmNlbGxlZCk7CiAgICAgdm9pZCBnZW9tZXRyeURpZENoYW5nZShjb25z
dCBXZWJDb3JlOjpJbnRTaXplJiBwbHVnaW5TaXplLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBj
bGlwUmVjdCwgY29uc3QgV2ViQ29yZTo6QWZmaW5lVHJhbnNmb3JtJiBwbHVnaW5Ub1Jvb3RWaWV3
VHJhbnNmb3JtLCBmbG9hdCBjb250ZW50c1NjYWxlRmFjdG9yLCBjb25zdCBTaGFyZWFibGVCaXRt
YXA6OkhhbmRsZSYgYmFja2luZ1N0b3JlSGFuZGxlKTsKKyAgICB2b2lkIHZpc2liaWxpdHlEaWRD
aGFuZ2UoYm9vbCBpc1Zpc2libGUpOwogICAgIHZvaWQgZGlkRXZhbHVhdGVKYXZhU2NyaXB0KHVp
bnQ2NF90IHJlcXVlc3RJRCwgY29uc3QgU3RyaW5nJiByZXN1bHQpOwogICAgIHZvaWQgc3RyZWFt
RGlkUmVjZWl2ZVJlc3BvbnNlKHVpbnQ2NF90IHN0cmVhbUlELCBjb25zdCBTdHJpbmcmIHJlc3Bv
bnNlVVJMU3RyaW5nLCB1aW50MzJfdCBzdHJlYW1MZW5ndGgsIHVpbnQzMl90IGxhc3RNb2RpZmll
ZFRpbWUsIGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIGNvbnN0IFN0cmluZyYgaGVhZGVycyk7CiAg
ICAgdm9pZCBzdHJlYW1EaWRSZWNlaXZlRGF0YSh1aW50NjRfdCBzdHJlYW1JRCwgY29uc3QgSVBD
OjpEYXRhUmVmZXJlbmNlJiBkYXRhKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsdWdp
blByb2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktp
dDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHkubWVzc2FnZXMuaW4KaW5kZXgg
NmI2YTMwOC4uOTBhZDg1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vz
cy9QbHVnaW5Db250cm9sbGVyUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIv
UGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHkubWVzc2FnZXMuaW4KQEAgLTI2LDYg
KzI2LDkgQEAgbWVzc2FnZXMgLT4gUGx1Z2luQ29udHJvbGxlclByb3h5IExlZ2FjeVJlY2VpdmVy
IHsKICAgICAjIFNlbnQgd2hlbiB0aGUgcGx1Zy1pbiBnZW9tZXRyeSBjaGFuZ2VzLgogICAgIEdl
b21ldHJ5RGlkQ2hhbmdlKFdlYkNvcmU6OkludFNpemUgcGx1Z2luU2l6ZSwgV2ViQ29yZTo6SW50
UmVjdCBjbGlwUmVjdCwgV2ViQ29yZTo6QWZmaW5lVHJhbnNmb3JtIHBsdWdpblRvUm9vdFZpZXdU
cmFuc2Zvcm0sIGZsb2F0IHNjYWxlRmFjdG9yLCBXZWJLaXQ6OlNoYXJlYWJsZUJpdG1hcDo6SGFu
ZGxlIGJhY2tpbmdTdG9yZUhhbmRsZSkKIAorICAgICMgU2VudCB3aGVuIHRoZSBwbHVnLWluIHZp
c2liaWxpdHkgY2hhbmdlcy4KKyAgICBWaXNpYmlsaXR5RGlkQ2hhbmdlKGJvb2wgaXNWaXNpYmxl
KQorCiAgICAgIyBTZW50IHdoZW4gYSBmcmFtZSBoYXMgZmluaXNoZWQgbG9hZGluZy4KICAgICBG
cmFtZURpZEZpbmlzaExvYWRpbmcodWludDY0X3QgcmVxdWVzdElEKQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggZWIzMWE0Zi4uNGNmODRhMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtMTIzMiw2ICsxMjMyLDcgQEAgcHJp
dmF0ZToKICNpZiBQTFVHSU5fQVJDSElURUNUVVJFKFgxMSkKICAgICB2b2lkIGNyZWF0ZVBsdWdp
bkNvbnRhaW5lcih1aW50NjRfdCYgd2luZG93SUQpOwogICAgIHZvaWQgd2luZG93ZWRQbHVnaW5H
ZW9tZXRyeURpZENoYW5nZShjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBmcmFtZVJlY3QsIGNvbnN0
IFdlYkNvcmU6OkludFJlY3QmIGNsaXBSZWN0LCB1aW50NjRfdCB3aW5kb3dJRCk7CisgICAgdm9p
ZCB3aW5kb3dlZFBsdWdpblZpc2liaWxpdHlEaWRDaGFuZ2UoYm9vbCBpc1Zpc2libGUsIHVpbnQ2
NF90IHdpbmRvd0lEKTsKICNlbmRpZgogCiAgICAgdm9pZCBwcm9jZXNzTmV4dFF1ZXVlZFdoZWVs
RXZlbnQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1l
c3NhZ2VzLmluCmluZGV4IGFiOGRlNzEuLjk1ZTg1ZjU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KQEAgLTMyOCw2ICszMjgsNyBA
QCBtZXNzYWdlcyAtPiBXZWJQYWdlUHJveHkgewogICAgICMgWDExIHdpbmRvd2VkIHBsdWdpbiBt
ZXNzYWdlcwogICAgIENyZWF0ZVBsdWdpbkNvbnRhaW5lcigpIC0+ICh1aW50NjRfdCB3aW5kb3dJ
RCkKICAgICBXaW5kb3dlZFBsdWdpbkdlb21ldHJ5RGlkQ2hhbmdlKFdlYkNvcmU6OkludFJlY3Qg
ZnJhbWVSZWN0LCBXZWJDb3JlOjpJbnRSZWN0IGNsaXBSZWN0LCB1aW50NjRfdCB3aW5kb3dJRCkK
KyAgICBXaW5kb3dlZFBsdWdpblZpc2liaWxpdHlEaWRDaGFuZ2UoYm9vbCBpc1Zpc2libGUsIHVp
bnQ2NF90IHdpbmRvd0lEKQogI2VuZGlmCiAKICNpZiBQTEFURk9STShJT1MpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dlYlBhZ2VQcm94eUVmbC5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dlYlBhZ2VQcm94eUVmbC5jcHAKaW5kZXggYmQwYmM2
MS4uNDkxZDVkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9XZWJQ
YWdlUHJveHlFZmwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvV2ViUGFn
ZVByb3h5RWZsLmNwcApAQCAtOTcsNiArOTcsMTEgQEAgdm9pZCBXZWJQYWdlUHJveHk6OndpbmRv
d2VkUGx1Z2luR2VvbWV0cnlEaWRDaGFuZ2UoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYsIGNvbnMK
ICAgICBub3RJbXBsZW1lbnRlZCgpOwogfQogCit2b2lkIFdlYlBhZ2VQcm94eTo6d2luZG93ZWRQ
bHVnaW5WaXNpYmlsaXR5RGlkQ2hhbmdlKGJvb2wsIHVpbnQ2NF90KQoreworICAgIG5vdEltcGxl
bWVudGVkKCk7Cit9CisKIHZvaWQgV2ViUGFnZVByb3h5OjpoYW5kbGVJbnB1dE1ldGhvZEtleWRv
d24oYm9vbCYgaGFuZGxlZCkKIHsKICAgICBoYW5kbGVkID0gbV9rZXlFdmVudFF1ZXVlLmZpcnN0
KCkuaXNGaWx0ZXJlZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0
ay9XZWJQYWdlUHJveHlHdGsuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0ay9XZWJQ
YWdlUHJveHlHdGsuY3BwCmluZGV4IDhhNTM5ODUuLjYzNjQyYjYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsvV2ViUGFnZVByb3h5R3RrLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL1dlYlBhZ2VQcm94eUd0ay5jcHAKQEAgLTk2LDcgKzk2LDYg
QEAgdm9pZCBXZWJQYWdlUHJveHk6OmNyZWF0ZVBsdWdpbkNvbnRhaW5lcih1aW50NjRfdCYgd2lu
ZG93SUQpCiAgICAgR3RrV2lkZ2V0KiBzb2NrZXQgPSBndGtfc29ja2V0X25ldygpOwogICAgIGdf
c2lnbmFsX2Nvbm5lY3Qoc29ja2V0LCAicGx1Zy1yZW1vdmVkIiwgR19DQUxMQkFDSyhwbHVnaW5D
b250YWluZXJQbHVnUmVtb3ZlZCksIDApOwogICAgIGd0a19jb250YWluZXJfYWRkKEdUS19DT05U
QUlORVIodmlld1dpZGdldCgpKSwgc29ja2V0KTsKLSAgICBndGtfd2lkZ2V0X3Nob3coc29ja2V0
KTsKIAogICAgIHdpbmRvd0lEID0gc3RhdGljX2Nhc3Q8dWludDY0X3Q+KGd0a19zb2NrZXRfZ2V0
X2lkKEdUS19TT0NLRVQoc29ja2V0KSkpOwogICAgIHBsdWdpbldpbmRvd01hcCgpLnNldCh3aW5k
b3dJRCwgc29ja2V0KTsKQEAgLTExNyw2ICsxMTYsMTggQEAgdm9pZCBXZWJQYWdlUHJveHk6Ondp
bmRvd2VkUGx1Z2luR2VvbWV0cnlEaWRDaGFuZ2UoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgZnJh
bWUKIAogICAgIHdlYmtpdFdlYlZpZXdCYXNlQ2hpbGRNb3ZlUmVzaXplKFdFQktJVF9XRUJfVklF
V19CQVNFKHZpZXdXaWRnZXQoKSksIHBsdWdpbiwgZnJhbWVSZWN0KTsKIH0KKwordm9pZCBXZWJQ
YWdlUHJveHk6OndpbmRvd2VkUGx1Z2luVmlzaWJpbGl0eURpZENoYW5nZShib29sIGlzVmlzaWJs
ZSwgdWludDY0X3Qgd2luZG93SUQpCit7CisgICAgR3RrV2lkZ2V0KiBwbHVnaW4gPSBwbHVnaW5X
aW5kb3dNYXAoKS5nZXQod2luZG93SUQpOworICAgIGlmICghcGx1Z2luKQorICAgICAgICByZXR1
cm47CisKKyAgICBpZiAoaXNWaXNpYmxlKQorICAgICAgICBndGtfd2lkZ2V0X3Nob3cocGx1Z2lu
KTsKKyAgICBlbHNlCisgICAgICAgIGd0a193aWRnZXRfaGlkZShwbHVnaW4pOworfQogI2VuZGlm
IC8vIFBMVUdJTl9BUkNISVRFQ1RVUkUoWDExKQogCiB2b2lkIFdlYlBhZ2VQcm94eTo6c2V0SW5w
dXRNZXRob2RTdGF0ZShib29sIGVuYWJsZWQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW4uY3BwIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2luLmNwcAppbmRl
eCA4MDM1MjJiLi44NmQzMmExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpbi5jcHAKQEAgLTcxLDYg
KzcxLDcgQEAgTmV0c2NhcGVQbHVnaW46Ok5ldHNjYXBlUGx1Z2luKFBhc3NSZWZQdHI8TmV0c2Nh
cGVQbHVnaW5Nb2R1bGU+IHBsdWdpbk1vZHVsZSkKICAgICAsIG1faW5OUFBOZXcoZmFsc2UpCiAg
ICAgLCBtX3Nob3VsZFVzZU1hbnVhbExvYWRlcihmYWxzZSkKICAgICAsIG1faGFzQ2FsbGVkU2V0
V2luZG93KGZhbHNlKQorICAgICwgbV9pc1Zpc2libGUoZmFsc2UpCiAgICAgLCBtX25leHRUaW1l
cklEKDApCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgLCBtX2RyYXdpbmdNb2RlbChzdGF0aWNf
Y2FzdDxOUERyYXdpbmdNb2RlbD4oLTEpKQpAQCAtNzYwLDEwICs3NjEsMTQgQEAgdm9pZCBOZXRz
Y2FwZVBsdWdpbjo6Z2VvbWV0cnlEaWRDaGFuZ2UoY29uc3QgSW50U2l6ZSYgcGx1Z2luU2l6ZSwg
Y29uc3QgSW50UmVjdCYKICAgICBjYWxsU2V0V2luZG93KCk7CiB9CiAKLXZvaWQgTmV0c2NhcGVQ
bHVnaW46OnZpc2liaWxpdHlEaWRDaGFuZ2UoKQordm9pZCBOZXRzY2FwZVBsdWdpbjo6dmlzaWJp
bGl0eURpZENoYW5nZShib29sIGlzVmlzaWJsZSkKIHsKICAgICBBU1NFUlQobV9pc1N0YXJ0ZWQp
OwogCisgICAgaWYgKG1faXNWaXNpYmxlID09IGlzVmlzaWJsZSkKKyAgICAgICAgcmV0dXJuOwor
CisgICAgbV9pc1Zpc2libGUgPSBpc1Zpc2libGU7CiAgICAgcGxhdGZvcm1WaXNpYmlsaXR5RGlk
Q2hhbmdlKCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1
Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpbi5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2luLmgKaW5kZXggMTJmYTYxZi4uMzQ4NTEy
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBl
L05ldHNjYXBlUGx1Z2luLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5z
L05ldHNjYXBlL05ldHNjYXBlUGx1Z2luLmgKQEAgLTE4Myw3ICsxODMsNyBAQCBwcml2YXRlOgog
ICAgIHZpcnR1YWwgYm9vbCBpc1RyYW5zcGFyZW50KCk7CiAgICAgdmlydHVhbCBib29sIHdhbnRz
V2hlZWxFdmVudHMoKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgZ2VvbWV0cnlEaWRDaGFu
Z2UoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgcGx1Z2luU2l6ZSwgY29uc3QgV2ViQ29yZTo6SW50
UmVjdCYgY2xpcFJlY3QsIGNvbnN0IFdlYkNvcmU6OkFmZmluZVRyYW5zZm9ybSYgcGx1Z2luVG9S
b290Vmlld1RyYW5zZm9ybSk7Ci0gICAgdmlydHVhbCB2b2lkIHZpc2liaWxpdHlEaWRDaGFuZ2Uo
KTsKKyAgICB2aXJ0dWFsIHZvaWQgdmlzaWJpbGl0eURpZENoYW5nZShib29sIGlzVmlzaWJsZSk7
CiAgICAgdmlydHVhbCB2b2lkIGZyYW1lRGlkRmluaXNoTG9hZGluZyh1aW50NjRfdCByZXF1ZXN0
SUQpOwogICAgIHZpcnR1YWwgdm9pZCBmcmFtZURpZEZhaWwodWludDY0X3QgcmVxdWVzdElELCBi
b29sIHdhc0NhbmNlbGxlZCk7CiAgICAgdmlydHVhbCB2b2lkIGRpZEV2YWx1YXRlSmF2YVNjcmlw
dCh1aW50NjRfdCByZXF1ZXN0SUQsIGNvbnN0IFN0cmluZyYgcmVzdWx0KTsKQEAgLTMwMCw2ICsz
MDAsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9pbk5QUE5ldzsKICAgICBib29sIG1fc2hvdWxk
VXNlTWFudWFsTG9hZGVyOwogICAgIGJvb2wgbV9oYXNDYWxsZWRTZXRXaW5kb3c7CisgICAgYm9v
bCBtX2lzVmlzaWJsZTsKIAogICAgIFJlZlB0cjxOZXRzY2FwZVBsdWdpblN0cmVhbT4gbV9tYW51
YWxTdHJlYW07CiAgICAgVmVjdG9yPGJvb2wsIDg+IG1fcG9wdXBFbmFibGVkU3RhdGVzOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL3gxMS9O
ZXRzY2FwZVBsdWdpblgxMS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMv
TmV0c2NhcGUveDExL05ldHNjYXBlUGx1Z2luWDExLmNwcAppbmRleCBkYjRiZjI0Li5lMWE4YjRm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUv
eDExL05ldHNjYXBlUGx1Z2luWDExLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1BsdWdpbnMvTmV0c2NhcGUveDExL05ldHNjYXBlUGx1Z2luWDExLmNwcApAQCAtMjk3LDcgKzI5
NywxNSBAQCB2b2lkIE5ldHNjYXBlUGx1Z2luOjpwbGF0Zm9ybUdlb21ldHJ5RGlkQ2hhbmdlKCkK
IAogdm9pZCBOZXRzY2FwZVBsdWdpbjo6cGxhdGZvcm1WaXNpYmlsaXR5RGlkQ2hhbmdlKCkKIHsK
LSAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIGlmICghbV9pc1dpbmRvd2VkKQorICAgICAgICBy
ZXR1cm47CisKKyAgICB1aW50NjRfdCB3aW5kb3dJRCA9IDA7CisjaWYgUExBVEZPUk0oR1RLKQor
ICAgIHdpbmRvd0lEID0gc3RhdGljX2Nhc3Q8dWludDY0X3Q+KEdES19XSU5ET1dfWElEKGd0a19w
bHVnX2dldF9zb2NrZXRfd2luZG93KEdUS19QTFVHKG1fcGxhdGZvcm1QbHVnaW5XaWRnZXQpKSkp
OworI2VuZGlmCisgICAgY29udHJvbGxlcigpLT53aW5kb3dlZFBsdWdpblZpc2liaWxpdHlEaWRD
aGFuZ2UobV9pc1Zpc2libGUsIHdpbmRvd0lEKTsKKyAgICBjb250cm9sbGVyKCktPndpbmRvd2Vk
UGx1Z2luR2VvbWV0cnlEaWRDaGFuZ2UobV9mcmFtZVJlY3RJbldpbmRvd0Nvb3JkaW5hdGVzLCBt
X2NsaXBSZWN0LCB3aW5kb3dJRCk7CiB9CiAKIHZvaWQgTmV0c2NhcGVQbHVnaW46OnBsYXRmb3Jt
UGFpbnQoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBJbnRSZWN0JiBkaXJ0eVJlY3Qs
IGJvb2wgLyppc1NuYXBzaG90Ki8pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1BsdWdpbnMvUERGL1BERlBsdWdpbi5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Q
bHVnaW5zL1BERi9QREZQbHVnaW4uaAppbmRleCA2YTdlOWIwLi4wMWQ5NmJmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUERGL1BERlBsdWdpbi5oCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QREYvUERGUGx1Z2luLmgKQEAgLTEx
OCw3ICsxMTgsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgYm9vbCB3YW50c1doZWVsRXZlbnRz
KCkgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwgdm9pZCBnZW9tZXRyeURp
ZENoYW5nZShjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBwbHVnaW5TaXplLCBjb25zdCBXZWJDb3Jl
OjpJbnRSZWN0JiBjbGlwUmVjdCwgY29uc3QgV2ViQ29yZTo6QWZmaW5lVHJhbnNmb3JtJiBwbHVn
aW5Ub1Jvb3RWaWV3VHJhbnNmb3JtKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgY29udGVu
dHNTY2FsZUZhY3RvckNoYW5nZWQoZmxvYXQpIG92ZXJyaWRlOwotICAgIHZpcnR1YWwgdm9pZCB2
aXNpYmlsaXR5RGlkQ2hhbmdlKCkgb3ZlcnJpZGUgeyB9CisgICAgdmlydHVhbCB2b2lkIHZpc2li
aWxpdHlEaWRDaGFuZ2UoYm9vbCkgb3ZlcnJpZGUgeyB9CiAgICAgdmlydHVhbCB2b2lkIGZyYW1l
RGlkRmluaXNoTG9hZGluZyh1aW50NjRfdCByZXF1ZXN0SUQpIG92ZXJyaWRlOwogICAgIHZpcnR1
YWwgdm9pZCBmcmFtZURpZEZhaWwodWludDY0X3QgcmVxdWVzdElELCBib29sIHdhc0NhbmNlbGxl
ZCkgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIGRpZEV2YWx1YXRlSmF2YVNjcmlwdCh1aW50
NjRfdCByZXF1ZXN0SUQsIGNvbnN0IFN0cmluZyYgcmVzdWx0KSBvdmVycmlkZTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW4uaCBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW4uaAppbmRleCBjNTRhNGExLi41MDU1MTBk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luLmgK
KysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpbi5oCkBAIC0xNDIs
NyArMTQyLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBnZW9tZXRyeURpZENoYW5nZShj
b25zdCBXZWJDb3JlOjpJbnRTaXplJiBwbHVnaW5TaXplLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0
JiBjbGlwUmVjdCwgY29uc3QgV2ViQ29yZTo6QWZmaW5lVHJhbnNmb3JtJiBwbHVnaW5Ub1Jvb3RW
aWV3VHJhbnNmb3JtKSA9IDA7CiAKICAgICAvLyBUZWxscyB0aGUgcGx1Zy1pbiB0aGF0IGl0IGhh
cyBiZWVuIGV4cGxpY2l0bHkgaGlkZGVuIG9yIHNob3duLiAoTm90ZSB0aGF0IHRoaXMgaXMgbm90
IGNhbGxlZCB3aGVuIHRoZSBwbHVnLWluIGJlY29tZXMgb2JzY3VyZWQgZnJvbSB2aWV3IG9uIHNj
cmVlbi4pCi0gICAgdmlydHVhbCB2b2lkIHZpc2liaWxpdHlEaWRDaGFuZ2UoKSA9IDA7CisgICAg
dmlydHVhbCB2b2lkIHZpc2liaWxpdHlEaWRDaGFuZ2UoYm9vbCBpc1Zpc2libGUpID0gMDsKIAog
ICAgIC8vIFRlbGxzIHRoZSBwbHVnLWluIHRoYXQgYSBmcmFtZSBsb2FkIHJlcXVlc3QgdGhhdCB0
aGUgcGx1Zy1pbiBtYWRlIGJ5IGNhbGxpbmcgUGx1Z2luQ29udHJvbGxlcjo6bG9hZFVSTCBoYXMg
ZmluaXNoZWQuCiAgICAgdmlydHVhbCB2b2lkIGZyYW1lRGlkRmluaXNoTG9hZGluZyh1aW50NjRf
dCByZXF1ZXN0SUQpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
UGx1Z2lucy9QbHVnaW5Db250cm9sbGVyLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1Bs
dWdpbnMvUGx1Z2luQ29udHJvbGxlci5oCmluZGV4IDc5Y2NhNTkuLmRkYzFhZWUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Db250cm9sbGVyLmgK
KysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpbkNvbnRyb2xsZXIu
aApAQCAtMTQ2LDYgKzE0Niw3IEBAIHB1YmxpYzoKICAgICAvLyBDcmVhdGUgYSBwbHVnaW4gY29u
dGFpbmVyIGZvciB3aW5kb3dlZCBwbHVnaW5zCiAgICAgdmlydHVhbCB1aW50NjRfdCBjcmVhdGVQ
bHVnaW5Db250YWluZXIoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHdpbmRvd2VkUGx1Z2luR2Vv
bWV0cnlEaWRDaGFuZ2UoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgZnJhbWVSZWN0LCBjb25zdCBX
ZWJDb3JlOjpJbnRSZWN0JiBjbGlwUmVjdCwgdWludDY0X3Qgd2luZG93SUQpID0gMDsKKyAgICB2
aXJ0dWFsIHZvaWQgd2luZG93ZWRQbHVnaW5WaXNpYmlsaXR5RGlkQ2hhbmdlKGJvb2wgaXNWaXNp
YmxlLCB1aW50NjRfdCB3aW5kb3dJRCkgPSAwOwogI2VuZGlmCiAKICAgICAvLyBDYWxsZWQgd2hl
biB0aGUgYSBwbHVnLWluIGluc3RhbmNlIGlzIHN1Y2Nlc3NmdWxseSBpbml0aWFsaXplZCwgZWl0
aGVyIHN5bmNocm9ub3VzbHkgb3IgYXN5bmNocm9ub3VzbHkuCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJveHkuY3BwIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb3h5LmNwcAppbmRleCAxMjU2OWY0Li5kMDc1
ZmI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2lu
UHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Q
cm94eS5jcHAKQEAgLTMwMCwxMCArMzAwLDEwIEBAIHZvaWQgUGx1Z2luUHJveHk6Omdlb21ldHJ5
RGlkQ2hhbmdlKGNvbnN0IEludFNpemUmIHBsdWdpblNpemUsIGNvbnN0IEludFJlY3QmIGNsCiAg
ICAgZ2VvbWV0cnlEaWRDaGFuZ2UoKTsKIH0KIAotdm9pZCBQbHVnaW5Qcm94eTo6dmlzaWJpbGl0
eURpZENoYW5nZSgpCit2b2lkIFBsdWdpblByb3h5Ojp2aXNpYmlsaXR5RGlkQ2hhbmdlKGJvb2wg
aXNWaXNpYmxlKQogewogICAgIEFTU0VSVChtX2lzU3RhcnRlZCk7Ci0gICAgbm90SW1wbGVtZW50
ZWQoKTsKKyAgICBtX2Nvbm5lY3Rpb24tPmNvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6UGx1
Z2luQ29udHJvbGxlclByb3h5OjpWaXNpYmlsaXR5RGlkQ2hhbmdlKGlzVmlzaWJsZSksIG1fcGx1
Z2luSW5zdGFuY2VJRCk7CiB9CiAKIHZvaWQgUGx1Z2luUHJveHk6OmZyYW1lRGlkRmluaXNoTG9h
ZGluZyh1aW50NjRfdCByZXF1ZXN0SUQpCkBAIC02ODAsNiArNjgwLDExIEBAIHZvaWQgUGx1Z2lu
UHJveHk6OndpbmRvd2VkUGx1Z2luR2VvbWV0cnlEaWRDaGFuZ2UoY29uc3QgV2ViQ29yZTo6SW50
UmVjdCYgZnJhbWVSCiB7CiAgICAgY29udHJvbGxlcigpLT53aW5kb3dlZFBsdWdpbkdlb21ldHJ5
RGlkQ2hhbmdlKGZyYW1lUmVjdCwgY2xpcFJlY3QsIHdpbmRvd0lEKTsKIH0KKwordm9pZCBQbHVn
aW5Qcm94eTo6d2luZG93ZWRQbHVnaW5WaXNpYmlsaXR5RGlkQ2hhbmdlKGJvb2wgaXNWaXNpYmxl
LCB1aW50NjRfdCB3aW5kb3dJRCkKK3sKKyAgICBjb250cm9sbGVyKCktPndpbmRvd2VkUGx1Z2lu
VmlzaWJpbGl0eURpZENoYW5nZShpc1Zpc2libGUsIHdpbmRvd0lEKTsKK30KICNlbmRpZgogCiB2
b2lkIFBsdWdpblByb3h5Ojp1cGRhdGUoY29uc3QgSW50UmVjdCYgcGFpbnRlZFJlY3QpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJveHkuaCBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm94eS5oCmluZGV4IDRm
NTI3OWMuLjQ5NTg4MmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1
Z2lucy9QbHVnaW5Qcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lu
cy9QbHVnaW5Qcm94eS5oCkBAIC04NSw3ICs4NSw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCBi
b29sIGlzVHJhbnNwYXJlbnQoKTsKICAgICB2aXJ0dWFsIGJvb2wgd2FudHNXaGVlbEV2ZW50cygp
IG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCBnZW9tZXRyeURpZENoYW5nZShjb25zdCBXZWJD
b3JlOjpJbnRTaXplJiBwbHVnaW5TaXplLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBjbGlwUmVj
dCwgY29uc3QgV2ViQ29yZTo6QWZmaW5lVHJhbnNmb3JtJiBwbHVnaW5Ub1Jvb3RWaWV3VHJhbnNm
b3JtKTsKLSAgICB2aXJ0dWFsIHZvaWQgdmlzaWJpbGl0eURpZENoYW5nZSgpOworICAgIHZpcnR1
YWwgdm9pZCB2aXNpYmlsaXR5RGlkQ2hhbmdlKGJvb2wgaXNWaXNpYmxlKTsKICAgICB2aXJ0dWFs
IHZvaWQgZnJhbWVEaWRGaW5pc2hMb2FkaW5nKHVpbnQ2NF90IHJlcXVlc3RJRCk7CiAgICAgdmly
dHVhbCB2b2lkIGZyYW1lRGlkRmFpbCh1aW50NjRfdCByZXF1ZXN0SUQsIGJvb2wgd2FzQ2FuY2Vs
bGVkKTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkRXZhbHVhdGVKYXZhU2NyaXB0KHVpbnQ2NF90IHJl
cXVlc3RJRCwgY29uc3QgU3RyaW5nJiByZXN1bHQpOwpAQCAtMTcyLDYgKzE3Miw3IEBAIHByaXZh
dGU6CiAjaWYgUExVR0lOX0FSQ0hJVEVDVFVSRShYMTEpCiAgICAgdm9pZCBjcmVhdGVQbHVnaW5D
b250YWluZXIodWludDY0X3QmIHdpbmRvd0lEKTsKICAgICB2b2lkIHdpbmRvd2VkUGx1Z2luR2Vv
bWV0cnlEaWRDaGFuZ2UoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgZnJhbWVSZWN0LCBjb25zdCBX
ZWJDb3JlOjpJbnRSZWN0JiBjbGlwUmVjdCwgdWludDY0X3Qgd2luZG93SUQpOworICAgIHZvaWQg
d2luZG93ZWRQbHVnaW5WaXNpYmlsaXR5RGlkQ2hhbmdlKGJvb2wgaXNWaXNpYmxlLCB1aW50NjRf
dCB3aW5kb3dJRCk7CiAjZW5kaWYKIAogICAgIGJvb2wgY2FuSW5pdGlhbGl6ZUFzeW5jaHJvbm91
c2x5KCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdp
bnMvUGx1Z2luUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1Bs
dWdpbnMvUGx1Z2luUHJveHkubWVzc2FnZXMuaW4KaW5kZXggNDE3ZTE3ZS4uNDlmYjFjMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb3h5Lm1l
c3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Q
cm94eS5tZXNzYWdlcy5pbgpAQCAtNzMsNiArNzMsOSBAQCBtZXNzYWdlcyAtPiBQbHVnaW5Qcm94
eSBMZWdhY3lSZWNlaXZlciB7CiAKICAgICAjIFVwZGF0ZSBnZW9tZXRyeSBvZiB3aW5kb3dlZCBw
bHVnaW4gd2lkZ2V0CiAgICAgV2luZG93ZWRQbHVnaW5HZW9tZXRyeURpZENoYW5nZShXZWJDb3Jl
OjpJbnRSZWN0IGZyYW1lUmVjdCwgV2ViQ29yZTo6SW50UmVjdCBjbGlwUmVjdCwgdWludDY0X3Qg
d2luZG93SUQpCisKKyAgICAjIFVwZGF0ZSB2aXNpYmlsaXR5IG9mIHdpbmRvd2VkIHBsdWdpbiB3
aWRnZXQKKyAgICBXaW5kb3dlZFBsdWdpblZpc2liaWxpdHlEaWRDaGFuZ2UoYm9vbCBpc1Zpc2li
bGUsIHVpbnQ2NF90IHdpbmRvd0lEKQogI2VuZGlmCiAKICAgICAjIFRlbGxzIHRoZSBXZWJQcm9j
ZXNzIHRoYXQgdGhlIHBsdWctaW4gd2FzIHN1Y2Nlc3NmdWxseSBpbml0aWFsaXplZCBhc3luY2hy
b25vdXNseQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1Bs
dWdpblZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblZp
ZXcuY3BwCmluZGV4IDc3MWZiOGUuLmQwZTRjZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5jcHAKQEAgLTYxNSw2ICs2MTUsNyBAQCB2b2lk
IFBsdWdpblZpZXc6OmRpZEluaXRpYWxpemVQbHVnaW4oKQogICAgIHdpbmRvd0FuZFZpZXdGcmFt
ZXNDaGFuZ2VkKG1fd2ViUGFnZS0+d2luZG93RnJhbWVJblNjcmVlbkNvb3JkaW5hdGVzKCksIG1f
d2ViUGFnZS0+dmlld0ZyYW1lSW5XaW5kb3dDb29yZGluYXRlcygpKTsKICNlbmRpZgogCisgICAg
dmlld1Zpc2liaWxpdHlEaWRDaGFuZ2UoKTsKICAgICB2aWV3R2VvbWV0cnlEaWRDaGFuZ2UoKTsK
IAogICAgIGlmIChtX3BsdWdpbkVsZW1lbnQtPmRvY3VtZW50KCkuZm9jdXNlZEVsZW1lbnQoKSA9
PSBtX3BsdWdpbkVsZW1lbnQpCkBAIC0xMDIxLDYgKzEwMjIsMTUgQEAgdm9pZCBQbHVnaW5WaWV3
OjpoaWRlKCkKICAgICBXaWRnZXQ6OmhpZGUoKTsKIH0KIAordm9pZCBQbHVnaW5WaWV3OjpzZXRQ
YXJlbnRWaXNpYmxlKGJvb2wgaXNWaXNpYmxlKQoreworICAgIGlmIChpc1BhcmVudFZpc2libGUo
KSA9PSBpc1Zpc2libGUpCisgICAgICAgIHJldHVybjsKKworICAgIFdpZGdldDo6c2V0UGFyZW50
VmlzaWJsZShpc1Zpc2libGUpOworICAgIHZpZXdWaXNpYmlsaXR5RGlkQ2hhbmdlKCk7Cit9CisK
IGJvb2wgUGx1Z2luVmlldzo6dHJhbnNmb3Jtc0FmZmVjdEZyYW1lUmVjdCgpCiB7CiAgICAgcmV0
dXJuIGZhbHNlOwpAQCAtMTA2Myw3ICsxMDczLDcgQEAgdm9pZCBQbHVnaW5WaWV3Ojp2aWV3Vmlz
aWJpbGl0eURpZENoYW5nZSgpCiAgICAgaWYgKCFtX2lzSW5pdGlhbGl6ZWQgfHwgIW1fcGx1Z2lu
IHx8ICFwYXJlbnQoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9wbHVnaW4tPnZpc2liaWxp
dHlEaWRDaGFuZ2UoKTsKKyAgICBtX3BsdWdpbi0+dmlzaWJpbGl0eURpZENoYW5nZShpc1Zpc2li
bGUoKSk7CiB9CiAKIEludFJlY3QgUGx1Z2luVmlldzo6Y2xpcFJlY3RJbldpbmRvd0Nvb3JkaW5h
dGVzKCkgY29uc3QKQEAgLTE2MjUsNiArMTYzNSwxMSBAQCB2b2lkIFBsdWdpblZpZXc6OndpbmRv
d2VkUGx1Z2luR2VvbWV0cnlEaWRDaGFuZ2UoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgZnJhbWVS
ZQogewogICAgIG1fd2ViUGFnZS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpXaW5kb3dl
ZFBsdWdpbkdlb21ldHJ5RGlkQ2hhbmdlKGZyYW1lUmVjdCwgY2xpcFJlY3QsIHdpbmRvd0lEKSk7
CiB9CisKK3ZvaWQgUGx1Z2luVmlldzo6d2luZG93ZWRQbHVnaW5WaXNpYmlsaXR5RGlkQ2hhbmdl
KGJvb2wgaXNWaXNpYmxlLCB1aW50NjRfdCB3aW5kb3dJRCkKK3sKKyAgICBtX3dlYlBhZ2UtPnNl
bmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6V2luZG93ZWRQbHVnaW5WaXNpYmlsaXR5RGlkQ2hh
bmdlKGlzVmlzaWJsZSwgd2luZG93SUQpKTsKK30KICNlbmRpZgogCiAjaWYgUExBVEZPUk0oQ09D
T0EpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2lu
Vmlldy5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblZpZXcuaApp
bmRleCA4MTY2YWUzLi5kMTg4ZjdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
UGx1Z2lucy9QbHVnaW5WaWV3LmgKQEAgLTE3Myw2ICsxNzMsNyBAQCBwcml2YXRlOgogICAgIHZp
cnR1YWwgdm9pZCBub3RpZnlXaWRnZXQoV2ViQ29yZTo6V2lkZ2V0Tm90aWZpY2F0aW9uKSBvdmVy
cmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgc2hvdygpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9p
ZCBoaWRlKCkgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIHNldFBhcmVudFZpc2libGUoYm9v
bCkgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCBib29sIHRyYW5zZm9ybXNBZmZlY3RGcmFtZVJlY3Qo
KSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgY2xpcFJlY3RDaGFuZ2VkKCkgb3ZlcnJpZGU7
CiAKQEAgLTIxNSw2ICsyMTYsNyBAQCBwcml2YXRlOgogI2lmIFBMVUdJTl9BUkNISVRFQ1RVUkUo
WDExKQogICAgIHZpcnR1YWwgdWludDY0X3QgY3JlYXRlUGx1Z2luQ29udGFpbmVyKCkgb3ZlcnJp
ZGU7CiAgICAgdmlydHVhbCB2b2lkIHdpbmRvd2VkUGx1Z2luR2VvbWV0cnlEaWRDaGFuZ2UoY29u
c3QgV2ViQ29yZTo6SW50UmVjdCYgZnJhbWVSZWN0LCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBj
bGlwUmVjdCwgdWludDY0X3Qgd2luZG93SUQpIG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCB3
aW5kb3dlZFBsdWdpblZpc2liaWxpdHlEaWRDaGFuZ2UoYm9vbCBpc1Zpc2libGUsIHVpbnQ2NF90
IHdpbmRvd0lEKSBvdmVycmlkZTsKICNlbmRpZgogCiAgICAgdmlydHVhbCB2b2lkIGRpZEluaXRp
YWxpemVQbHVnaW4oKSBvdmVycmlkZTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>