<?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>130746</bug_id>
          
          <creation_ts>2014-03-25 15:19:19 -0700</creation_ts>
          <short_desc>WebProcesses use lots of cpu in the background if there are a lot of plugins.</short_desc>
          <delta_ts>2014-03-28 18:20:55 -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>Plug-ins</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>130743</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Stephanie Lewis">slewis</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>andersca</cc>
    
    <cc>jer.noble</cc>
    
    <cc>slewis</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>994373</commentid>
    <comment_count>0</comment_count>
    <who name="Stephanie Lewis">slewis</who>
    <bug_when>2014-03-25 15:19:19 -0700</bug_when>
    <thetext>Everytime pluginDidEvaluate is called the WebProcess page throttler is disabled.  This was done originally so that web apps like Pandora could continue to play smoothly in the background.
We only need to stop the page throttler is audio is playing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>994376</commentid>
    <comment_count>1</comment_count>
      <attachid>227807</attachid>
    <who name="Stephanie Lewis">slewis</who>
    <bug_when>2014-03-25 15:19:50 -0700</bug_when>
    <thetext>Created attachment 227807
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>994415</commentid>
    <comment_count>2</comment_count>
    <who name="Stephanie Lewis">slewis</who>
    <bug_when>2014-03-25 15:47:08 -0700</bug_when>
    <thetext>Going to change the bool to an enum so I don&apos;t need the isSupported function but the general layout of the patch should be correct</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>995054</commentid>
    <comment_count>3</comment_count>
      <attachid>227980</attachid>
    <who name="Stephanie Lewis">slewis</who>
    <bug_when>2014-03-27 14:19:27 -0700</bug_when>
    <thetext>Created attachment 227980
reworked patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>995452</commentid>
    <comment_count>4</comment_count>
      <attachid>227980</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-03-28 14:29:18 -0700</bug_when>
    <thetext>Comment on attachment 227980
reworked patch

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

&gt; Source/WebKit2/PluginProcess/PluginProcess.cpp:264
&gt; +    for (auto it = m_webProcessConnections.begin(), end = m_webProcessConnections.end(); it != end; ++it) {
&gt; +        WebProcessConnection* connection = it-&gt;get();
&gt; +        connection-&gt;audioHardwareDidBecomeActive();
&gt; +    }

This can use range for.

&gt; Source/WebKit2/PluginProcess/PluginProcess.cpp:272
&gt; +    for (auto it = m_webProcessConnections.begin(), end = m_webProcessConnections.end(); it != end; ++it) {
&gt; +        WebProcessConnection* connection = it-&gt;get();
&gt; +        connection-&gt;audioHardwareDidBecomeInactive();
&gt; +    }

Ditto.

&gt; Source/WebKit2/PluginProcess/PluginProcess.h:45
&gt; +    public WebCore::AudioHardwareListener::Client

Please put this on the same line. I also don&apos;t think it needs to be public.

&gt; Source/WebKit2/PluginProcess/PluginProcess.h:102
&gt; +    //AudioHardwareListenerClient

Missing space after //.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>995531</commentid>
    <comment_count>5</comment_count>
    <who name="Stephanie Lewis">slewis</who>
    <bug_when>2014-03-28 18:20:55 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/166443</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>227807</attachid>
            <date>2014-03-25 15:19:50 -0700</date>
            <delta_ts>2014-03-27 14:19:27 -0700</delta_ts>
            <desc>patch</desc>
            <filename>0001-Source-WebCore-Rename-pluginDidEvaluate-to-better-re.patch</filename>
            <type>text/plain</type>
            <size>21533</size>
            <attacher name="Stephanie Lewis">slewis</attacher>
            
              <data encoding="base64">RnJvbSAwMjRhNTJlMWVmMjI3MzE2ZjNjMzNmMzJiOTRmZDliMDU4ZmI1OTdhIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBTdGVwaGFuaWUgTGV3aXMgPHNsZXdpc0BhcHBsZS5jb20+CkRh
dGU6IEZyaSwgMjEgTWFyIDIwMTQgMTc6NTI6NDkgLTA3MDAKU3ViamVjdDogW1BBVENIIDEvMl0g
PT9VVEYtOD9xP1NvdXJjZS9XZWJDb3JlOj0yMFJlbmFtZT0yMHBsdWdpbkRpZEV2YWx1YXQ/PQog
PT9VVEYtOD9xP2U9MjB0bz0yMGJldHRlcj0yMHJlcHJlc2VudD0yMHdoZW49MjBpdD1FMj04MD05
OXM9MjBjYWxsZWQuPTIwUD89CiA9P1VURi04P3E/YXJ0PTIwb2Y9MjA8cmRhcjovL3Byb2JsZW0v
MTYwNjEyNTc+PTIwUGx1Z2luUHJvY2Vzcz0yMHNob3VsZD89CiA9P1VURi04P3E/PTIwQXBwTmFw
PTIwd2hlbj0yMG5vPTIwcGx1Z2lucz0yMG9uPTIwYWN0aXZlPTIwdGFiLj89Ck1JTUUtVmVyc2lv
bjogMS4wCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOApDb250ZW50LVRy
YW5zZmVyLUVuY29kaW5nOiA4Yml0CgpSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCk5vIG5l
dyB0ZXN0IGJlY2F1c2UgaXTigJlzIGp1c3QgYSBuYW1lIGNoYW5nZS4KCiogcGFnZS9QYWdlVGhy
b3R0bGVyLmg6CihXZWJDb3JlOjpQYWdlVGhyb3R0bGVyOjpwbHVnaW5EaWRFdmFsdWF0ZVdoaWxl
QXVkaW9Jc1BsYXlpbmcpOgoKU291cmNlL1dlYktpdDI6IAlTdG9wIHdha2luZyB1cCB0aGUgd2Vi
IHByb2Nlc3MgaW4gdGhlIGJhY2tncm91bmQgYmVjYXVzZSBvZiBwbHVnaW4gYWN0aXZpdHkuCglQ
YXJ0IG9mIDxyZGFyOi8vcHJvYmxlbS8xNjA2MTI1Nz4gUGx1Z2luUHJvY2VzcyBzaG91bGQgQXBw
TmFwIHdoZW4gbm8gcGx1Z2lucyBvbiBhY3RpdmUgdGFiLgoKUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCgoJUGx1Z2luIGFjdGl2aXR5IGluIHRoZSBiYWNrZ3JvdW5kIGNhbiBjb25zdGFudGx5
IHdha2UgdXAgd2ViIHByb2Nlc3Nlcy4gIFRoaXMgaXMgb25seQpuZWNlc3Nhcnkgd2hlbiBhdWRp
byBpcyBwbGF5aW5nIHRvIHN1cHBvcnQgd2ViIGFwcHMgbGlrZSBQYW5kb3JhIGFuZCB5b3V0dWJl
IHBsYXlpbmcKaW4gdGhlIGJhY2tncm91bmQuICBVc2UgYSBuZXcgYXBpIGluIENvcmVBdWRpbyB0
byBzZWUgaWYgdGhlcmUgaXMgYXVkaW8gcGxheWluZyBpbgp0aGUgUGx1Z2luUHJvY2Vzcy4KCiog
UGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmNwcDoKKFdlYktpdDo6UGx1Z2luUHJvY2Vzczo6
UGx1Z2luUHJvY2Vzcyk6IEFkZCBhIEF1ZGlvSGFyZHdhcmVMaXN0ZW5lcgooV2ViS2l0OjpQbHVn
aW5Qcm9jZXNzOjpjcmVhdGVXZWJQcm9jZXNzQ29ubmVjdGlvbik6IHRlbGwgd2ViIHByb2Nlc3Mg
Y3VycmVudCBzdGF0ZQooV2ViS2l0OjpQbHVnaW5Qcm9jZXNzOjphdWRpb0hhcmR3YXJlRGlkQmVj
b21lQWN0aXZlKTogcmVzcG9uZCB0byBhdWRpbyBoYXJkd2FyZSBub3RpZmljYXRpb25zCihXZWJL
aXQ6OlBsdWdpblByb2Nlc3M6OmF1ZGlvSGFyZHdhcmVEaWRCZWNvbWVJbmFjdGl2ZSk6CiogUGx1
Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmg6CiogUGx1Z2luUHJvY2Vzcy9XZWJQcm9jZXNzQ29u
bmVjdGlvbi5jcHA6IHRlbGwgV2ViUHJvY2VzcyB3aGVuIGF1ZGlvIHN0YXRlIGluIFBsdWdpblBy
b2Nlc3MKICAgICBjaGFuZ2VzLgooV2ViS2l0OjpXZWJQcm9jZXNzQ29ubmVjdGlvbjo6YXVkaW9I
YXJkd2FyZURpZEJlY29tZUFjdGl2ZSk6CihXZWJLaXQ6OldlYlByb2Nlc3NDb25uZWN0aW9uOjph
dWRpb0hhcmR3YXJlRGlkQmVjb21lSW5hY3RpdmUpOgoqIFBsdWdpblByb2Nlc3MvV2ViUHJvY2Vz
c0Nvbm5lY3Rpb24uaDoKKiBXZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTlBSdW50aW1lT2Jq
ZWN0TWFwLmNwcDoKICAgICBPbmx5IGludm9rZSBwYWdlVGhyb3R0bGVyIGFjdGl2aXR5IHdoZW4g
cGxheWluZyBhdWRpbwooV2ViS2l0OjpOUFJ1bnRpbWVPYmplY3RNYXA6OmV2YWx1YXRlKToKKiBX
ZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luLmg6IGFkZCBmdW5jdGlvbiB0byBnZXQgYXVkaW8gc3Rh
dGUKKFdlYktpdDo6UGx1Z2luOjphdWRpb0lzUGxheWluZ0luUGx1Z2luUHJvY2Vzcyk6CiogV2Vi
UHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9uLmNwcDogc3RvcmUgYXVkaW8g
c3RhdGUKKFdlYktpdDo6UGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb246OlBsdWdpblByb2Nlc3NDb25u
ZWN0aW9uKToKKFdlYktpdDo6UGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb246OmRpZFJlY2VpdmVNZXNz
YWdlKToKKFdlYktpdDo6UGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb246OmF1ZGlvSGFyZHdhcmVEaWRC
ZWNvbWVBY3RpdmUpOgooV2ViS2l0OjpQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbjo6YXVkaW9IYXJk
d2FyZURpZEJlY29tZUluYWN0aXZlKToKKiBXZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vz
c0Nvbm5lY3Rpb24uaDoKKFdlYktpdDo6UGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb246OmF1ZGlvSXNQ
bGF5aW5nKToKKiBXZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb24ubWVz
c2FnZXMuaW46CiogV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb3h5LmNwcDoKKFdlYktpdDo6
UGx1Z2luUHJveHk6OmF1ZGlvSXNQbGF5aW5nSW5QbHVnaW5Qcm9jZXNzKToKKiBXZWJQcm9jZXNz
L1BsdWdpbnMvUGx1Z2luUHJveHkuaDoKKiBXZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5j
cHA6CihXZWJLaXQ6OlBsdWdpblZpZXc6OmF1ZGlvSXNQbGF5aW5nSW5QbHVnaW5Qcm9jZXNzKToK
KiBXZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5oOgotLS0KIFNvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTIgKysrKysrCiBTb3VyY2UvV2Vi
Q29yZS9wYWdlL1BhZ2VUaHJvdHRsZXIuaCAgICAgICAgICAgICAgICB8ICAyICstCiBTb3VyY2Uv
V2ViS2l0Mi9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDQzICsrKysrKysr
KysrKysrKysrKysrKysKIFNvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vz
cy5jcHAgICAgIHwgMjYgKysrKysrKysrKysrKwogU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vz
cy9QbHVnaW5Qcm9jZXNzLmggICAgICAgfCAxMSArKysrKy0KIC4uLi9XZWJLaXQyL1BsdWdpblBy
b2Nlc3MvV2ViUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwIHwgMTEgKysrKysrCiAuLi4vV2ViS2l0Mi9Q
bHVnaW5Qcm9jZXNzL1dlYlByb2Nlc3NDb25uZWN0aW9uLmggICB8ICAzICsrCiAuLi4vUGx1Z2lu
cy9OZXRzY2FwZS9OUFJ1bnRpbWVPYmplY3RNYXAuY3BwICAgICAgICB8ICA3ICsrKy0KIFNvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW4uaCAgICAgICAgIHwgIDIgKwogLi4u
L1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbi5jcHAgfCAxNiArKysr
KysrKwogLi4uL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbi5oICAg
fCAgNyArKystCiAuLi4vUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbi5tZXNzYWdlcy5p
biAgICB8ICA0ICsrCiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJv
eHkuY3BwICB8ICA1ICsrKwogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdp
blByb3h5LmggICAgfCAgMiArCiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1
Z2luVmlldy5jcHAgICB8ICA3ICsrKy0KIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lu
cy9QbHVnaW5WaWV3LmggICAgIHwgIDEgKwogMTYgZmlsZXMgY2hhbmdlZCwgMTUzIGluc2VydGlv
bnMoKyksIDYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDkyOWFmYzMuLjdlNmEyYTIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cKQEAgLTI3LDYgKzI3LDE4IEBACiAgICAgICAgIChXZWJDb3JlOjpBdWRpb0hhcmR3
YXJlTGlzdGVuZXJNYWM6OnNldEhhcmR3YXJlQWN0aXZlKToKICAgICAgICAgKiBwbGF0Zm9ybS9h
dWRpby9tYWMvQXVkaW9IYXJkd2FyZUxpc3RlbmVyTWFjLmg6IEFkZGVkLgogCisyMDE0LTAzLTIx
ICBTdGVwaGFuaWUgTGV3aXMgIDxzbGV3aXNAYXBwbGUuY29tPgorCisgICAgICAgIFJlbmFtZSBw
bHVnaW5EaWRFdmFsdWF0ZSB0byBiZXR0ZXIgcmVwcmVzZW50IHdoZW4gaXTigJlzIGNhbGxlZC4K
KyAgICAgICAgUGFydCBvZiA8cmRhcjovL3Byb2JsZW0vMTYwNjEyNTc+IFBsdWdpblByb2Nlc3Mg
c2hvdWxkIEFwcE5hcCB3aGVuIG5vIHBsdWdpbnMgb24gYWN0aXZlIHRhYi4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdCBiZWNhdXNl
IGl04oCZcyBqdXN0IGEgbmFtZSBjaGFuZ2UuCisKKyAgICAgICAgKiBwYWdlL1BhZ2VUaHJvdHRs
ZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2VUaHJvdHRsZXI6OnBsdWdpbkRpZEV2YWx1YXRl
V2hpbGVBdWRpb0lzUGxheWluZyk6CisKIDIwMTQtMDMtMjQgIENocmlzIEZsZWl6YWNoICA8Y2Zs
ZWl6YWNoQGFwcGxlLmNvbT4KIAogICAgICAgICBSZWdyZXNzaW9uOiBBWDogRG9uJ3QgZXhwb3Nl
IHJvbGUgb3Igbm90aWZpY2F0aW9ucyBmb3IgaW52YWxpZCBtZW51cwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9QYWdlVGhyb3R0bGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bh
Z2VUaHJvdHRsZXIuaAppbmRleCBmNjg3MGE1Li45YjRmOWQyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BhZ2VUaHJvdHRsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bh
Z2VUaHJvdHRsZXIuaApAQCAtNDcsNyArNDcsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRWaWV3
U3RhdGUoVmlld1N0YXRlOjpGbGFncyk7CiAKICAgICB2b2lkIGRpZFJlY2VpdmVVc2VySW5wdXQo
KSB7IG1faHlzdGVyZXNpcy5pbXB1bHNlKCk7IH0KLSAgICB2b2lkIHBsdWdpbkRpZEV2YWx1YXRl
KCkgeyBtX2h5c3RlcmVzaXMuaW1wdWxzZSgpOyB9CisgICAgdm9pZCBwbHVnaW5EaWRFdmFsdWF0
ZVdoaWxlQXVkaW9Jc1BsYXlpbmcoKSB7IG1faHlzdGVyZXNpcy5pbXB1bHNlKCk7IH0KICAgICBz
dGQ6OnVuaXF1ZV9wdHI8UGFnZUFjdGl2aXR5QXNzZXJ0aW9uVG9rZW4+IG1lZGlhQWN0aXZpdHlU
b2tlbigpOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxQYWdlQWN0aXZpdHlBc3NlcnRpb25Ub2tlbj4g
cGFnZUxvYWRBY3Rpdml0eVRva2VuKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCA1ZmQ0YTc5Li5iODYxYTE5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsNDggQEAKIDIwMTQtMDMtMjQgIFN0ZXBoYW5pZSBMZXdp
cyAgPHNsZXdpc0BhcHBsZS5jb20+CiAKKwlTdG9wIHdha2luZyB1cCB0aGUgd2ViIHByb2Nlc3Mg
aW4gdGhlIGJhY2tncm91bmQgYmVjYXVzZSBvZiBwbHVnaW4gYWN0aXZpdHkuCisJUGFydCBvZiA8
cmRhcjovL3Byb2JsZW0vMTYwNjEyNTc+IFBsdWdpblByb2Nlc3Mgc2hvdWxkIEFwcE5hcCB3aGVu
IG5vIHBsdWdpbnMgb24gYWN0aXZlIHRhYi4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworCVBsdWdpbiBhY3Rpdml0eSBpbiB0aGUgYmFja2dyb3VuZCBjYW4gY29uc3Rh
bnRseSB3YWtlIHVwIHdlYiBwcm9jZXNzZXMuICBUaGlzIGlzIG9ubHkKKyAgICAgICAgbmVjZXNz
YXJ5IHdoZW4gYXVkaW8gaXMgcGxheWluZyB0byBzdXBwb3J0IHdlYiBhcHBzIGxpa2UgUGFuZG9y
YSBhbmQgeW91dHViZSBwbGF5aW5nIAorICAgICAgICBpbiB0aGUgYmFja2dyb3VuZC4gIFVzZSBh
IG5ldyBhcGkgaW4gQ29yZUF1ZGlvIHRvIHNlZSBpZiB0aGVyZSBpcyBhdWRpbyBwbGF5aW5nIGlu
CisgICAgICAgIHRoZSBQbHVnaW5Qcm9jZXNzLgorCisgICAgICAgICogUGx1Z2luUHJvY2Vzcy9Q
bHVnaW5Qcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UGx1Z2luUHJvY2Vzczo6UGx1Z2lu
UHJvY2Vzcyk6IEFkZCBhIEF1ZGlvSGFyZHdhcmVMaXN0ZW5lcgorICAgICAgICAoV2ViS2l0OjpQ
bHVnaW5Qcm9jZXNzOjpjcmVhdGVXZWJQcm9jZXNzQ29ubmVjdGlvbik6IHRlbGwgd2ViIHByb2Nl
c3MgY3VycmVudCBzdGF0ZQorICAgICAgICAoV2ViS2l0OjpQbHVnaW5Qcm9jZXNzOjphdWRpb0hh
cmR3YXJlRGlkQmVjb21lQWN0aXZlKTogcmVzcG9uZCB0byBhdWRpbyBoYXJkd2FyZSBub3RpZmlj
YXRpb25zCisgICAgICAgIChXZWJLaXQ6OlBsdWdpblByb2Nlc3M6OmF1ZGlvSGFyZHdhcmVEaWRC
ZWNvbWVJbmFjdGl2ZSk6CisgICAgICAgICogUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmg6
CisgICAgICAgICogUGx1Z2luUHJvY2Vzcy9XZWJQcm9jZXNzQ29ubmVjdGlvbi5jcHA6IHRlbGwg
V2ViUHJvY2VzcyB3aGVuIGF1ZGlvIHN0YXRlIGluIFBsdWdpblByb2Nlc3MKKyAgICAgICAgICAg
ICBjaGFuZ2VzLgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzQ29ubmVjdGlvbjo6YXVkaW9I
YXJkd2FyZURpZEJlY29tZUFjdGl2ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NDb25u
ZWN0aW9uOjphdWRpb0hhcmR3YXJlRGlkQmVjb21lSW5hY3RpdmUpOgorICAgICAgICAqIFBsdWdp
blByb2Nlc3MvV2ViUHJvY2Vzc0Nvbm5lY3Rpb24uaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1Bs
dWdpbnMvTmV0c2NhcGUvTlBSdW50aW1lT2JqZWN0TWFwLmNwcDoKKyAgICAgICAgICAgICBPbmx5
IGludm9rZSBwYWdlVGhyb3R0bGVyIGFjdGl2aXR5IHdoZW4gcGxheWluZyBhdWRpbworICAgICAg
ICAoV2ViS2l0OjpOUFJ1bnRpbWVPYmplY3RNYXA6OmV2YWx1YXRlKToKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1BsdWdpbnMvUGx1Z2luLmg6IGFkZCBmdW5jdGlvbiB0byBnZXQgYXVkaW8gc3RhdGUK
KyAgICAgICAgKFdlYktpdDo6UGx1Z2luOjphdWRpb0lzUGxheWluZ0luUGx1Z2luUHJvY2Vzcyk6
CisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9uLmNw
cDogc3RvcmUgYXVkaW8gc3RhdGUKKyAgICAgICAgKFdlYktpdDo6UGx1Z2luUHJvY2Vzc0Nvbm5l
Y3Rpb246OlBsdWdpblByb2Nlc3NDb25uZWN0aW9uKToKKyAgICAgICAgKFdlYktpdDo6UGx1Z2lu
UHJvY2Vzc0Nvbm5lY3Rpb246OmRpZFJlY2VpdmVNZXNzYWdlKToKKyAgICAgICAgKFdlYktpdDo6
UGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb246OmF1ZGlvSGFyZHdhcmVEaWRCZWNvbWVBY3RpdmUpOgor
ICAgICAgICAoV2ViS2l0OjpQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbjo6YXVkaW9IYXJkd2FyZURp
ZEJlY29tZUluYWN0aXZlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJv
Y2Vzc0Nvbm5lY3Rpb24uaDoKKyAgICAgICAgKFdlYktpdDo6UGx1Z2luUHJvY2Vzc0Nvbm5lY3Rp
b246OmF1ZGlvSXNQbGF5aW5nKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2lu
UHJvY2Vzc0Nvbm5lY3Rpb24ubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVn
aW5zL1BsdWdpblByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6UGx1Z2luUHJveHk6OmF1ZGlv
SXNQbGF5aW5nSW5QbHVnaW5Qcm9jZXNzKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1BsdWdpbnMv
UGx1Z2luUHJveHkuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5j
cHA6CisgICAgICAgIChXZWJLaXQ6OlBsdWdpblZpZXc6OmF1ZGlvSXNQbGF5aW5nSW5QbHVnaW5Q
cm9jZXNzKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5oOgorCisy
MDE0LTAzLTI0ICBTdGVwaGFuaWUgTGV3aXMgIDxzbGV3aXNAYXBwbGUuY29tPgorCiAgICAgICAg
IEhhdmUgdGhlIHBsdWdpbiBwcm9jZXNzIHRyYWNrIHZpc2liaWxpdHkgb2YgaXTigJlzIHBsdWdp
biBhbmQgc2xlZXAgd2hlbiBub25lCiAgICAgICAgIGFyZSB2aXNpYmxlLgogICAgICAgICBQYXJ0
IG9mIDxyZGFyOi8vcHJvYmxlbS8xNjA2MTI1Nz4gUGx1Z2luUHJvY2VzcyBzaG91bGQgQXBwTmFw
IHdoZW4gbm8gcGx1Z2lucyBvbiBhY3RpdmUgdGFiLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1BsdWdp
blByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5jcHAKaW5kZXggYjEyNGFhMS4uZDc5NjVlMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MuY3BwCkBAIC02NCw2
ICs2NCw3IEBAIFBsdWdpblByb2Nlc3M6OlBsdWdpblByb2Nlc3MoKQogICAgICwgbV92aXNpYmxl
UGx1Z2luc0FjdGl2aXR5KCJWaXNpYmxlIHBsdWdpbnMgZnJvbSBQbHVnaW5Qcm9jZXNzIGFjdGl2
aXR5LiIpCiB7CiAgICAgTmV0c2NhcGVQbHVnaW46OnNldFNldEV4Y2VwdGlvbkZ1bmN0aW9uKFdl
YlByb2Nlc3NDb25uZWN0aW9uOjpzZXRHbG9iYWxFeGNlcHRpb24pOworICAgIG1fYXVkaW9IYXJk
d2FyZUxpc3RlbmVyID0gQXVkaW9IYXJkd2FyZUxpc3RlbmVyOjpjcmVhdGUoKnRoaXMpOwogfQog
CiBQbHVnaW5Qcm9jZXNzOjp+UGx1Z2luUHJvY2VzcygpCkBAIC0xNjEsNiArMTYyLDEwIEBAIHZv
aWQgUGx1Z2luUHJvY2Vzczo6Y3JlYXRlV2ViUHJvY2Vzc0Nvbm5lY3Rpb24oKQogCiAgICAgLy8g
Q3JlYXRlIGEgbGlzdGVuaW5nIGNvbm5lY3Rpb24uCiAgICAgUmVmUHRyPFdlYlByb2Nlc3NDb25u
ZWN0aW9uPiBjb25uZWN0aW9uID0gV2ViUHJvY2Vzc0Nvbm5lY3Rpb246OmNyZWF0ZShJUEM6OkNv
bm5lY3Rpb246OklkZW50aWZpZXIobGlzdGVuaW5nUG9ydCkpOworCisgICAgaWYgKGF1ZGlvSXNQ
bGF5aW5nKCkpCisgICAgICAgIGNvbm5lY3Rpb24tPmF1ZGlvSGFyZHdhcmVEaWRCZWNvbWVBY3Rp
dmUoKTsKKwogICAgIG1fd2ViUHJvY2Vzc0Nvbm5lY3Rpb25zLmFwcGVuZChjb25uZWN0aW9uLnJl
bGVhc2UoKSk7CiAKICAgICBJUEM6OkF0dGFjaG1lbnQgY2xpZW50UG9ydChsaXN0ZW5pbmdQb3J0
LCBNQUNIX01TR19UWVBFX01BS0VfU0VORCk7CkBAIC0yNDYsNiArMjUxLDI3IEBAIHZvaWQgUGx1
Z2luUHJvY2Vzczo6cGx1Z2luc0ZvcldlYlByb2Nlc3NEaWRCZWNvbWVIaWRkZW4oKQogewogICAg
IG1fdmlzaWJsZVBsdWdpbnNBY3Rpdml0eS5kZWNyZW1lbnQoKTsKIH0KKyAgICAKK2Jvb2wgUGx1
Z2luUHJvY2Vzczo6YXVkaW9Jc1BsYXlpbmcoKQoreworICAgIHJldHVybiBBdWRpb0hhcmR3YXJl
TGlzdGVuZXI6OmF1ZGlvSGFyZHdhcmVMaXN0ZW5lcklzU3VwcG9ydGVkKCkgJiYgbV9hdWRpb0hh
cmR3YXJlTGlzdGVuZXIgJiYgbV9hdWRpb0hhcmR3YXJlTGlzdGVuZXItPmlzSGFyZHdhcmVBY3Rp
dmUoKTsKK30KKyAgICAKK3ZvaWQgUGx1Z2luUHJvY2Vzczo6YXVkaW9IYXJkd2FyZURpZEJlY29t
ZUFjdGl2ZSgpCit7CisgICAgZm9yIChhdXRvIGl0ID0gbV93ZWJQcm9jZXNzQ29ubmVjdGlvbnMu
YmVnaW4oKSwgZW5kID0gbV93ZWJQcm9jZXNzQ29ubmVjdGlvbnMuZW5kKCk7IGl0ICE9IGVuZDsg
KytpdCkgeworICAgICAgICBXZWJQcm9jZXNzQ29ubmVjdGlvbiogY29ubmVjdGlvbiA9IGl0LT5n
ZXQoKTsKKyAgICAgICAgY29ubmVjdGlvbi0+YXVkaW9IYXJkd2FyZURpZEJlY29tZUFjdGl2ZSgp
OworICAgIH0KK30KKyAgICAKK3ZvaWQgUGx1Z2luUHJvY2Vzczo6YXVkaW9IYXJkd2FyZURpZEJl
Y29tZUluYWN0aXZlKCkKK3sKKyAgICBmb3IgKGF1dG8gaXQgPSBtX3dlYlByb2Nlc3NDb25uZWN0
aW9ucy5iZWdpbigpLCBlbmQgPSBtX3dlYlByb2Nlc3NDb25uZWN0aW9ucy5lbmQoKTsgaXQgIT0g
ZW5kOyArK2l0KSB7CisgICAgICAgIFdlYlByb2Nlc3NDb25uZWN0aW9uKiBjb25uZWN0aW9uID0g
aXQtPmdldCgpOworICAgICAgICBjb25uZWN0aW9uLT5hdWRpb0hhcmR3YXJlRGlkQmVjb21lSW5h
Y3RpdmUoKTsKKyAgICB9Cit9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MuaCBiL1NvdXJjZS9X
ZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5oCmluZGV4IGQxYzU2MjAuLjIxOTM0
OWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vz
cy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5oCkBA
IC0zMCw2ICszMCw3IEBACiAKICNpbmNsdWRlICJDaGlsZFByb2Nlc3MuaCIKICNpbmNsdWRlIDxX
ZWJDb3JlL0NvdW50ZWRVc2VyQWN0aXZpdHkuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL0F1ZGlvSGFy
ZHdhcmVMaXN0ZW5lci5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3Rm
L05ldmVyRGVzdHJveWVkLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CkBAIC00
MCw3ICs0MSw5IEBAIGNsYXNzIE5ldHNjYXBlUGx1Z2luTW9kdWxlOwogY2xhc3MgV2ViUHJvY2Vz
c0Nvbm5lY3Rpb247CiBzdHJ1Y3QgUGx1Z2luUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczsKICAg
ICAgICAgCi1jbGFzcyBQbHVnaW5Qcm9jZXNzIDogcHVibGljIENoaWxkUHJvY2VzcyB7CitjbGFz
cyBQbHVnaW5Qcm9jZXNzIDogcHVibGljIENoaWxkUHJvY2VzcywKKyAgICBwdWJsaWMgV2ViQ29y
ZTo6QXVkaW9IYXJkd2FyZUxpc3RlbmVyOjpDbGllbnQKK3sKICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShQbHVnaW5Qcm9jZXNzKTsKICAgICBmcmllbmQgY2xhc3MgTmV2ZXJEZXN0cm95ZWQ8UGx1
Z2luUHJvY2Vzcz47CiBwdWJsaWM6CkBAIC05NSw2ICs5OCwxMCBAQCBwcml2YXRlOgogICAgIHZv
aWQgY3JlYXRlV2ViUHJvY2Vzc0Nvbm5lY3Rpb24oKTsKICAgICB2b2lkIGdldFNpdGVzV2l0aERh
dGEodWludDY0X3QgY2FsbGJhY2tJRCk7CiAgICAgdm9pZCBjbGVhclNpdGVEYXRhKGNvbnN0IFZl
Y3RvcjxTdHJpbmc+JiBzaXRlcywgdWludDY0X3QgZmxhZ3MsIHVpbnQ2NF90IG1heEFnZUluU2Vj
b25kcywgdWludDY0X3QgY2FsbGJhY2tJRCk7CisgICAgCisgICAgLy9BdWRpb0hhcmR3YXJlTGlz
dGVuZXJDbGllbnQKKyAgICB2aXJ0dWFsIHZvaWQgYXVkaW9IYXJkd2FyZURpZEJlY29tZUFjdGl2
ZSgpIG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCBhdWRpb0hhcmR3YXJlRGlkQmVjb21lSW5h
Y3RpdmUoKSBvdmVycmlkZTsKIAogICAgIHZvaWQgcGxhdGZvcm1Jbml0aWFsaXplUGx1Z2luUHJv
Y2Vzcyhjb25zdCBQbHVnaW5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJik7CiAgICAgCkBAIC0x
MjUsNiArMTMyLDggQEAgcHJpdmF0ZToKICAgICBzdGF0aWMgdm9pZCBsb3dNZW1vcnlIYW5kbGVy
KGJvb2wgY3JpdGljYWwpOwogICAgIENvdW50ZWRVc2VyQWN0aXZpdHkgbV9jb25uZWN0aW9uQWN0
aXZpdHk7CiAgICAgQ291bnRlZFVzZXJBY3Rpdml0eSBtX3Zpc2libGVQbHVnaW5zQWN0aXZpdHk7
CisgICAgCisgICAgUmVmUHRyPFdlYkNvcmU6OkF1ZGlvSGFyZHdhcmVMaXN0ZW5lcj4gbV9hdWRp
b0hhcmR3YXJlTGlzdGVuZXI7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvV2ViUHJvY2Vzc0Nvbm5lY3Rpb24uY3Bw
IGIvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9XZWJQcm9jZXNzQ29ubmVjdGlvbi5jcHAK
aW5kZXggNmY4YmRjYS4uNGVhNWVmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGx1Z2lu
UHJvY2Vzcy9XZWJQcm9jZXNzQ29ubmVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvUGx1
Z2luUHJvY2Vzcy9XZWJQcm9jZXNzQ29ubmVjdGlvbi5jcHAKQEAgLTM5LDYgKzM5LDcgQEAKICNp
bmNsdWRlICJQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiUGx1
Z2luUHJveHlNZXNzYWdlcy5oIgogI2luY2x1ZGUgIldlYlByb2Nlc3NDb25uZWN0aW9uTWVzc2Fn
ZXMuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL0F1ZGlvSGFyZHdhcmVMaXN0ZW5lci5oPgogI2luY2x1
ZGUgPHVuaXN0ZC5oPgogI2luY2x1ZGUgPHd0Zi9SdW5Mb29wLmg+CiAKQEAgLTM0OSw2ICszNTAs
MTYgQEAgdm9pZCBXZWJQcm9jZXNzQ29ubmVjdGlvbjo6cGx1Z2luRGlkQmVjb21lSGlkZGVuKHVu
c2lnbmVkIHBsdWdpbkluc3RhbmNlSUQpCiAgICAgICAgIFBsdWdpblByb2Nlc3M6OnNoYXJlZCgp
LnBsdWdpbnNGb3JXZWJQcm9jZXNzRGlkQmVjb21lSGlkZGVuKCk7CiB9CiAgICAgCit2b2lkIFdl
YlByb2Nlc3NDb25uZWN0aW9uOjphdWRpb0hhcmR3YXJlRGlkQmVjb21lQWN0aXZlKCkKK3sKKyAg
ICBtX2Nvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6OlBsdWdpblByb2Nlc3NDb25uZWN0aW9uOjpB
dWRpb0hhcmR3YXJlRGlkQmVjb21lQWN0aXZlKCksIDApOworfQorCit2b2lkIFdlYlByb2Nlc3ND
b25uZWN0aW9uOjphdWRpb0hhcmR3YXJlRGlkQmVjb21lSW5hY3RpdmUoKQoreworICAgIG1fY29u
bmVjdGlvbi0+c2VuZChNZXNzYWdlczo6UGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb246OkF1ZGlvSGFy
ZHdhcmVEaWRCZWNvbWVJbmFjdGl2ZSgpLCAwKTsKK30KKyAgICAKIH0gLy8gbmFtZXNwYWNlIFdl
YktpdAogCiAjZW5kaWYgLy8gRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1dlYlByb2Nlc3NDb25uZWN0aW9uLmggYi9T
b3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1dlYlByb2Nlc3NDb25uZWN0aW9uLmgKaW5kZXgg
ODI3Y2I1MC4uMDZiYTczOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vz
cy9XZWJQcm9jZXNzQ29ubmVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nl
c3MvV2ViUHJvY2Vzc0Nvbm5lY3Rpb24uaApAQCAtNTYsNiArNTYsOSBAQCBwdWJsaWM6CiAgICAg
CiAgICAgdm9pZCBwbHVnaW5EaWRCZWNvbWVWaXNpYmxlKHVuc2lnbmVkIHBsdWdpbkluc3RhbmNl
SWQpOwogICAgIHZvaWQgcGx1Z2luRGlkQmVjb21lSGlkZGVuKHVuc2lnbmVkIHBsdWdpbkluc3Rh
bmNlSWQpOworICAgIAorICAgIHZvaWQgYXVkaW9IYXJkd2FyZURpZEJlY29tZUFjdGl2ZSgpOwor
ICAgIHZvaWQgYXVkaW9IYXJkd2FyZURpZEJlY29tZUluYWN0aXZlKCk7CiAKIHByaXZhdGU6CiAg
ICAgV2ViUHJvY2Vzc0Nvbm5lY3Rpb24oSVBDOjpDb25uZWN0aW9uOjpJZGVudGlmaWVyKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OUFJ1
bnRpbWVPYmplY3RNYXAuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05l
dHNjYXBlL05QUnVudGltZU9iamVjdE1hcC5jcHAKaW5kZXggZDI1ZGIwMC4uNzFlMzc4YSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05QUnVu
dGltZU9iamVjdE1hcC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5z
L05ldHNjYXBlL05QUnVudGltZU9iamVjdE1hcC5jcHAKQEAgLTM5LDYgKzM5LDcgQEAKICNpbmNs
dWRlIDxKYXZhU2NyaXB0Q29yZS9Tb3VyY2VDb2RlLmg+CiAjaW5jbHVkZSA8SmF2YVNjcmlwdENv
cmUvU3Ryb25nLmg+CiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvU3Ryb25nSW5saW5lcy5oPgor
I2luY2x1ZGUgPFdlYkNvcmUvQXVkaW9IYXJkd2FyZUxpc3RlbmVyLmg+CiAjaW5jbHVkZSA8V2Vi
Q29yZS9ET01XcmFwcGVyV29ybGQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0ZyYW1lLmg+CiAjaW5j
bHVkZSA8V2ViQ29yZS9QYWdlLmg+CkBAIC0xOTAsOCArMTkxLDEwIEBAIGJvb2wgTlBSdW50aW1l
T2JqZWN0TWFwOjpldmFsdWF0ZShOUE9iamVjdCogbnBPYmplY3QsIGNvbnN0IFN0cmluZyYgc2Ny
aXB0U3RyaW5nCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIGlmIChtX3BsdWdpblZpZXcg
JiYgIW1fcGx1Z2luVmlldy0+aXNCZWluZ0Rlc3Ryb3llZCgpKSB7Ci0gICAgICAgIGlmIChQYWdl
KiBwYWdlID0gbV9wbHVnaW5WaWV3LT5mcmFtZSgpLT5wYWdlKCkpCi0gICAgICAgICAgICBwYWdl
LT5wYWdlVGhyb3R0bGVyKCkucGx1Z2luRGlkRXZhbHVhdGUoKTsKKyAgICAgICAgaWYgKFBhZ2Uq
IHBhZ2UgPSBtX3BsdWdpblZpZXctPmZyYW1lKCktPnBhZ2UoKSkgeworICAgICAgICAgICAgaWYg
KCFBdWRpb0hhcmR3YXJlTGlzdGVuZXI6OmF1ZGlvSGFyZHdhcmVMaXN0ZW5lcklzU3VwcG9ydGVk
KCkgfHwgbV9wbHVnaW5WaWV3LT5hdWRpb0lzUGxheWluZ0luUGx1Z2luUHJvY2VzcygpKQorICAg
ICAgICAgICAgICAgIHBhZ2UtPnBhZ2VUaHJvdHRsZXIoKS5wbHVnaW5EaWRFdmFsdWF0ZVdoaWxl
QXVkaW9Jc1BsYXlpbmcoKTsKKyAgICAgICAgfQogICAgIH0KIAogICAgIEV4ZWNTdGF0ZSogZXhl
YyA9IGdsb2JhbE9iamVjdC0+Z2xvYmFsRXhlYygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpbi5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9QbHVnaW5zL1BsdWdpbi5oCmluZGV4IDUxMGRjY2UuLmFhNWFjNzEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW4uaAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luLmgKQEAgLTI3Niw2ICsyNzYsOCBAQCBwdWJs
aWM6CiAgICAgdmlydHVhbCBib29sIHBlcmZvcm1EaWN0aW9uYXJ5TG9va3VwQXRMb2NhdGlvbihj
b25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JikgPSAwOwogCiAgICAgdmlydHVhbCBTdHJpbmcgZ2V0
U2VsZWN0aW9uU3RyaW5nKCkgY29uc3QgPSAwOworICAgIAorICAgIHZpcnR1YWwgYm9vbCBhdWRp
b0lzUGxheWluZ0luUGx1Z2luUHJvY2VzcygpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAKIHBy
b3RlY3RlZDoKICAgICBQbHVnaW4oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwCmluZGV4IGFl
YWI4MDUuLjkyZTU0YTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1
Z2lucy9QbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9uLmNwcApAQCAtNDYsNiArNDYs
NyBAQCBQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbjo6UGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb24oUGx1
Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NYW5hZ2VyKgogICAgIDogbV9wbHVnaW5Qcm9jZXNzQ29ubmVj
dGlvbk1hbmFnZXIocGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NYW5hZ2VyKQogICAgICwgbV9wbHVn
aW5Qcm9jZXNzVG9rZW4ocGx1Z2luUHJvY2Vzc1Rva2VuKQogICAgICwgbV9zdXBwb3J0c0FzeW5j
aHJvbm91c1BsdWdpbkluaXRpYWxpemF0aW9uKHN1cHBvcnRzQXN5bmNocm9ub3VzUGx1Z2luSW5p
dGlhbGl6YXRpb24pCisgICAgLCBtX2F1ZGlvSXNQbGF5aW5nKGZhbHNlKQogewogICAgIG1fY29u
bmVjdGlvbiA9IElQQzo6Q29ubmVjdGlvbjo6Y3JlYXRlQ2xpZW50Q29ubmVjdGlvbihjb25uZWN0
aW9uSWRlbnRpZmllciwgdGhpcywgUnVuTG9vcDo6bWFpbigpKTsKIApAQCAtOTAsNiArOTEsMTEg
QEAgdm9pZCBQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbjo6cmVtb3ZlUGx1Z2luUHJveHkoUGx1Z2lu
UHJveHkqIHBsdWdpbikKIAogdm9pZCBQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbjo6ZGlkUmVjZWl2
ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uKiBjb25uZWN0aW9uLCBJUEM6Ok1lc3NhZ2VEZWNvZGVy
JiBkZWNvZGVyKQogeworICAgIGlmICghZGVjb2Rlci5kZXN0aW5hdGlvbklEKCkpIHsKKyAgICAg
ICAgZGlkUmVjZWl2ZVBsdWdpblByb2Nlc3NDb25uZWN0aW9uTWVzc2FnZShjb25uZWN0aW9uLCBk
ZWNvZGVyKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICAKICAgICBBU1NFUlQoZGVjb2Rl
ci5kZXN0aW5hdGlvbklEKCkpOwogCiAgICAgUGx1Z2luUHJveHkqIHBsdWdpblByb3h5ID0gbV9w
bHVnaW5zLmdldChkZWNvZGVyLmRlc3RpbmF0aW9uSUQoKSk7CkBAIC0xMzgsNiArMTQ0LDE2IEBA
IHZvaWQgUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb246OnNldEV4Y2VwdGlvbihjb25zdCBTdHJpbmcm
IGV4Y2VwdGlvblN0cmluZykKIHsKICAgICBOUFJ1bnRpbWVPYmplY3RNYXA6OnNldEdsb2JhbEV4
Y2VwdGlvbihleGNlcHRpb25TdHJpbmcpOwogfQorICAgIAordm9pZCBQbHVnaW5Qcm9jZXNzQ29u
bmVjdGlvbjo6YXVkaW9IYXJkd2FyZURpZEJlY29tZUFjdGl2ZSgpCit7CisgICAgbV9hdWRpb0lz
UGxheWluZyA9IHRydWU7Cit9CisKK3ZvaWQgUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb246OmF1ZGlv
SGFyZHdhcmVEaWRCZWNvbWVJbmFjdGl2ZSgpCit7CisgICAgbV9hdWRpb0lzUGxheWluZyA9IGZh
bHNlOworfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9uLmggYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb24uaApp
bmRleCA4NDFlYzM2Li4xNGVkMDM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb24uaApAQCAtNTgsNyAr
NTgsOCBAQCBwdWJsaWM6CiAgICAgTlBSZW1vdGVPYmplY3RNYXAqIG5wUmVtb3RlT2JqZWN0TWFw
KCkgY29uc3QgeyByZXR1cm4gbV9ucFJlbW90ZU9iamVjdE1hcC5nZXQoKTsgfQogCiAgICAgYm9v
bCBzdXBwb3J0c0FzeW5jaHJvbm91c1BsdWdpbkluaXRpYWxpemF0aW9uKCkgY29uc3QgeyByZXR1
cm4gbV9zdXBwb3J0c0FzeW5jaHJvbm91c1BsdWdpbkluaXRpYWxpemF0aW9uOyB9Ci0KKyAgICBi
b29sIGF1ZGlvSXNQbGF5aW5nKCkgY29uc3QgeyByZXR1cm4gbV9hdWRpb0lzUGxheWluZzsgfQor
ICAgIAogcHJpdmF0ZToKICAgICBQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbihQbHVnaW5Qcm9jZXNz
Q29ubmVjdGlvbk1hbmFnZXIqLCB1aW50NjRfdCBwbHVnaW5Qcm9jZXNzVG9rZW4sIElQQzo6Q29u
bmVjdGlvbjo6SWRlbnRpZmllciBjb25uZWN0aW9uSWRlbnRpZmllciwgYm9vbCBzdXBwb3J0c0Fz
eW5jaHJvbm91c0luaXRpYWxpemF0aW9uKTsKIApAQCAtNjksOCArNzAsMTEgQEAgcHJpdmF0ZToK
ICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZUludmFsaWRNZXNzYWdlKElQQzo6Q29ubmVjdGlv
biosIElQQzo6U3RyaW5nUmVmZXJlbmNlIG1lc3NhZ2VSZWNlaXZlck5hbWUsIElQQzo6U3RyaW5n
UmVmZXJlbmNlIG1lc3NhZ2VOYW1lKSBvdmVycmlkZTsKIAogICAgIC8vIE1lc3NhZ2UgaGFuZGxl
cnMuCisgICAgdm9pZCBkaWRSZWNlaXZlUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NZXNzYWdlKElQ
Qzo6Q29ubmVjdGlvbiosIElQQzo6TWVzc2FnZURlY29kZXImKTsKICAgICB2b2lkIGRpZFJlY2Vp
dmVTeW5jUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NZXNzYWdlKElQQzo6Q29ubmVjdGlvbiosIElQ
Qzo6TWVzc2FnZURlY29kZXImLCBzdGQ6OnVuaXF1ZV9wdHI8SVBDOjpNZXNzYWdlRW5jb2Rlcj4m
KTsKICAgICB2b2lkIHNldEV4Y2VwdGlvbihjb25zdCBTdHJpbmcmKTsKKyAgICB2b2lkIGF1ZGlv
SGFyZHdhcmVEaWRCZWNvbWVBY3RpdmUoKTsKKyAgICB2b2lkIGF1ZGlvSGFyZHdhcmVEaWRCZWNv
bWVJbmFjdGl2ZSgpOwogCiAgICAgUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NYW5hZ2VyKiBtX3Bs
dWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlcjsKICAgICB1aW50NjRfdCBtX3BsdWdpblByb2Nl
c3NUb2tlbjsKQEAgLTg0LDYgKzg4LDcgQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8TlBSZW1vdGVP
YmplY3RNYXA+IG1fbnBSZW1vdGVPYmplY3RNYXA7CiAgICAgCiAgICAgYm9vbCBtX3N1cHBvcnRz
QXN5bmNocm9ub3VzUGx1Z2luSW5pdGlhbGl6YXRpb247CisgICAgYm9vbCBtX2F1ZGlvSXNQbGF5
aW5nOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb24ubWVzc2FnZXMu
aW4gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0Nvbm5l
Y3Rpb24ubWVzc2FnZXMuaW4KaW5kZXggZGIzNzlmYjEuLjcwNDkzNmEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbi5t
ZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2lu
UHJvY2Vzc0Nvbm5lY3Rpb24ubWVzc2FnZXMuaW4KQEAgLTI1LDYgKzI1LDEwIEBACiBtZXNzYWdl
cyAtPiBQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbiBMZWdhY3lSZWNlaXZlciB7CiAgICAgIyBTZXQg
YSBnbG9iYWwgSmF2YVNjcmlwdCBleGNlcHRpb24uCiAgICAgU2V0RXhjZXB0aW9uKFN0cmluZyBl
eGNlcHRpb25TdHJpbmcpIC0+ICgpCisgICAgCisgICAgIyBQbHVnaW4gcHJvY2VzcyBhdWRpbyBo
YXJkd2FyZSBzdGF0ZSBjaGFuZ2VkCisgICAgQXVkaW9IYXJkd2FyZURpZEJlY29tZUFjdGl2ZSgp
CisgICAgQXVkaW9IYXJkd2FyZURpZEJlY29tZUluYWN0aXZlKCkKIH0KIAogI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJveHkuY3Bw
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb3h5LmNwcAppbmRl
eCA2MGM0NWY5Li41MWEzOWYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1BsdWdpbnMvUGx1Z2luUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
UGx1Z2lucy9QbHVnaW5Qcm94eS5jcHAKQEAgLTcwOSw2ICs3MDksMTEgQEAgUGFzc1JlZlB0cjxX
ZWJDb3JlOjpTaGFyZWRCdWZmZXI+IFBsdWdpblByb3h5OjpsaXZlUmVzb3VyY2VEYXRhKCkgY29u
c3QKIHsKICAgICByZXR1cm4gMDsKIH0KKyAgICAKK2Jvb2wgUGx1Z2luUHJveHk6OmF1ZGlvSXNQ
bGF5aW5nSW5QbHVnaW5Qcm9jZXNzKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9jb25uZWN0aW9u
LT5hdWRpb0lzUGxheWluZygpOworfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb3h5LmggYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJveHkuaAppbmRleCAzZWY4
MTIxLi40YTU2ZmU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdp
bnMvUGx1Z2luUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMv
UGx1Z2luUHJveHkuaApAQCAtMTM4LDYgKzEzOCw4IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCBi
b29sIHBlcmZvcm1EaWN0aW9uYXJ5TG9va3VwQXRMb2NhdGlvbihjb25zdCBXZWJDb3JlOjpGbG9h
dFBvaW50Jikgb3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0KIAogICAgIHZpcnR1YWwgU3RyaW5n
IGdldFNlbGVjdGlvblN0cmluZygpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIFN0cmluZygpOyB9
CisgICAgCisgICAgdmlydHVhbCBib29sIGF1ZGlvSXNQbGF5aW5nSW5QbHVnaW5Qcm9jZXNzKCkg
Y29uc3Qgb3ZlcnJpZGU7CiAKICAgICBmbG9hdCBjb250ZW50c1NjYWxlRmFjdG9yKCk7CiAgICAg
Ym9vbCBuZWVkc0JhY2tpbmdTdG9yZSgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9QbHVnaW5zL1BsdWdpblZpZXcuY3BwCmluZGV4IDkzYjBiYWQuLjI0OTZjZGEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3LmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5jcHAK
QEAgLTU0NCw3ICs1NDQsMTIgQEAgYm9vbCBQbHVnaW5WaWV3OjpzZW5kQ29tcGxleFRleHRJbnB1
dCh1aW50NjRfdCBwbHVnaW5Db21wbGV4VGV4dElucHV0SWRlbnRpZmllciwKICAgICBtX3BsdWdp
bi0+c2VuZENvbXBsZXhUZXh0SW5wdXQodGV4dElucHV0KTsKICAgICByZXR1cm4gdHJ1ZTsKIH0K
LQorICAgIAorYm9vbCBQbHVnaW5WaWV3OjphdWRpb0lzUGxheWluZ0luUGx1Z2luUHJvY2Vzcygp
IGNvbnN0Cit7CisgICAgcmV0dXJuIG1fcGx1Z2luLT5hdWRpb0lzUGxheWluZ0luUGx1Z2luUHJv
Y2VzcygpOworfQorICAgIAogTlNPYmplY3QgKlBsdWdpblZpZXc6OmFjY2Vzc2liaWxpdHlPYmpl
Y3QoKSBjb25zdAogewogICAgIGlmICghbV9pc0luaXRpYWxpemVkIHx8ICFtX3BsdWdpbikKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3Lmgg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5oCmluZGV4IGMx
ZTNiOGMuLjk2YTQzNjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1
Z2lucy9QbHVnaW5WaWV3LmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5z
L1BsdWdpblZpZXcuaApAQCAtMTA3LDYgKzEwNyw3IEBAIHB1YmxpYzoKIAogICAgIFBhc3NSZWZQ
dHI8V2ViQ29yZTo6U2hhcmVkQnVmZmVyPiBsaXZlUmVzb3VyY2VEYXRhKCkgY29uc3Q7CiAgICAg
Ym9vbCBwZXJmb3JtRGljdGlvbmFyeUxvb2t1cEF0TG9jYXRpb24oY29uc3QgV2ViQ29yZTo6Rmxv
YXRQb2ludCYpOworICAgIGJvb2wgYXVkaW9Jc1BsYXlpbmdJblBsdWdpblByb2Nlc3MoKSBjb25z
dDsKIAogcHJpdmF0ZToKICAgICBQbHVnaW5WaWV3KFBhc3NSZWZQdHI8V2ViQ29yZTo6SFRNTFBs
dWdJbkVsZW1lbnQ+LCBQYXNzUmVmUHRyPFBsdWdpbj4sIGNvbnN0IFBsdWdpbjo6UGFyYW1ldGVy
cyYgcGFyYW1ldGVycyk7Ci0tIAoxLjguNS4yIChBcHBsZSBHaXQtNDgpCgo=
</data>
<flag name="review"
          id="252045"
          type_id="1"
          status="-"
          setter="slewis"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>227980</attachid>
            <date>2014-03-27 14:19:27 -0700</date>
            <delta_ts>2014-03-28 14:29:18 -0700</delta_ts>
            <desc>reworked patch</desc>
            <filename>0001-Source-WebCore-Rename-pluginDidEvaluate-to-better-re.patch</filename>
            <type>text/plain</type>
            <size>22056</size>
            <attacher name="Stephanie Lewis">slewis</attacher>
            
              <data encoding="base64">RnJvbSBlNmUyZWJhOTA1M2U2YTRmYmI0NGNiNjEyYTc4ZWJjZDczMzNhMmZlIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBTdGVwaGFuaWUgTGV3aXMgPHNsZXdpc0BhcHBsZS5jb20+CkRh
dGU6IEZyaSwgMjEgTWFyIDIwMTQgMTc6NTI6NDkgLTA3MDAKU3ViamVjdDogW1BBVENIIDEvMl0g
PT9VVEYtOD9xP1NvdXJjZS9XZWJDb3JlOj0yMFJlbmFtZT0yMHBsdWdpbkRpZEV2YWx1YXQ/PQog
PT9VVEYtOD9xP2U9MjB0bz0yMGJldHRlcj0yMHJlcHJlc2VudD0yMHdoZW49MjBpdD1FMj04MD05
OXM9MjBjYWxsZWQuPTIwUD89CiA9P1VURi04P3E/YXJ0PTIwb2Y9MjA8cmRhcjovL3Byb2JsZW0v
MTYwNjEyNTc+PTIwUGx1Z2luUHJvY2Vzcz0yMHNob3VsZD89CiA9P1VURi04P3E/PTIwQXBwTmFw
PTIwd2hlbj0yMG5vPTIwcGx1Z2lucz0yMG9uPTIwYWN0aXZlPTIwdGFiLj89Ck1JTUUtVmVyc2lv
bjogMS4wCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOApDb250ZW50LVRy
YW5zZmVyLUVuY29kaW5nOiA4Yml0CgpSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCk5vIG5l
dyB0ZXN0IGJlY2F1c2UgaXTigJlzIGp1c3QgYSBuYW1lIGNoYW5nZS4KCiogcGFnZS9QYWdlVGhy
b3R0bGVyLmg6CihXZWJDb3JlOjpQYWdlVGhyb3R0bGVyOjpwbHVnaW5EaWRFdmFsdWF0ZVdoaWxl
QXVkaW9Jc1BsYXlpbmcpOgoKU291cmNlL1dlYktpdDI6IFN0b3Agd2FraW5nIHVwIHRoZSB3ZWIg
cHJvY2VzcyBpbiB0aGUgYmFja2dyb3VuZCBiZWNhdXNlIG9mIHBsdWdpbiBhY3Rpdml0eS4KUGFy
dCBvZiA8cmRhcjovL3Byb2JsZW0vMTYwNjEyNTc+IFBsdWdpblByb2Nlc3Mgc2hvdWxkIEFwcE5h
cCB3aGVuIG5vIHBsdWdpbnMgb24gYWN0aXZlIHRhYi4KClJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgoKUGx1Z2luIGFjdGl2aXR5IGluIHRoZSBiYWNrZ3JvdW5kIGNhbiBjb25zdGFudGx5IHdh
a2UgdXAgd2ViIHByb2Nlc3Nlcy4gIFRoaXMgaXMgb25seQpuZWNlc3Nhcnkgd2hlbiBhdWRpbyBp
cyBwbGF5aW5nIHRvIHN1cHBvcnQgd2ViIGFwcHMgbGlrZSBQYW5kb3JhIGFuZCB5b3V0dWJlIHBs
YXlpbmcKaW4gdGhlIGJhY2tncm91bmQuICBVc2UgYSBuZXcgYXBpIGluIENvcmVBdWRpbyB0byBz
ZWUgaWYgdGhlcmUgaXMgYXVkaW8gcGxheWluZyBpbgp0aGUgUGx1Z2luUHJvY2Vzcy4KCiogUGx1
Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmNwcDoKKFdlYktpdDo6UGx1Z2luUHJvY2Vzczo6UGx1
Z2luUHJvY2Vzcyk6IEFkZCBhIEF1ZGlvSGFyZHdhcmVMaXN0ZW5lcgooV2ViS2l0OjpQbHVnaW5Q
cm9jZXNzOjpjcmVhdGVXZWJQcm9jZXNzQ29ubmVjdGlvbik6IHRlbGwgd2ViIHByb2Nlc3MgY3Vy
cmVudCBzdGF0ZQooV2ViS2l0OjpQbHVnaW5Qcm9jZXNzOjphdWRpb0hhcmR3YXJlRGlkQmVjb21l
QWN0aXZlKTogcmVzcG9uZCB0byBhdWRpbyBoYXJkd2FyZSBub3RpZmljYXRpb25zCihXZWJLaXQ6
OlBsdWdpblByb2Nlc3M6OmF1ZGlvSGFyZHdhcmVEaWRCZWNvbWVJbmFjdGl2ZSk6CiogUGx1Z2lu
UHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmg6CiogUGx1Z2luUHJvY2Vzcy9XZWJQcm9jZXNzQ29ubmVj
dGlvbi5jcHA6IHRlbGwgV2ViUHJvY2VzcyB3aGVuIGF1ZGlvIHN0YXRlIGluIFBsdWdpblByb2Nl
c3MKICAgICBjaGFuZ2VzLgooV2ViS2l0OjpXZWJQcm9jZXNzQ29ubmVjdGlvbjo6YXVkaW9IYXJk
d2FyZURpZEJlY29tZUFjdGl2ZSk6CihXZWJLaXQ6OldlYlByb2Nlc3NDb25uZWN0aW9uOjphdWRp
b0hhcmR3YXJlRGlkQmVjb21lSW5hY3RpdmUpOgoqIFBsdWdpblByb2Nlc3MvV2ViUHJvY2Vzc0Nv
bm5lY3Rpb24uaDoKKiBXZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTlBSdW50aW1lT2JqZWN0
TWFwLmNwcDoKICAgICBPbmx5IGludm9rZSBwYWdlVGhyb3R0bGVyIGFjdGl2aXR5IHdoZW4gcGxh
eWluZyBhdWRpbwooV2ViS2l0OjpOUFJ1bnRpbWVPYmplY3RNYXA6OmV2YWx1YXRlKToKKiBXZWJQ
cm9jZXNzL1BsdWdpbnMvUGx1Z2luLmg6IGFkZCBmdW5jdGlvbiB0byBnZXQgYXVkaW8gc3RhdGUK
KFdlYktpdDo6UGx1Z2luOjphdWRpb0lzUGxheWluZ0luUGx1Z2luUHJvY2Vzcyk6CiogV2ViUHJv
Y2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9uLmNwcDogc3RvcmUgYXVkaW8gc3Rh
dGUKKFdlYktpdDo6UGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb246OlBsdWdpblByb2Nlc3NDb25uZWN0
aW9uKToKKFdlYktpdDo6UGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb246OmRpZFJlY2VpdmVNZXNzYWdl
KToKKFdlYktpdDo6UGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb246OmF1ZGlvSGFyZHdhcmVEaWRCZWNv
bWVBY3RpdmUpOgooV2ViS2l0OjpQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbjo6YXVkaW9IYXJkd2Fy
ZURpZEJlY29tZUluYWN0aXZlKToKKiBXZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0Nv
bm5lY3Rpb24uaDoKKFdlYktpdDo6UGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb246OmF1ZGlvSXNQbGF5
aW5nKToKKiBXZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb24ubWVzc2Fn
ZXMuaW46CiogV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb3h5LmNwcDoKKFdlYktpdDo6UGx1
Z2luUHJveHk6OmF1ZGlvSXNQbGF5aW5nSW5QbHVnaW5Qcm9jZXNzKToKKiBXZWJQcm9jZXNzL1Bs
dWdpbnMvUGx1Z2luUHJveHkuaDoKKiBXZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5jcHA6
CihXZWJLaXQ6OlBsdWdpblZpZXc6OmF1ZGlvSXNQbGF5aW5nSW5QbHVnaW5Qcm9jZXNzKToKKiBX
ZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5oOgotLS0KIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTIgKysrKysrCiBTb3VyY2UvV2ViQ29y
ZS9wYWdlL1BhZ2VUaHJvdHRsZXIuaCAgICAgICAgICAgICAgICB8ICAyICstCiBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDQzICsrKysrKysrKysr
KysrKysrKysrKysKIFNvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5j
cHAgICAgIHwgMjUgKysrKysrKysrKysrKwogU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9Q
bHVnaW5Qcm9jZXNzLmggICAgICAgfCAxMSArKysrKy0KIC4uLi9XZWJLaXQyL1BsdWdpblByb2Nl
c3MvV2ViUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwIHwgMTEgKysrKysrCiAuLi4vV2ViS2l0Mi9QbHVn
aW5Qcm9jZXNzL1dlYlByb2Nlc3NDb25uZWN0aW9uLmggICB8ICAzICsrCiAuLi4vUGx1Z2lucy9O
ZXRzY2FwZS9OUFJ1bnRpbWVPYmplY3RNYXAuY3BwICAgICAgICB8ICA3ICsrKy0KIFNvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW4uaCAgICAgICAgIHwgIDMgKysKIC4uLi9X
ZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwIHwgMTYgKysrKysr
KysKIC4uLi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb24uaCAgIHwg
IDcgKysrLQogLi4uL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb24ubWVzc2FnZXMuaW4g
ICAgfCAgNCArKwogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb3h5
LmNwcCAgfCAgNSArKysKIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Q
cm94eS5oICAgIHwgIDIgKwogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdp
blZpZXcuY3BwICAgfCAgNyArKystCiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMv
UGx1Z2luVmlldy5oICAgICB8ICAxICsKIDE2IGZpbGVzIGNoYW5nZWQsIDE1MyBpbnNlcnRpb25z
KCspLCA2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBkYmJlYzM3Li5jMDJhYmJhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTQtMDMtMjEgIFN0ZXBoYW5pZSBMZXdpcyAgPHNs
ZXdpc0BhcHBsZS5jb20+CisKKyAgICAgICAgUmVuYW1lIHBsdWdpbkRpZEV2YWx1YXRlIHRvIGJl
dHRlciByZXByZXNlbnQgd2hlbiBpdOKAmXMgY2FsbGVkLgorICAgICAgICBQYXJ0IG9mIDxyZGFy
Oi8vcHJvYmxlbS8xNjA2MTI1Nz4gUGx1Z2luUHJvY2VzcyBzaG91bGQgQXBwTmFwIHdoZW4gbm8g
cGx1Z2lucyBvbiBhY3RpdmUgdGFiLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0IGJlY2F1c2UgaXTigJlzIGp1c3QgYSBuYW1lIGNo
YW5nZS4KKworICAgICAgICAqIHBhZ2UvUGFnZVRocm90dGxlci5oOgorICAgICAgICAoV2ViQ29y
ZTo6UGFnZVRocm90dGxlcjo6cGx1Z2luRGlkRXZhbHVhdGVXaGlsZUF1ZGlvSXNQbGF5aW5nKToK
KwogMjAxNC0wMy0yNSAgU3RlcGhhbmllIExld2lzICA8c2xld2lzQGFwcGxlLmNvbT4KIAogICAg
ICAgICBOb3RpZmljYXRpb24gaGFuZGxlciBmb3IgdGVsbGluZyBpZiBhdWRpbyBoYXJkd2FyZSBp
cyBhY3RpdmUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VUaHJvdHRsZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZVRocm90dGxlci5oCmluZGV4IGY2ODcwYTUuLjli
NGY5ZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZVRocm90dGxlci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZVRocm90dGxlci5oCkBAIC00Nyw3ICs0Nyw3IEBA
IHB1YmxpYzoKICAgICB2b2lkIHNldFZpZXdTdGF0ZShWaWV3U3RhdGU6OkZsYWdzKTsKIAogICAg
IHZvaWQgZGlkUmVjZWl2ZVVzZXJJbnB1dCgpIHsgbV9oeXN0ZXJlc2lzLmltcHVsc2UoKTsgfQot
ICAgIHZvaWQgcGx1Z2luRGlkRXZhbHVhdGUoKSB7IG1faHlzdGVyZXNpcy5pbXB1bHNlKCk7IH0K
KyAgICB2b2lkIHBsdWdpbkRpZEV2YWx1YXRlV2hpbGVBdWRpb0lzUGxheWluZygpIHsgbV9oeXN0
ZXJlc2lzLmltcHVsc2UoKTsgfQogICAgIHN0ZDo6dW5pcXVlX3B0cjxQYWdlQWN0aXZpdHlBc3Nl
cnRpb25Ub2tlbj4gbWVkaWFBY3Rpdml0eVRva2VuKCk7CiAgICAgc3RkOjp1bmlxdWVfcHRyPFBh
Z2VBY3Rpdml0eUFzc2VydGlvblRva2VuPiBwYWdlTG9hZEFjdGl2aXR5VG9rZW4oKTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCmluZGV4IDVmZDRhNzkuLmU3YWNhMTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsNSArMSw0OCBAQAog
MjAxNC0wMy0yNCAgU3RlcGhhbmllIExld2lzICA8c2xld2lzQGFwcGxlLmNvbT4KIAorICAgICAg
ICBTdG9wIHdha2luZyB1cCB0aGUgd2ViIHByb2Nlc3MgaW4gdGhlIGJhY2tncm91bmQgYmVjYXVz
ZSBvZiBwbHVnaW4gYWN0aXZpdHkuCisgICAgICAgIFBhcnQgb2YgPHJkYXI6Ly9wcm9ibGVtLzE2
MDYxMjU3PiBQbHVnaW5Qcm9jZXNzIHNob3VsZCBBcHBOYXAgd2hlbiBubyBwbHVnaW5zIG9uIGFj
dGl2ZSB0YWIuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgUGx1Z2luIGFjdGl2aXR5IGluIHRoZSBiYWNrZ3JvdW5kIGNhbiBjb25zdGFudGx5IHdha2Ug
dXAgd2ViIHByb2Nlc3Nlcy4gIFRoaXMgaXMgb25seQorICAgICAgICBuZWNlc3Nhcnkgd2hlbiBh
dWRpbyBpcyBwbGF5aW5nIHRvIHN1cHBvcnQgd2ViIGFwcHMgbGlrZSBQYW5kb3JhIGFuZCB5b3V0
dWJlIHBsYXlpbmcgCisgICAgICAgIGluIHRoZSBiYWNrZ3JvdW5kLiAgVXNlIGEgbmV3IGFwaSBp
biBDb3JlQXVkaW8gdG8gc2VlIGlmIHRoZXJlIGlzIGF1ZGlvIHBsYXlpbmcgaW4KKyAgICAgICAg
dGhlIFBsdWdpblByb2Nlc3MuCisKKyAgICAgICAgKiBQbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nl
c3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpQbHVnaW5Qcm9jZXNzOjpQbHVnaW5Qcm9jZXNzKTog
QWRkIGEgQXVkaW9IYXJkd2FyZUxpc3RlbmVyCisgICAgICAgIChXZWJLaXQ6OlBsdWdpblByb2Nl
c3M6OmNyZWF0ZVdlYlByb2Nlc3NDb25uZWN0aW9uKTogdGVsbCB3ZWIgcHJvY2VzcyBjdXJyZW50
IHN0YXRlCisgICAgICAgIChXZWJLaXQ6OlBsdWdpblByb2Nlc3M6OmF1ZGlvSGFyZHdhcmVEaWRC
ZWNvbWVBY3RpdmUpOiByZXNwb25kIHRvIGF1ZGlvIGhhcmR3YXJlIG5vdGlmaWNhdGlvbnMKKyAg
ICAgICAgKFdlYktpdDo6UGx1Z2luUHJvY2Vzczo6YXVkaW9IYXJkd2FyZURpZEJlY29tZUluYWN0
aXZlKToKKyAgICAgICAgKiBQbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MuaDoKKyAgICAgICAg
KiBQbHVnaW5Qcm9jZXNzL1dlYlByb2Nlc3NDb25uZWN0aW9uLmNwcDogdGVsbCBXZWJQcm9jZXNz
IHdoZW4gYXVkaW8gc3RhdGUgaW4gUGx1Z2luUHJvY2VzcworICAgICAgICAgICAgIGNoYW5nZXMu
CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NDb25uZWN0aW9uOjphdWRpb0hhcmR3YXJlRGlk
QmVjb21lQWN0aXZlKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc0Nvbm5lY3Rpb246OmF1
ZGlvSGFyZHdhcmVEaWRCZWNvbWVJbmFjdGl2ZSk6CisgICAgICAgICogUGx1Z2luUHJvY2Vzcy9X
ZWJQcm9jZXNzQ29ubmVjdGlvbi5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9OZXRz
Y2FwZS9OUFJ1bnRpbWVPYmplY3RNYXAuY3BwOgorICAgICAgICAgICAgIE9ubHkgaW52b2tlIHBh
Z2VUaHJvdHRsZXIgYWN0aXZpdHkgd2hlbiBwbGF5aW5nIGF1ZGlvCisgICAgICAgIChXZWJLaXQ6
Ok5QUnVudGltZU9iamVjdE1hcDo6ZXZhbHVhdGUpOgorICAgICAgICAqIFdlYlByb2Nlc3MvUGx1
Z2lucy9QbHVnaW4uaDogYWRkIGZ1bmN0aW9uIHRvIGdldCBhdWRpbyBzdGF0ZQorICAgICAgICAo
V2ViS2l0OjpQbHVnaW46OmF1ZGlvSXNQbGF5aW5nSW5QbHVnaW5Qcm9jZXNzKToKKyAgICAgICAg
KiBXZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwOiBzdG9yZSBh
dWRpbyBzdGF0ZQorICAgICAgICAoV2ViS2l0OjpQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbjo6UGx1
Z2luUHJvY2Vzc0Nvbm5lY3Rpb24pOgorICAgICAgICAoV2ViS2l0OjpQbHVnaW5Qcm9jZXNzQ29u
bmVjdGlvbjo6ZGlkUmVjZWl2ZU1lc3NhZ2UpOgorICAgICAgICAoV2ViS2l0OjpQbHVnaW5Qcm9j
ZXNzQ29ubmVjdGlvbjo6YXVkaW9IYXJkd2FyZURpZEJlY29tZUFjdGl2ZSk6CisgICAgICAgIChX
ZWJLaXQ6OlBsdWdpblByb2Nlc3NDb25uZWN0aW9uOjphdWRpb0hhcmR3YXJlRGlkQmVjb21lSW5h
Y3RpdmUpOgorICAgICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ29ubmVj
dGlvbi5oOgorICAgICAgICAoV2ViS2l0OjpQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbjo6YXVkaW9J
c1BsYXlpbmcpOgorICAgICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ29u
bmVjdGlvbi5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2lu
UHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpQbHVnaW5Qcm94eTo6YXVkaW9Jc1BsYXlpbmdJ
blBsdWdpblByb2Nlc3MpOgorICAgICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm94
eS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3LmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6UGx1Z2luVmlldzo6YXVkaW9Jc1BsYXlpbmdJblBsdWdpblByb2Nlc3MpOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3Lmg6CisKKzIwMTQtMDMtMjQg
IFN0ZXBoYW5pZSBMZXdpcyAgPHNsZXdpc0BhcHBsZS5jb20+CisKICAgICAgICAgSGF2ZSB0aGUg
cGx1Z2luIHByb2Nlc3MgdHJhY2sgdmlzaWJpbGl0eSBvZiBpdOKAmXMgcGx1Z2luIGFuZCBzbGVl
cCB3aGVuIG5vbmUKICAgICAgICAgYXJlIHZpc2libGUuCiAgICAgICAgIFBhcnQgb2YgPHJkYXI6
Ly9wcm9ibGVtLzE2MDYxMjU3PiBQbHVnaW5Qcm9jZXNzIHNob3VsZCBBcHBOYXAgd2hlbiBubyBw
bHVnaW5zIG9uIGFjdGl2ZSB0YWIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Q
cm9jZXNzL1BsdWdpblByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9Q
bHVnaW5Qcm9jZXNzLmNwcAppbmRleCBlMzg0NDBlLi44NTNiMTk0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5jcHAKQEAgLTY0LDYgKzY0LDcgQEAg
UGx1Z2luUHJvY2Vzczo6UGx1Z2luUHJvY2VzcygpCiAgICAgLCBtX3Zpc2libGVQbHVnaW5zQWN0
aXZpdHkoIlZpc2libGUgcGx1Z2lucyBmcm9tIFBsdWdpblByb2Nlc3MgYWN0aXZpdHkuIikKIHsK
ICAgICBOZXRzY2FwZVBsdWdpbjo6c2V0U2V0RXhjZXB0aW9uRnVuY3Rpb24oV2ViUHJvY2Vzc0Nv
bm5lY3Rpb246OnNldEdsb2JhbEV4Y2VwdGlvbik7CisgICAgbV9hdWRpb0hhcmR3YXJlTGlzdGVu
ZXIgPSBBdWRpb0hhcmR3YXJlTGlzdGVuZXI6OmNyZWF0ZSgqdGhpcyk7CiB9CiAKIFBsdWdpblBy
b2Nlc3M6On5QbHVnaW5Qcm9jZXNzKCkKQEAgLTE2MSw2ICsxNjIsMTQgQEAgdm9pZCBQbHVnaW5Q
cm9jZXNzOjpjcmVhdGVXZWJQcm9jZXNzQ29ubmVjdGlvbigpCiAKICAgICAvLyBDcmVhdGUgYSBs
aXN0ZW5pbmcgY29ubmVjdGlvbi4KICAgICBSZWZQdHI8V2ViUHJvY2Vzc0Nvbm5lY3Rpb24+IGNv
bm5lY3Rpb24gPSBXZWJQcm9jZXNzQ29ubmVjdGlvbjo6Y3JlYXRlKElQQzo6Q29ubmVjdGlvbjo6
SWRlbnRpZmllcihsaXN0ZW5pbmdQb3J0KSk7CisKKyAgICBpZiAobV9hdWRpb0hhcmR3YXJlTGlz
dGVuZXIpIHsKKyAgICAgICAgaWYgKG1fYXVkaW9IYXJkd2FyZUxpc3RlbmVyLT5oYXJkd2FyZUFj
dGl2aXR5KCkgPT0gV2ViQ29yZTo6QXVkaW9IYXJkd2FyZUFjdGl2aXR5VHlwZTo6SXNBY3RpdmUp
CisgICAgICAgICAgICBjb25uZWN0aW9uLT5hdWRpb0hhcmR3YXJlRGlkQmVjb21lQWN0aXZlKCk7
CisgICAgICAgIGVsc2UgaWYgKG1fYXVkaW9IYXJkd2FyZUxpc3RlbmVyLT5oYXJkd2FyZUFjdGl2
aXR5KCkgPT0gV2ViQ29yZTo6QXVkaW9IYXJkd2FyZUFjdGl2aXR5VHlwZTo6SXNJbmFjdGl2ZSkK
KyAgICAgICAgICAgIGNvbm5lY3Rpb24tPmF1ZGlvSGFyZHdhcmVEaWRCZWNvbWVJbmFjdGl2ZSgp
OworICAgIH0KKwogICAgIG1fd2ViUHJvY2Vzc0Nvbm5lY3Rpb25zLmFwcGVuZChjb25uZWN0aW9u
LnJlbGVhc2UoKSk7CiAKICAgICBJUEM6OkF0dGFjaG1lbnQgY2xpZW50UG9ydChsaXN0ZW5pbmdQ
b3J0LCBNQUNIX01TR19UWVBFX01BS0VfU0VORCk7CkBAIC0yNDYsNiArMjU1LDIyIEBAIHZvaWQg
UGx1Z2luUHJvY2Vzczo6cGx1Z2luc0ZvcldlYlByb2Nlc3NEaWRCZWNvbWVIaWRkZW4oKQogewog
ICAgIG1fdmlzaWJsZVBsdWdpbnNBY3Rpdml0eS5kZWNyZW1lbnQoKTsKIH0KKyAgICAKK3ZvaWQg
UGx1Z2luUHJvY2Vzczo6YXVkaW9IYXJkd2FyZURpZEJlY29tZUFjdGl2ZSgpCit7CisgICAgZm9y
IChhdXRvIGl0ID0gbV93ZWJQcm9jZXNzQ29ubmVjdGlvbnMuYmVnaW4oKSwgZW5kID0gbV93ZWJQ
cm9jZXNzQ29ubmVjdGlvbnMuZW5kKCk7IGl0ICE9IGVuZDsgKytpdCkgeworICAgICAgICBXZWJQ
cm9jZXNzQ29ubmVjdGlvbiogY29ubmVjdGlvbiA9IGl0LT5nZXQoKTsKKyAgICAgICAgY29ubmVj
dGlvbi0+YXVkaW9IYXJkd2FyZURpZEJlY29tZUFjdGl2ZSgpOworICAgIH0KK30KKyAgICAKK3Zv
aWQgUGx1Z2luUHJvY2Vzczo6YXVkaW9IYXJkd2FyZURpZEJlY29tZUluYWN0aXZlKCkKK3sKKyAg
ICBmb3IgKGF1dG8gaXQgPSBtX3dlYlByb2Nlc3NDb25uZWN0aW9ucy5iZWdpbigpLCBlbmQgPSBt
X3dlYlByb2Nlc3NDb25uZWN0aW9ucy5lbmQoKTsgaXQgIT0gZW5kOyArK2l0KSB7CisgICAgICAg
IFdlYlByb2Nlc3NDb25uZWN0aW9uKiBjb25uZWN0aW9uID0gaXQtPmdldCgpOworICAgICAgICBj
b25uZWN0aW9uLT5hdWRpb0hhcmR3YXJlRGlkQmVjb21lSW5hY3RpdmUoKTsKKyAgICB9Cit9CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbHVn
aW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3Mv
UGx1Z2luUHJvY2Vzcy5oCmluZGV4IGQxYzU2MjAuLjIxOTM0OWEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5oCkBAIC0zMCw2ICszMCw3IEBACiAKICNp
bmNsdWRlICJDaGlsZFByb2Nlc3MuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0NvdW50ZWRVc2VyQWN0
aXZpdHkuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL0F1ZGlvSGFyZHdhcmVMaXN0ZW5lci5oPgogI2lu
Y2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+CiAj
aW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CkBAIC00MCw3ICs0MSw5IEBAIGNsYXNzIE5l
dHNjYXBlUGx1Z2luTW9kdWxlOwogY2xhc3MgV2ViUHJvY2Vzc0Nvbm5lY3Rpb247CiBzdHJ1Y3Qg
UGx1Z2luUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczsKICAgICAgICAgCi1jbGFzcyBQbHVnaW5Q
cm9jZXNzIDogcHVibGljIENoaWxkUHJvY2VzcyB7CitjbGFzcyBQbHVnaW5Qcm9jZXNzIDogcHVi
bGljIENoaWxkUHJvY2VzcywKKyAgICBwdWJsaWMgV2ViQ29yZTo6QXVkaW9IYXJkd2FyZUxpc3Rl
bmVyOjpDbGllbnQKK3sKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQbHVnaW5Qcm9jZXNzKTsK
ICAgICBmcmllbmQgY2xhc3MgTmV2ZXJEZXN0cm95ZWQ8UGx1Z2luUHJvY2Vzcz47CiBwdWJsaWM6
CkBAIC05NSw2ICs5OCwxMCBAQCBwcml2YXRlOgogICAgIHZvaWQgY3JlYXRlV2ViUHJvY2Vzc0Nv
bm5lY3Rpb24oKTsKICAgICB2b2lkIGdldFNpdGVzV2l0aERhdGEodWludDY0X3QgY2FsbGJhY2tJ
RCk7CiAgICAgdm9pZCBjbGVhclNpdGVEYXRhKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBzaXRlcywg
dWludDY0X3QgZmxhZ3MsIHVpbnQ2NF90IG1heEFnZUluU2Vjb25kcywgdWludDY0X3QgY2FsbGJh
Y2tJRCk7CisgICAgCisgICAgLy9BdWRpb0hhcmR3YXJlTGlzdGVuZXJDbGllbnQKKyAgICB2aXJ0
dWFsIHZvaWQgYXVkaW9IYXJkd2FyZURpZEJlY29tZUFjdGl2ZSgpIG92ZXJyaWRlOworICAgIHZp
cnR1YWwgdm9pZCBhdWRpb0hhcmR3YXJlRGlkQmVjb21lSW5hY3RpdmUoKSBvdmVycmlkZTsKIAog
ICAgIHZvaWQgcGxhdGZvcm1Jbml0aWFsaXplUGx1Z2luUHJvY2Vzcyhjb25zdCBQbHVnaW5Qcm9j
ZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJik7CiAgICAgCkBAIC0xMjUsNiArMTMyLDggQEAgcHJpdmF0
ZToKICAgICBzdGF0aWMgdm9pZCBsb3dNZW1vcnlIYW5kbGVyKGJvb2wgY3JpdGljYWwpOwogICAg
IENvdW50ZWRVc2VyQWN0aXZpdHkgbV9jb25uZWN0aW9uQWN0aXZpdHk7CiAgICAgQ291bnRlZFVz
ZXJBY3Rpdml0eSBtX3Zpc2libGVQbHVnaW5zQWN0aXZpdHk7CisgICAgCisgICAgUmVmUHRyPFdl
YkNvcmU6OkF1ZGlvSGFyZHdhcmVMaXN0ZW5lcj4gbV9hdWRpb0hhcmR3YXJlTGlzdGVuZXI7CiB9
OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1Bs
dWdpblByb2Nlc3MvV2ViUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwIGIvU291cmNlL1dlYktpdDIvUGx1
Z2luUHJvY2Vzcy9XZWJQcm9jZXNzQ29ubmVjdGlvbi5jcHAKaW5kZXggNmY4YmRjYS4uNGVhNWVm
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9XZWJQcm9jZXNzQ29u
bmVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9XZWJQcm9jZXNz
Q29ubmVjdGlvbi5jcHAKQEAgLTM5LDYgKzM5LDcgQEAKICNpbmNsdWRlICJQbHVnaW5Qcm9jZXNz
Q29ubmVjdGlvbk1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiUGx1Z2luUHJveHlNZXNzYWdlcy5oIgog
I2luY2x1ZGUgIldlYlByb2Nlc3NDb25uZWN0aW9uTWVzc2FnZXMuaCIKKyNpbmNsdWRlIDxXZWJD
b3JlL0F1ZGlvSGFyZHdhcmVMaXN0ZW5lci5oPgogI2luY2x1ZGUgPHVuaXN0ZC5oPgogI2luY2x1
ZGUgPHd0Zi9SdW5Mb29wLmg+CiAKQEAgLTM0OSw2ICszNTAsMTYgQEAgdm9pZCBXZWJQcm9jZXNz
Q29ubmVjdGlvbjo6cGx1Z2luRGlkQmVjb21lSGlkZGVuKHVuc2lnbmVkIHBsdWdpbkluc3RhbmNl
SUQpCiAgICAgICAgIFBsdWdpblByb2Nlc3M6OnNoYXJlZCgpLnBsdWdpbnNGb3JXZWJQcm9jZXNz
RGlkQmVjb21lSGlkZGVuKCk7CiB9CiAgICAgCit2b2lkIFdlYlByb2Nlc3NDb25uZWN0aW9uOjph
dWRpb0hhcmR3YXJlRGlkQmVjb21lQWN0aXZlKCkKK3sKKyAgICBtX2Nvbm5lY3Rpb24tPnNlbmQo
TWVzc2FnZXM6OlBsdWdpblByb2Nlc3NDb25uZWN0aW9uOjpBdWRpb0hhcmR3YXJlRGlkQmVjb21l
QWN0aXZlKCksIDApOworfQorCit2b2lkIFdlYlByb2Nlc3NDb25uZWN0aW9uOjphdWRpb0hhcmR3
YXJlRGlkQmVjb21lSW5hY3RpdmUoKQoreworICAgIG1fY29ubmVjdGlvbi0+c2VuZChNZXNzYWdl
czo6UGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb246OkF1ZGlvSGFyZHdhcmVEaWRCZWNvbWVJbmFjdGl2
ZSgpLCAwKTsKK30KKyAgICAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCiAjZW5kaWYgLy8gRU5B
QkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbHVn
aW5Qcm9jZXNzL1dlYlByb2Nlc3NDb25uZWN0aW9uLmggYi9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Q
cm9jZXNzL1dlYlByb2Nlc3NDb25uZWN0aW9uLmgKaW5kZXggODI3Y2I1MC4uMDZiYTczOCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9XZWJQcm9jZXNzQ29ubmVjdGlv
bi5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvV2ViUHJvY2Vzc0Nvbm5lY3Rp
b24uaApAQCAtNTYsNiArNTYsOSBAQCBwdWJsaWM6CiAgICAgCiAgICAgdm9pZCBwbHVnaW5EaWRC
ZWNvbWVWaXNpYmxlKHVuc2lnbmVkIHBsdWdpbkluc3RhbmNlSWQpOwogICAgIHZvaWQgcGx1Z2lu
RGlkQmVjb21lSGlkZGVuKHVuc2lnbmVkIHBsdWdpbkluc3RhbmNlSWQpOworICAgIAorICAgIHZv
aWQgYXVkaW9IYXJkd2FyZURpZEJlY29tZUFjdGl2ZSgpOworICAgIHZvaWQgYXVkaW9IYXJkd2Fy
ZURpZEJlY29tZUluYWN0aXZlKCk7CiAKIHByaXZhdGU6CiAgICAgV2ViUHJvY2Vzc0Nvbm5lY3Rp
b24oSVBDOjpDb25uZWN0aW9uOjpJZGVudGlmaWVyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OUFJ1bnRpbWVPYmplY3RNYXAuY3BwIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05QUnVudGltZU9iamVj
dE1hcC5jcHAKaW5kZXggZDI1ZGIwMC4uZjkzOTJlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05QUnVudGltZU9iamVjdE1hcC5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05QUnVudGltZU9i
amVjdE1hcC5jcHAKQEAgLTM5LDYgKzM5LDcgQEAKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9T
b3VyY2VDb2RlLmg+CiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvU3Ryb25nLmg+CiAjaW5jbHVk
ZSA8SmF2YVNjcmlwdENvcmUvU3Ryb25nSW5saW5lcy5oPgorI2luY2x1ZGUgPFdlYkNvcmUvQXVk
aW9IYXJkd2FyZUxpc3RlbmVyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9ET01XcmFwcGVyV29ybGQu
aD4KICNpbmNsdWRlIDxXZWJDb3JlL0ZyYW1lLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9QYWdlLmg+
CkBAIC0xOTAsOCArMTkxLDEwIEBAIGJvb2wgTlBSdW50aW1lT2JqZWN0TWFwOjpldmFsdWF0ZShO
UE9iamVjdCogbnBPYmplY3QsIGNvbnN0IFN0cmluZyYgc2NyaXB0U3RyaW5nCiAgICAgICAgIHJl
dHVybiBmYWxzZTsKIAogICAgIGlmIChtX3BsdWdpblZpZXcgJiYgIW1fcGx1Z2luVmlldy0+aXNC
ZWluZ0Rlc3Ryb3llZCgpKSB7Ci0gICAgICAgIGlmIChQYWdlKiBwYWdlID0gbV9wbHVnaW5WaWV3
LT5mcmFtZSgpLT5wYWdlKCkpCi0gICAgICAgICAgICBwYWdlLT5wYWdlVGhyb3R0bGVyKCkucGx1
Z2luRGlkRXZhbHVhdGUoKTsKKyAgICAgICAgaWYgKFBhZ2UqIHBhZ2UgPSBtX3BsdWdpblZpZXct
PmZyYW1lKCktPnBhZ2UoKSkgeworICAgICAgICAgICAgaWYgKG1fcGx1Z2luVmlldy0+YXVkaW9I
YXJkd2FyZUFjdGl2aXR5KCkgIT0gV2ViQ29yZTo6QXVkaW9IYXJkd2FyZUFjdGl2aXR5VHlwZTo6
SXNJbmFjdGl2ZSkKKyAgICAgICAgICAgICAgICBwYWdlLT5wYWdlVGhyb3R0bGVyKCkucGx1Z2lu
RGlkRXZhbHVhdGVXaGlsZUF1ZGlvSXNQbGF5aW5nKCk7CisgICAgICAgIH0KICAgICB9CiAKICAg
ICBFeGVjU3RhdGUqIGV4ZWMgPSBnbG9iYWxPYmplY3QtPmdsb2JhbEV4ZWMoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW4uaCBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW4uaAppbmRleCA1MTBkY2NlLi5jNTRhNGEx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luLmgK
KysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpbi5oCkBAIC0yNiw2
ICsyNiw3IEBACiAjaWZuZGVmIFBsdWdpbl9oCiAjZGVmaW5lIFBsdWdpbl9oCiAKKyNpbmNsdWRl
IDxXZWJDb3JlL0F1ZGlvSGFyZHdhcmVMaXN0ZW5lci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRmlu
ZE9wdGlvbnMuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0dyYXBoaWNzTGF5ZXIuaD4KICNpbmNsdWRl
IDxXZWJDb3JlL1VSTC5oPgpAQCAtMjc2LDYgKzI3Nyw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFs
IGJvb2wgcGVyZm9ybURpY3Rpb25hcnlMb29rdXBBdExvY2F0aW9uKGNvbnN0IFdlYkNvcmU6OkZs
b2F0UG9pbnQmKSA9IDA7CiAKICAgICB2aXJ0dWFsIFN0cmluZyBnZXRTZWxlY3Rpb25TdHJpbmco
KSBjb25zdCA9IDA7CisgICAgCisgICAgdmlydHVhbCBXZWJDb3JlOjpBdWRpb0hhcmR3YXJlQWN0
aXZpdHlUeXBlIGF1ZGlvSGFyZHdhcmVBY3Rpdml0eSgpIGNvbnN0IHsgcmV0dXJuIFdlYkNvcmU6
OkF1ZGlvSGFyZHdhcmVBY3Rpdml0eVR5cGU6OlVua25vd247IH0KIAogcHJvdGVjdGVkOgogICAg
IFBsdWdpbigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5z
L1BsdWdpblByb2Nlc3NDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
UGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbi5jcHAKaW5kZXggYWVhYjgwNS4uZWJkMzRl
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblBy
b2Nlc3NDb25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdp
bnMvUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwCkBAIC00Niw2ICs0Niw3IEBAIFBsdWdpblBy
b2Nlc3NDb25uZWN0aW9uOjpQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbihQbHVnaW5Qcm9jZXNzQ29u
bmVjdGlvbk1hbmFnZXIqCiAgICAgOiBtX3BsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlcihw
bHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIpCiAgICAgLCBtX3BsdWdpblByb2Nlc3NUb2tl
bihwbHVnaW5Qcm9jZXNzVG9rZW4pCiAgICAgLCBtX3N1cHBvcnRzQXN5bmNocm9ub3VzUGx1Z2lu
SW5pdGlhbGl6YXRpb24oc3VwcG9ydHNBc3luY2hyb25vdXNQbHVnaW5Jbml0aWFsaXphdGlvbikK
KyAgICAsIG1fYXVkaW9IYXJkd2FyZUFjdGl2aXR5KFdlYkNvcmU6OkF1ZGlvSGFyZHdhcmVBY3Rp
dml0eVR5cGU6OlVua25vd24pCiB7CiAgICAgbV9jb25uZWN0aW9uID0gSVBDOjpDb25uZWN0aW9u
OjpjcmVhdGVDbGllbnRDb25uZWN0aW9uKGNvbm5lY3Rpb25JZGVudGlmaWVyLCB0aGlzLCBSdW5M
b29wOjptYWluKCkpOwogCkBAIC05MCw2ICs5MSwxMSBAQCB2b2lkIFBsdWdpblByb2Nlc3NDb25u
ZWN0aW9uOjpyZW1vdmVQbHVnaW5Qcm94eShQbHVnaW5Qcm94eSogcGx1Z2luKQogCiB2b2lkIFBs
dWdpblByb2Nlc3NDb25uZWN0aW9uOjpkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24q
IGNvbm5lY3Rpb24sIElQQzo6TWVzc2FnZURlY29kZXImIGRlY29kZXIpCiB7CisgICAgaWYgKCFk
ZWNvZGVyLmRlc3RpbmF0aW9uSUQoKSkgeworICAgICAgICBkaWRSZWNlaXZlUGx1Z2luUHJvY2Vz
c0Nvbm5lY3Rpb25NZXNzYWdlKGNvbm5lY3Rpb24sIGRlY29kZXIpOworICAgICAgICByZXR1cm47
CisgICAgfQorICAgIAogICAgIEFTU0VSVChkZWNvZGVyLmRlc3RpbmF0aW9uSUQoKSk7CiAKICAg
ICBQbHVnaW5Qcm94eSogcGx1Z2luUHJveHkgPSBtX3BsdWdpbnMuZ2V0KGRlY29kZXIuZGVzdGlu
YXRpb25JRCgpKTsKQEAgLTEzOCw2ICsxNDQsMTYgQEAgdm9pZCBQbHVnaW5Qcm9jZXNzQ29ubmVj
dGlvbjo6c2V0RXhjZXB0aW9uKGNvbnN0IFN0cmluZyYgZXhjZXB0aW9uU3RyaW5nKQogewogICAg
IE5QUnVudGltZU9iamVjdE1hcDo6c2V0R2xvYmFsRXhjZXB0aW9uKGV4Y2VwdGlvblN0cmluZyk7
CiB9CisgICAgCit2b2lkIFBsdWdpblByb2Nlc3NDb25uZWN0aW9uOjphdWRpb0hhcmR3YXJlRGlk
QmVjb21lQWN0aXZlKCkKK3sKKyAgICBtX2F1ZGlvSGFyZHdhcmVBY3Rpdml0eSA9IFdlYkNvcmU6
OkF1ZGlvSGFyZHdhcmVBY3Rpdml0eVR5cGU6OklzQWN0aXZlOworfQorCit2b2lkIFBsdWdpblBy
b2Nlc3NDb25uZWN0aW9uOjphdWRpb0hhcmR3YXJlRGlkQmVjb21lSW5hY3RpdmUoKQoreworICAg
IG1fYXVkaW9IYXJkd2FyZUFjdGl2aXR5ID0gV2ViQ29yZTo6QXVkaW9IYXJkd2FyZUFjdGl2aXR5
VHlwZTo6SXNJbmFjdGl2ZTsKK30KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ29ubmVj
dGlvbi5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3ND
b25uZWN0aW9uLmgKaW5kZXggODQxZWMzNi4uMjQ2YjRkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9uLmgKKysrIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9u
LmgKQEAgLTU4LDcgKzU4LDggQEAgcHVibGljOgogICAgIE5QUmVtb3RlT2JqZWN0TWFwKiBucFJl
bW90ZU9iamVjdE1hcCgpIGNvbnN0IHsgcmV0dXJuIG1fbnBSZW1vdGVPYmplY3RNYXAuZ2V0KCk7
IH0KIAogICAgIGJvb2wgc3VwcG9ydHNBc3luY2hyb25vdXNQbHVnaW5Jbml0aWFsaXphdGlvbigp
IGNvbnN0IHsgcmV0dXJuIG1fc3VwcG9ydHNBc3luY2hyb25vdXNQbHVnaW5Jbml0aWFsaXphdGlv
bjsgfQotCisgICAgV2ViQ29yZTo6QXVkaW9IYXJkd2FyZUFjdGl2aXR5VHlwZSBhdWRpb0hhcmR3
YXJlQWN0aXZpdHkoKSBjb25zdCB7IHJldHVybiBtX2F1ZGlvSGFyZHdhcmVBY3Rpdml0eTsgfQor
ICAgIAogcHJpdmF0ZToKICAgICBQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbihQbHVnaW5Qcm9jZXNz
Q29ubmVjdGlvbk1hbmFnZXIqLCB1aW50NjRfdCBwbHVnaW5Qcm9jZXNzVG9rZW4sIElQQzo6Q29u
bmVjdGlvbjo6SWRlbnRpZmllciBjb25uZWN0aW9uSWRlbnRpZmllciwgYm9vbCBzdXBwb3J0c0Fz
eW5jaHJvbm91c0luaXRpYWxpemF0aW9uKTsKIApAQCAtNjksOCArNzAsMTEgQEAgcHJpdmF0ZToK
ICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZUludmFsaWRNZXNzYWdlKElQQzo6Q29ubmVjdGlv
biosIElQQzo6U3RyaW5nUmVmZXJlbmNlIG1lc3NhZ2VSZWNlaXZlck5hbWUsIElQQzo6U3RyaW5n
UmVmZXJlbmNlIG1lc3NhZ2VOYW1lKSBvdmVycmlkZTsKIAogICAgIC8vIE1lc3NhZ2UgaGFuZGxl
cnMuCisgICAgdm9pZCBkaWRSZWNlaXZlUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NZXNzYWdlKElQ
Qzo6Q29ubmVjdGlvbiosIElQQzo6TWVzc2FnZURlY29kZXImKTsKICAgICB2b2lkIGRpZFJlY2Vp
dmVTeW5jUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NZXNzYWdlKElQQzo6Q29ubmVjdGlvbiosIElQ
Qzo6TWVzc2FnZURlY29kZXImLCBzdGQ6OnVuaXF1ZV9wdHI8SVBDOjpNZXNzYWdlRW5jb2Rlcj4m
KTsKICAgICB2b2lkIHNldEV4Y2VwdGlvbihjb25zdCBTdHJpbmcmKTsKKyAgICB2b2lkIGF1ZGlv
SGFyZHdhcmVEaWRCZWNvbWVBY3RpdmUoKTsKKyAgICB2b2lkIGF1ZGlvSGFyZHdhcmVEaWRCZWNv
bWVJbmFjdGl2ZSgpOwogCiAgICAgUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NYW5hZ2VyKiBtX3Bs
dWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlcjsKICAgICB1aW50NjRfdCBtX3BsdWdpblByb2Nl
c3NUb2tlbjsKQEAgLTg0LDYgKzg4LDcgQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8TlBSZW1vdGVP
YmplY3RNYXA+IG1fbnBSZW1vdGVPYmplY3RNYXA7CiAgICAgCiAgICAgYm9vbCBtX3N1cHBvcnRz
QXN5bmNocm9ub3VzUGx1Z2luSW5pdGlhbGl6YXRpb247CisgICAgV2ViQ29yZTo6QXVkaW9IYXJk
d2FyZUFjdGl2aXR5VHlwZSBtX2F1ZGlvSGFyZHdhcmVBY3Rpdml0eTsKIH07CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVn
aW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9uLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9uLm1lc3NhZ2VzLmluCmlu
ZGV4IGRiMzc5ZmIxLi43MDQ5MzZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb24ubWVzc2FnZXMuaW4KKysrIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9uLm1l
c3NhZ2VzLmluCkBAIC0yNSw2ICsyNSwxMCBAQAogbWVzc2FnZXMgLT4gUGx1Z2luUHJvY2Vzc0Nv
bm5lY3Rpb24gTGVnYWN5UmVjZWl2ZXIgewogICAgICMgU2V0IGEgZ2xvYmFsIEphdmFTY3JpcHQg
ZXhjZXB0aW9uLgogICAgIFNldEV4Y2VwdGlvbihTdHJpbmcgZXhjZXB0aW9uU3RyaW5nKSAtPiAo
KQorICAgIAorICAgICMgUGx1Z2luIHByb2Nlc3MgYXVkaW8gaGFyZHdhcmUgc3RhdGUgY2hhbmdl
ZAorICAgIEF1ZGlvSGFyZHdhcmVEaWRCZWNvbWVBY3RpdmUoKQorICAgIEF1ZGlvSGFyZHdhcmVE
aWRCZWNvbWVJbmFjdGl2ZSgpCiB9CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm94eS5jcHAKaW5kZXggNjBjNDVmOS4uYzc2NTE4MyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb3h5
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJveHku
Y3BwCkBAIC03MDksNiArNzA5LDExIEBAIFBhc3NSZWZQdHI8V2ViQ29yZTo6U2hhcmVkQnVmZmVy
PiBQbHVnaW5Qcm94eTo6bGl2ZVJlc291cmNlRGF0YSgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIDA7
CiB9CisgICAgCitXZWJDb3JlOjpBdWRpb0hhcmR3YXJlQWN0aXZpdHlUeXBlIFBsdWdpblByb3h5
OjphdWRpb0hhcmR3YXJlQWN0aXZpdHkoKSBjb25zdAoreworICAgIHJldHVybiBtX2Nvbm5lY3Rp
b24tPmF1ZGlvSGFyZHdhcmVBY3Rpdml0eSgpOworfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblBy
b3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJveHkuaApp
bmRleCAzZWY4MTIxLi40ZjNkNThlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1BsdWdpbnMvUGx1Z2luUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1BsdWdpbnMvUGx1Z2luUHJveHkuaApAQCAtMTM4LDYgKzEzOCw4IEBAIHByaXZhdGU6CiAgICAg
dmlydHVhbCBib29sIHBlcmZvcm1EaWN0aW9uYXJ5TG9va3VwQXRMb2NhdGlvbihjb25zdCBXZWJD
b3JlOjpGbG9hdFBvaW50Jikgb3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0KIAogICAgIHZpcnR1
YWwgU3RyaW5nIGdldFNlbGVjdGlvblN0cmluZygpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIFN0
cmluZygpOyB9CisgICAgCisgICAgdmlydHVhbCBXZWJDb3JlOjpBdWRpb0hhcmR3YXJlQWN0aXZp
dHlUeXBlIGF1ZGlvSGFyZHdhcmVBY3Rpdml0eSgpIGNvbnN0IG92ZXJyaWRlOwogCiAgICAgZmxv
YXQgY29udGVudHNTY2FsZUZhY3RvcigpOwogICAgIGJvb2wgbmVlZHNCYWNraW5nU3RvcmUoKSBj
b25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVn
aW5WaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3
LmNwcAppbmRleCA5M2IwYmFkLi4zMzVkNzk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9QbHVnaW5zL1BsdWdpblZpZXcuY3BwCkBAIC01NDQsNyArNTQ0LDEyIEBAIGJvb2wg
UGx1Z2luVmlldzo6c2VuZENvbXBsZXhUZXh0SW5wdXQodWludDY0X3QgcGx1Z2luQ29tcGxleFRl
eHRJbnB1dElkZW50aWZpZXIsCiAgICAgbV9wbHVnaW4tPnNlbmRDb21wbGV4VGV4dElucHV0KHRl
eHRJbnB1dCk7CiAgICAgcmV0dXJuIHRydWU7CiB9Ci0KKyAgICAKK1dlYkNvcmU6OkF1ZGlvSGFy
ZHdhcmVBY3Rpdml0eVR5cGUgUGx1Z2luVmlldzo6YXVkaW9IYXJkd2FyZUFjdGl2aXR5KCkgY29u
c3QKK3sKKyAgICByZXR1cm4gbV9wbHVnaW4tPmF1ZGlvSGFyZHdhcmVBY3Rpdml0eSgpOworfQor
ICAgIAogTlNPYmplY3QgKlBsdWdpblZpZXc6OmFjY2Vzc2liaWxpdHlPYmplY3QoKSBjb25zdAog
ewogICAgIGlmICghbV9pc0luaXRpYWxpemVkIHx8ICFtX3BsdWdpbikKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3LmggYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5oCmluZGV4IGMxZTNiOGMuLjc3OTYz
MzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5W
aWV3LmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblZpZXcu
aApAQCAtMTA3LDYgKzEwNyw3IEBAIHB1YmxpYzoKIAogICAgIFBhc3NSZWZQdHI8V2ViQ29yZTo6
U2hhcmVkQnVmZmVyPiBsaXZlUmVzb3VyY2VEYXRhKCkgY29uc3Q7CiAgICAgYm9vbCBwZXJmb3Jt
RGljdGlvbmFyeUxvb2t1cEF0TG9jYXRpb24oY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYpOwor
ICAgIFdlYkNvcmU6OkF1ZGlvSGFyZHdhcmVBY3Rpdml0eVR5cGUgYXVkaW9IYXJkd2FyZUFjdGl2
aXR5KCkgY29uc3Q7CiAKIHByaXZhdGU6CiAgICAgUGx1Z2luVmlldyhQYXNzUmVmUHRyPFdlYkNv
cmU6OkhUTUxQbHVnSW5FbGVtZW50PiwgUGFzc1JlZlB0cjxQbHVnaW4+LCBjb25zdCBQbHVnaW46
OlBhcmFtZXRlcnMmIHBhcmFtZXRlcnMpOwotLSAKMS44LjUuMiAoQXBwbGUgR2l0LTQ4KQoK
</data>
<flag name="review"
          id="252235"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>