<?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>189851</bug_id>
          
          <creation_ts>2018-09-21 12:46:29 -0700</creation_ts>
          <short_desc>Extending the lifetime of a NetworkProcessProxy / StorageProcessProxy may cause it to have a stale WebProcessPool pointer</short_desc>
          <delta_ts>2018-09-25 11:58:19 -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>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>189926</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wilander</cc>
    
    <cc>wwang153</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1462008</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-09-21 12:46:29 -0700</bug_when>
    <thetext>Extending the lifetime of a NetworkProcessProxy / StorageProcessProxy may cause it to have a stale WebProcessPool pointer, which is error-prone. We got got by this recently for the NetworkProcess.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1462014</commentid>
    <comment_count>1</comment_count>
      <attachid>350408</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-09-21 12:54:16 -0700</bug_when>
    <thetext>Created attachment 350408
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1462085</commentid>
    <comment_count>2</comment_count>
      <attachid>350426</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-09-21 14:14:21 -0700</bug_when>
    <thetext>Created attachment 350426
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1462154</commentid>
    <comment_count>3</comment_count>
      <attachid>350426</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-09-21 16:18:21 -0700</bug_when>
    <thetext>Comment on attachment 350426
Patch

Clearing flags on attachment: 350426

Committed r236368: &lt;https://trac.webkit.org/changeset/236368&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1462155</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-09-21 16:18:22 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1462159</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-09-21 16:19:35 -0700</bug_when>
    <thetext>&lt;rdar://problem/44696263&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1462854</commentid>
    <comment_count>6</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-09-24 13:31:37 -0700</bug_when>
    <thetext>Reverted r236368 for reason:

Caused WebKit.NetworkProcessCrashWithPendingConnection API test to crash (Bug 189926)

Committed r236425: &lt;https://trac.webkit.org/changeset/236425&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1462917</commentid>
    <comment_count>7</comment_count>
      <attachid>350698</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-09-24 15:15:43 -0700</bug_when>
    <thetext>Created attachment 350698
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1463187</commentid>
    <comment_count>8</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-09-25 10:39:12 -0700</bug_when>
    <thetext>ping review?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1463216</commentid>
    <comment_count>9</comment_count>
      <attachid>350698</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2018-09-25 11:21:15 -0700</bug_when>
    <thetext>Comment on attachment 350698
Patch

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

&gt; Source/WebKit/UIProcess/Plugins/PluginProcessProxy.h:69
&gt; +class PluginProcessProxy final : public ChildProcessProxy, public ThreadSafeRefCounted&lt;PluginProcessProxy&gt; {

Is PluginProcessProxy somehow immune to &quot;process pool deallocated&quot; issues?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1463217</commentid>
    <comment_count>10</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2018-09-25 11:22:03 -0700</bug_when>
    <thetext>Shouldn&apos;t there be some code in this patch that removes some temporary RefPtr&lt;StorageProcessProxy&gt; or RefPtr&lt;NetworkProcessProxy&gt; objects?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1463230</commentid>
    <comment_count>11</comment_count>
      <attachid>350698</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-09-25 11:31:29 -0700</bug_when>
    <thetext>Comment on attachment 350698
Patch

Clearing flags on attachment: 350698

Committed r236464: &lt;https://trac.webkit.org/changeset/236464&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1463232</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-09-25 11:31:32 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1463267</commentid>
    <comment_count>13</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-09-25 11:57:56 -0700</bug_when>
    <thetext>(In reply to Geoffrey Garen from comment #9)
&gt; Comment on attachment 350698 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=350698&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/UIProcess/Plugins/PluginProcessProxy.h:69
&gt; &gt; +class PluginProcessProxy final : public ChildProcessProxy, public ThreadSafeRefCounted&lt;PluginProcessProxy&gt; {
&gt; 
&gt; Is PluginProcessProxy somehow immune to &quot;process pool deallocated&quot; issues?

PluginProcessProxy does not have any reference to its WebProcessPool.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1463268</commentid>
    <comment_count>14</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-09-25 11:58:19 -0700</bug_when>
    <thetext>(In reply to Geoffrey Garen from comment #10)
&gt; Shouldn&apos;t there be some code in this patch that removes some temporary
&gt; RefPtr&lt;StorageProcessProxy&gt; or RefPtr&lt;NetworkProcessProxy&gt; objects?

There are none left or my patch would not build.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>350408</attachid>
            <date>2018-09-21 12:54:16 -0700</date>
            <delta_ts>2018-09-21 14:14:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189851-20180921125415.patch</filename>
            <type>text/plain</type>
            <size>12929</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM2MzQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDFiODU5MDcwZGExY2MwNTg0
MWUzZDAwMDJmYzA5ZGMwNzcxNjgxOTEuLmY5ZmRkYmUwNDgxNjNmMmM1ODUyZDk0NGQzNjZiZGNk
Y2E2YjE4MDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDEgQEAKKzIwMTgtMDktMjEgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBFeHRlbmRpbmcgdGhlIGxpZmV0aW1l
IG9mIGEgTmV0d29ya1Byb2Nlc3NQcm94eSAvIFN0b3JhZ2VQcm9jZXNzUHJveHkgbWF5IGNhdXNl
IGl0IHRvIGhhdmUgYSBzdGFsZSBXZWJQcm9jZXNzUG9vbCBwb2ludGVyCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODk4NTEKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFeHRlbmRpbmcgdGhlIGxpZmV0aW1l
IG9mIGEgTmV0d29ya1Byb2Nlc3NQcm94eSAvIFN0b3JhZ2VQcm9jZXNzUHJveHkgbWF5IGNhdXNl
IGl0IHRvIGhhdmUgYSBzdGFsZSBXZWJQcm9jZXNzUG9vbCBwb2ludGVyOgorICAgICAgICAtIE5l
dHdvcmtQcm9jZXNzUHJveHk6Om1fcHJvY2Vzc1Bvb2wKKyAgICAgICAgLSBTdG9yYWdlUHJvY2Vz
c1Byb3h5OjptX3Byb2Nlc3NQb29sCisKKyAgICAgICAgVGhvc2UgZGF0YSBtZW1iZXJzIGFyZSBD
KysgcmVmZXJlbmNlcyBiZWNhdXNlIGl0IGlzIGV4cGVjdGVkIHRoYXQgdGhlIFdlYlByb2Nlc3NQ
b29sIG93bnMgdGhlIE5ldHdvcmtQcm9jZXNzUHJveHkgYW5kCisgICAgICAgIFN0b3JhZ2VQcm9j
ZXNzUHJveHkuIEhvd2V2ZXIsIHNpbmNlIE5ldHdvcmtQcm9jZXNzUHJveHkgLyBTdG9yYWdlUHJv
Y2Vzc1Byb3h5IGFyZSByZWZjb3VudGVkLCBpdCBoYXMgaGFwcGVuZWQgdGhhdCBjb2RlCisgICAg
ICAgIGV4dGVuZHMgdGhlIGxpZmV0aW1lIG9mIHRob3NlIHBhc3QgdGhlaXIgcHJvY2VzcyBwb29s
LCBsZWFkaW5nIHRvIHN0YWxlIHBycm9jZXNzIHBvb2wgdXNhZ2UuIFRoZSBmaXggZm9yIHRoZXNl
IGNyYXNoZXMKKyAgICAgICAgc28gZmFyIGFzIGJlZW4gdG8gcmVmIHRoZSBXZWJQcm9jZXNzUG9v
bCBpbnN0ZWFkIG9mIHRoZSBOZXR3b3JrUHJvY2Vzc1Byb3h5IC8gU3RvcmFnZVByb2Nlc3NQcm94
eS4gSG93ZXZlciwgZ2l2ZW4gaG93CisgICAgICAgIGVycm9yLXByb25lIHRoaXMgaXMsIHRoaXMg
cGF0Y2ggdXBkYXRlcyBOZXR3b3JrUHJvY2Vzc1Byb3h5IC8gU3RvcmFnZVByb2Nlc3NQcm94eSBz
byB0aGF0IHRoZXkgZm9yd2FyZCB0aGVpciByZWZjb3VudGluZworICAgICAgICB0byB0aGUgV2Vi
UHJvY2Vzc1Bvb2wuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQ2hpbGRQcm9jZXNzUHJveHkuaDoK
KyAgICAgICAgKiBVSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3NQcm94eTo6cmVmKToKKyAgICAgICAgKFdlYktp
dDo6TmV0d29ya1Byb2Nlc3NQcm94eTo6ZGVyZWYpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3Jr
UHJvY2Vzc1Byb3h5OjpkaWRDbG9zZSk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNz
UHJveHk6OnVwZGF0ZVByZXZhbGVudERvbWFpbnNUb0Jsb2NrQ29va2llc0Zvcik6CisgICAgICAg
IChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzUHJveHk6OmNyZWF0ZSk6IERlbGV0ZWQuCisgICAgICAg
ICogVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5oOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vz
cy9TdG9yYWdlL1N0b3JhZ2VQcm9jZXNzUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpTdG9y
YWdlUHJvY2Vzc1Byb3h5OjpyZWYpOgorICAgICAgICAoV2ViS2l0OjpTdG9yYWdlUHJvY2Vzc1By
b3h5OjpkZXJlZik6CisgICAgICAgIChXZWJLaXQ6OlN0b3JhZ2VQcm9jZXNzUHJveHk6OmNyZWF0
ZSk6IERlbGV0ZWQuCisgICAgICAgICogVUlQcm9jZXNzL1N0b3JhZ2UvU3RvcmFnZVByb2Nlc3NQ
cm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHA6CisgICAgICAg
IChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjplbnN1cmVOZXR3b3JrUHJvY2Vzcyk6CisgICAgICAg
IChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjplbnN1cmVTdG9yYWdlUHJvY2Vzc0FuZFdlYnNpdGVE
YXRhU3RvcmUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaDoKKwogMjAxOC0wOS0yMSAgQ2hyaXMgRHVt
ZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFJlZ3Jlc3Npb24oTW9qYXZlKTogUmVz
dW1pbmcgYSBXSzIgZG93bmxvYWQgY3Jhc2hlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQ2hpbGRQcm9jZXNzUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0No
aWxkUHJvY2Vzc1Byb3h5LmgKaW5kZXggMmQ1ZjE1YzZmNDgzOThlMWQ3MGFhYTQzY2ZlMjdiNjM2
NzBjOGVkYy4uYzg5MTI3OTQzZTMwYjljYmRjOWVmZTFlMjg4NmUyZDA2ZTFiYmU1OSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ2hpbGRQcm9jZXNzUHJveHkuaAorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9DaGlsZFByb2Nlc3NQcm94eS5oCkBAIC0zNiw3ICszNiw3
IEBACiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1jbGFzcyBDaGlsZFByb2Nlc3NQcm94eSA6IFBy
b2Nlc3NMYXVuY2hlcjo6Q2xpZW50LCBwdWJsaWMgSVBDOjpDb25uZWN0aW9uOjpDbGllbnQsIHB1
YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxDaGlsZFByb2Nlc3NQcm94eT4geworY2xhc3MgQ2hp
bGRQcm9jZXNzUHJveHkgOiBQcm9jZXNzTGF1bmNoZXI6OkNsaWVudCwgcHVibGljIElQQzo6Q29u
bmVjdGlvbjo6Q2xpZW50IHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDaGlsZFByb2Nlc3NQ
cm94eSk7CiAKIHByb3RlY3RlZDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuY3BwCmluZGV4IDgxMGRhZjkxZDRjMzI1OGUw
ZTMzMDA0YWYyMDBlZDM4ZWJlOTY3YzkuLjRiMTJhYWYxNWE3ZDc5N2YyNDM1MjgzNzJhNDk3ZjM2
YzhjYWFkYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsvTmV0
d29ya1Byb2Nlc3NQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29y
ay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmNwcApAQCAtNjYsMTEgKzY2LDYgQEAgc3RhdGljIHVpbnQ2
NF90IGdlbmVyYXRlQ2FsbGJhY2tJRCgpCiAgICAgcmV0dXJuICsrY2FsbGJhY2tJRDsKIH0KIAot
UmVmPE5ldHdvcmtQcm9jZXNzUHJveHk+IE5ldHdvcmtQcm9jZXNzUHJveHk6OmNyZWF0ZShXZWJQ
cm9jZXNzUG9vbCYgcHJvY2Vzc1Bvb2wpCi17Ci0gICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTmV0
d29ya1Byb2Nlc3NQcm94eShwcm9jZXNzUG9vbCkpOwotfQotCiBOZXR3b3JrUHJvY2Vzc1Byb3h5
OjpOZXR3b3JrUHJvY2Vzc1Byb3h5KFdlYlByb2Nlc3NQb29sJiBwcm9jZXNzUG9vbCkKICAgICA6
IENoaWxkUHJvY2Vzc1Byb3h5KHByb2Nlc3NQb29sLmFsd2F5c1J1bnNBdEJhY2tncm91bmRQcmlv
cml0eSgpKQogICAgICwgbV9wcm9jZXNzUG9vbChwcm9jZXNzUG9vbCkKQEAgLTk3LDYgKzkyLDE2
IEBAIE5ldHdvcmtQcm9jZXNzUHJveHk6On5OZXR3b3JrUHJvY2Vzc1Byb3h5KCkKICNlbmRpZgog
fQogCit2b2lkIE5ldHdvcmtQcm9jZXNzUHJveHk6OnJlZigpCit7CisgICAgbV9wcm9jZXNzUG9v
bC5yZWYoKTsKK30KKwordm9pZCBOZXR3b3JrUHJvY2Vzc1Byb3h5OjpkZXJlZigpCit7CisgICAg
bV9wcm9jZXNzUG9vbC5kZXJlZigpOworfQorCiB2b2lkIE5ldHdvcmtQcm9jZXNzUHJveHk6Omdl
dExhdW5jaE9wdGlvbnMoUHJvY2Vzc0xhdW5jaGVyOjpMYXVuY2hPcHRpb25zJiBsYXVuY2hPcHRp
b25zKQogewogICAgIGxhdW5jaE9wdGlvbnMucHJvY2Vzc1R5cGUgPSBQcm9jZXNzTGF1bmNoZXI6
OlByb2Nlc3NUeXBlOjpOZXR3b3JrOwpAQCAtMjQ4LDcgKzI1Myw3IEBAIHZvaWQgTmV0d29ya1By
b2Nlc3NQcm94eTo6ZGlkUmVjZWl2ZVN5bmNNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYgY29ubmVj
dGlvbiwgSVBDCiAKIHZvaWQgTmV0d29ya1Byb2Nlc3NQcm94eTo6ZGlkQ2xvc2UoSVBDOjpDb25u
ZWN0aW9uJikKIHsKLSAgICBhdXRvIHByb3RlY3RlZFByb2Nlc3NQb29sID0gbWFrZVJlZihtX3By
b2Nlc3NQb29sKTsKKyAgICBhdXRvIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKTsKIAog
ICAgIGlmIChtX2Rvd25sb2FkUHJveHlNYXApCiAgICAgICAgIG1fZG93bmxvYWRQcm94eU1hcC0+
cHJvY2Vzc0RpZENsb3NlKCk7CkBAIC00MDAsNyArNDA1LDcgQEAgdm9pZCBOZXR3b3JrUHJvY2Vz
c1Byb3h5Ojp1cGRhdGVQcmV2YWxlbnREb21haW5zVG9CbG9ja0Nvb2tpZXNGb3IoUEFMOjpTZXNz
aW9uSUQKICAgICB9CiAgICAgCiAgICAgYXV0byBjYWxsYmFja0lkID0gZ2VuZXJhdGVDYWxsYmFj
a0lEKCk7Ci0gICAgYXV0byBhZGRSZXN1bHQgPSBtX3VwZGF0ZUJsb2NrQ29va2llc0NhbGxiYWNr
TWFwLmFkZChjYWxsYmFja0lkLCBbcHJvdGVjdGVkUHJvY2Vzc1Bvb2wgPSBtYWtlUmVmKG1fcHJv
Y2Vzc1Bvb2wpLCB0b2tlbiA9IHRocm90dGxlcigpLmJhY2tncm91bmRBY3Rpdml0eVRva2VuKCks
IGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildKCkgbXV0YWJs
ZSB7CisgICAgYXV0byBhZGRSZXN1bHQgPSBtX3VwZGF0ZUJsb2NrQ29va2llc0NhbGxiYWNrTWFw
LmFkZChjYWxsYmFja0lkLCBbcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpLCB0b2tlbiA9
IHRocm90dGxlcigpLmJhY2tncm91bmRBY3Rpdml0eVRva2VuKCksIGNvbXBsZXRpb25IYW5kbGVy
ID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildKCkgbXV0YWJsZSB7CiAgICAgICAgIGNvbXBs
ZXRpb25IYW5kbGVyKCk7CiAgICAgfSk7CiAgICAgQVNTRVJUX1VOVVNFRChhZGRSZXN1bHQsIGFk
ZFJlc3VsdC5pc05ld0VudHJ5KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
TmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmgKaW5kZXggNmY5NjQ4ZGI4YTBlNzA3YzA3MzRk
MzMwMjM0MDU3YWQxZmE4ZTNhMC4uOWRlZWE2MGNlZDIzNTUyODEwZTg5MTEyNzA2YjNkZWExY2I2
OWVlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3Jr
UHJvY2Vzc1Byb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9OZXR3
b3JrUHJvY2Vzc1Byb3h5LmgKQEAgLTY0LDkgKzY0LDkgQEAgc3RydWN0IE5ldHdvcmtQcm9jZXNz
Q3JlYXRpb25QYXJhbWV0ZXJzOwogY2xhc3MgV2ViVXNlckNvbnRlbnRDb250cm9sbGVyUHJveHk7
CiBzdHJ1Y3QgV2Vic2l0ZURhdGE7CiAKLWNsYXNzIE5ldHdvcmtQcm9jZXNzUHJveHkgOiBwdWJs
aWMgQ2hpbGRQcm9jZXNzUHJveHksIHByaXZhdGUgUHJvY2Vzc1Rocm90dGxlckNsaWVudCB7Citj
bGFzcyBOZXR3b3JrUHJvY2Vzc1Byb3h5IGZpbmFsIDogcHVibGljIENoaWxkUHJvY2Vzc1Byb3h5
LCBwcml2YXRlIFByb2Nlc3NUaHJvdHRsZXJDbGllbnQgewogcHVibGljOgotICAgIHN0YXRpYyBS
ZWY8TmV0d29ya1Byb2Nlc3NQcm94eT4gY3JlYXRlKFdlYlByb2Nlc3NQb29sJik7CisgICAgZXhw
bGljaXQgTmV0d29ya1Byb2Nlc3NQcm94eShXZWJQcm9jZXNzUG9vbCYpOwogICAgIH5OZXR3b3Jr
UHJvY2Vzc1Byb3h5KCk7CiAKICAgICB2b2lkIGdldE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbihN
ZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpHZXROZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb246OkRl
bGF5ZWRSZXBseSYmKTsKQEAgLTg3LDYgKzg3LDkgQEAgcHVibGljOgogICAgIHZvaWQgcmVzZXRD
YWNoZU1heEFnZUNhcEZvclByZXZhbGVudFJlc291cmNlcyhQQUw6OlNlc3Npb25JRCwgQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKICNlbmRpZgogCisgICAgdm9pZCByZWYoKTsKKyAgICB2
b2lkIGRlcmVmKCk7CisKICAgICB2b2lkIHdyaXRlQmxvYlRvRmlsZVBhdGgoY29uc3QgV2ViQ29y
ZTo6VVJMJiwgY29uc3QgU3RyaW5nJiBwYXRoLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wp
PiYmIGNhbGxiYWNrKTsKIAogICAgIHZvaWQgcHJvY2Vzc1JlYWR5VG9TdXNwZW5kKCk7CkBAIC0x
MTAsOCArMTEzLDYgQEAgcHVibGljOgogICAgIHZvaWQgcmVtb3ZlU2Vzc2lvbihQQUw6OlNlc3Np
b25JRCk7CiAKIHByaXZhdGU6Ci0gICAgTmV0d29ya1Byb2Nlc3NQcm94eShXZWJQcm9jZXNzUG9v
bCYpOwotCiAgICAgLy8gQ2hpbGRQcm9jZXNzUHJveHkKICAgICB2b2lkIGdldExhdW5jaE9wdGlv
bnMoUHJvY2Vzc0xhdW5jaGVyOjpMYXVuY2hPcHRpb25zJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBj
b25uZWN0aW9uV2lsbE9wZW4oSVBDOjpDb25uZWN0aW9uJikgb3ZlcnJpZGU7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NQcm94eS5oIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzUHJveHkuaAppbmRl
eCAwOTYwMGIxMjE0ODQ3ZjIwNjAwODkyZjJmNTRkOTNkYzBjOWE0ZTg4Li4zODZhZjAwZGY2MWEz
MjEwOTdkOGVmM2UyYzhlNjJkMTg4ZWNmYmU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmgKQEAgLTY2LDcgKzY2LDcgQEAg
aW50IHBsdWdpblByb2Nlc3NMYXRlbmN5UU9TKCk7CiBpbnQgcGx1Z2luUHJvY2Vzc1Rocm91Z2hw
dXRRT1MoKTsKICNlbmRpZgogCi1jbGFzcyBQbHVnaW5Qcm9jZXNzUHJveHkgOiBwdWJsaWMgQ2hp
bGRQcm9jZXNzUHJveHkgeworY2xhc3MgUGx1Z2luUHJvY2Vzc1Byb3h5IGZpbmFsIDogcHVibGlj
IENoaWxkUHJvY2Vzc1Byb3h5LCBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8UGx1Z2luUHJv
Y2Vzc1Byb3h5PiB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxQbHVnaW5Qcm9jZXNzUHJveHk+
IGNyZWF0ZShQbHVnaW5Qcm9jZXNzTWFuYWdlciosIGNvbnN0IFBsdWdpblByb2Nlc3NBdHRyaWJ1
dGVzJiwgdWludDY0X3QgcGx1Z2luUHJvY2Vzc1Rva2VuKTsKICAgICB+UGx1Z2luUHJvY2Vzc1By
b3h5KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9TdG9yYWdlL1N0b3Jh
Z2VQcm9jZXNzUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvU3RvcmFnZS9TdG9y
YWdlUHJvY2Vzc1Byb3h5LmNwcAppbmRleCA4YmM5YTc0NDZhYTU5N2UyYWRhMWQ1ZGFlMjgzZDU2
NTlhYmM4YmI3Li5kZDQyOWU5MWU5ZGE3MzIzMTdkNmIyZGE5ZDI1YmJjYTA4NGZhMTRkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9TdG9yYWdlL1N0b3JhZ2VQcm9jZXNzUHJv
eHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1N0b3JhZ2UvU3RvcmFnZVByb2Nl
c3NQcm94eS5jcHAKQEAgLTQ0LDExICs0NCw2IEBAIHN0YXRpYyB1aW50NjRfdCBnZW5lcmF0ZVN0
b3JhZ2VQcm9jZXNzQ2FsbGJhY2tJRCgpCiAgICAgcmV0dXJuICsrY2FsbGJhY2tJRDsKIH0KIAot
UmVmPFN0b3JhZ2VQcm9jZXNzUHJveHk+IFN0b3JhZ2VQcm9jZXNzUHJveHk6OmNyZWF0ZShXZWJQ
cm9jZXNzUG9vbCYgcHJvY2Vzc1Bvb2wpCi17Ci0gICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU3Rv
cmFnZVByb2Nlc3NQcm94eShwcm9jZXNzUG9vbCkpOwotfQotCiBTdG9yYWdlUHJvY2Vzc1Byb3h5
OjpTdG9yYWdlUHJvY2Vzc1Byb3h5KFdlYlByb2Nlc3NQb29sJiBwcm9jZXNzUG9vbCkKICAgICA6
IENoaWxkUHJvY2Vzc1Byb3h5KHByb2Nlc3NQb29sLmFsd2F5c1J1bnNBdEJhY2tncm91bmRQcmlv
cml0eSgpKQogICAgICwgbV9wcm9jZXNzUG9vbChwcm9jZXNzUG9vbCkKQEAgLTU3LDYgKzUyLDE2
IEBAIFN0b3JhZ2VQcm9jZXNzUHJveHk6OlN0b3JhZ2VQcm9jZXNzUHJveHkoV2ViUHJvY2Vzc1Bv
b2wmIHByb2Nlc3NQb29sKQogICAgIGNvbm5lY3QoKTsKIH0KIAordm9pZCBTdG9yYWdlUHJvY2Vz
c1Byb3h5OjpyZWYoKQoreworICAgIG1fcHJvY2Vzc1Bvb2wucmVmKCk7Cit9CisKK3ZvaWQgU3Rv
cmFnZVByb2Nlc3NQcm94eTo6ZGVyZWYoKQoreworICAgIG1fcHJvY2Vzc1Bvb2wuZGVyZWYoKTsK
K30KKwogU3RvcmFnZVByb2Nlc3NQcm94eTo6flN0b3JhZ2VQcm9jZXNzUHJveHkoKQogewogICAg
IEFTU0VSVChtX3BlbmRpbmdGZXRjaFdlYnNpdGVEYXRhQ2FsbGJhY2tzLmlzRW1wdHkoKSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9TdG9yYWdlL1N0b3JhZ2VQcm9jZXNz
UHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1N0b3JhZ2UvU3RvcmFnZVByb2Nlc3NQ
cm94eS5oCmluZGV4IGEyNjZjNzdlZWM4M2Y3NjQ2NWQxOWUxNTA2MjgyYzc5OTEwYTlkNjcuLmFl
NzFkZGFiNTZiMWQzYTVjNWUwNDMzOGUyNmRiMTcwY2Q3MmIwZTEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1N0b3JhZ2UvU3RvcmFnZVByb2Nlc3NQcm94eS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1N0b3JhZ2UvU3RvcmFnZVByb2Nlc3NQcm94eS5oCkBAIC00
NywxMSArNDcsMTQgQEAgY2xhc3MgV2ViUHJvY2Vzc1Byb3h5OwogZW51bSBjbGFzcyBXZWJzaXRl
RGF0YVR5cGU7CiBzdHJ1Y3QgV2Vic2l0ZURhdGE7CiAKLWNsYXNzIFN0b3JhZ2VQcm9jZXNzUHJv
eHkgOiBwdWJsaWMgQ2hpbGRQcm9jZXNzUHJveHkgeworY2xhc3MgU3RvcmFnZVByb2Nlc3NQcm94
eSBmaW5hbCA6IHB1YmxpYyBDaGlsZFByb2Nlc3NQcm94eSB7CiBwdWJsaWM6Ci0gICAgc3RhdGlj
IFJlZjxTdG9yYWdlUHJvY2Vzc1Byb3h5PiBjcmVhdGUoV2ViUHJvY2Vzc1Bvb2wmKTsKKyAgICBl
eHBsaWNpdCBTdG9yYWdlUHJvY2Vzc1Byb3h5KFdlYlByb2Nlc3NQb29sJik7CiAgICAgflN0b3Jh
Z2VQcm9jZXNzUHJveHkoKTsKIAorICAgIHZvaWQgcmVmKCk7CisgICAgdm9pZCBkZXJlZigpOwor
CiAgICAgdm9pZCBmZXRjaFdlYnNpdGVEYXRhKFBBTDo6U2Vzc2lvbklELCBPcHRpb25TZXQ8V2Vi
c2l0ZURhdGFUeXBlPiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJzaXRlRGF0YSk+JiYpOwog
ICAgIHZvaWQgZGVsZXRlV2Vic2l0ZURhdGEoUEFMOjpTZXNzaW9uSUQsIE9wdGlvblNldDxXZWJz
aXRlRGF0YVR5cGU+LCBXYWxsVGltZSBtb2RpZmllZFNpbmNlLCBDb21wbGV0aW9uSGFuZGxlcjx2
b2lkKCk+JiYpOwogICAgIHZvaWQgZGVsZXRlV2Vic2l0ZURhdGFGb3JPcmlnaW5zKFBBTDo6U2Vz
c2lvbklELCBPcHRpb25TZXQ8V2Vic2l0ZURhdGFUeXBlPiwgY29uc3QgVmVjdG9yPFdlYkNvcmU6
OlNlY3VyaXR5T3JpZ2luRGF0YT4mLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwpAQCAt
NjEsOCArNjQsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCB0ZXJtaW5hdGVGb3JUZXN0aW5nKCk7CiAK
IHByaXZhdGU6Ci0gICAgU3RvcmFnZVByb2Nlc3NQcm94eShXZWJQcm9jZXNzUG9vbCYpOwotCiAg
ICAgLy8gQ2hpbGRQcm9jZXNzUHJveHkKICAgICB2b2lkIGdldExhdW5jaE9wdGlvbnMoUHJvY2Vz
c0xhdW5jaGVyOjpMYXVuY2hPcHRpb25zJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBwcm9jZXNzV2ls
bFNodXREb3duKElQQzo6Q29ubmVjdGlvbiYpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCmluZGV4IGY4ODA2OTA4NTNkYmRhMDYxNTQ1YjBjZmQ5
ZWNhOGE0YjUyOTYwZGUuLjc4YTVkZGNlN2MxYTM3NGY3M2UzOGE4OGJkMDFmODRkN2Q3ZGJiYzcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKQEAgLTQ3MSw3
ICs0NzEsNyBAQCBOZXR3b3JrUHJvY2Vzc1Byb3h5JiBXZWJQcm9jZXNzUG9vbDo6ZW5zdXJlTmV0
d29ya1Byb2Nlc3MoV2Vic2l0ZURhdGFTdG9yZSogd2l0aAogICAgICAgICByZXR1cm4gKm1fbmV0
d29ya1Byb2Nlc3M7CiAgICAgfQogCi0gICAgbV9uZXR3b3JrUHJvY2VzcyA9IE5ldHdvcmtQcm9j
ZXNzUHJveHk6OmNyZWF0ZSgqdGhpcyk7CisgICAgbV9uZXR3b3JrUHJvY2VzcyA9IHN0ZDo6bWFr
ZV91bmlxdWU8TmV0d29ya1Byb2Nlc3NQcm94eT4oKnRoaXMpOwogCiAgICAgTmV0d29ya1Byb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnMgcGFyYW1ldGVyczsKIApAQCAtNjEyLDcgKzYxMiw3IEBAIHZv
aWQgV2ViUHJvY2Vzc1Bvb2w6OmVuc3VyZVN0b3JhZ2VQcm9jZXNzQW5kV2Vic2l0ZURhdGFTdG9y
ZShXZWJzaXRlRGF0YVN0b3JlKiByCiAgICAgICAgIHBhcmFtZXRlcnMuc2hvdWxkRGlzYWJsZVNl
cnZpY2VXb3JrZXJQcm9jZXNzVGVybWluYXRpb25EZWxheSA9IG1fc2hvdWxkRGlzYWJsZVNlcnZp
Y2VXb3JrZXJQcm9jZXNzVGVybWluYXRpb25EZWxheTsKICNlbmRpZgogCi0gICAgICAgIG1fc3Rv
cmFnZVByb2Nlc3MgPSBTdG9yYWdlUHJvY2Vzc1Byb3h5OjpjcmVhdGUoKnRoaXMpOworICAgICAg
ICBtX3N0b3JhZ2VQcm9jZXNzID0gc3RkOjptYWtlX3VuaXF1ZTxTdG9yYWdlUHJvY2Vzc1Byb3h5
PigqdGhpcyk7CiAgICAgICAgIG1fc3RvcmFnZVByb2Nlc3MtPnNlbmQoTWVzc2FnZXM6OlN0b3Jh
Z2VQcm9jZXNzOjpJbml0aWFsaXplV2Vic2l0ZURhdGFTdG9yZShwYXJhbWV0ZXJzKSwgMCk7CiAg
ICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9v
bC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaAppbmRleCAzOTM1
MTg0OGY1Zjg2YTRhZTM2NmRkOTYyNzM1NmE2OWRlMjAxZjk1Li5kZDQ1YjUxYjllMzEwMzEwOTBi
NTQzZjk0YTNkMGIzYmQ3NTMwYTk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQcm9jZXNzUG9vbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nl
c3NQb29sLmgKQEAgLTYyNiw4ICs2MjYsOCBAQCBwcml2YXRlOgogCiAgICAgYm9vbCBtX2Nhbkhh
bmRsZUhUVFBTU2VydmVyVHJ1c3RFdmFsdWF0aW9uIHsgdHJ1ZSB9OwogICAgIGJvb2wgbV9kaWRO
ZXR3b3JrUHJvY2Vzc0NyYXNoIHsgZmFsc2UgfTsKLSAgICBSZWZQdHI8TmV0d29ya1Byb2Nlc3NQ
cm94eT4gbV9uZXR3b3JrUHJvY2VzczsKLSAgICBSZWZQdHI8U3RvcmFnZVByb2Nlc3NQcm94eT4g
bV9zdG9yYWdlUHJvY2VzczsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8TmV0d29ya1Byb2Nlc3NQcm94
eT4gbV9uZXR3b3JrUHJvY2VzczsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8U3RvcmFnZVByb2Nlc3NQ
cm94eT4gbV9zdG9yYWdlUHJvY2VzczsKIAogICAgIEhhc2hNYXA8dWludDY0X3QsIFJlZlB0cjxE
aWN0aW9uYXJ5Q2FsbGJhY2s+PiBtX2RpY3Rpb25hcnlDYWxsYmFja3M7CiAgICAgSGFzaE1hcDx1
aW50NjRfdCwgUmVmUHRyPFN0YXRpc3RpY3NSZXF1ZXN0Pj4gbV9zdGF0aXN0aWNzUmVxdWVzdHM7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaCBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCmluZGV4IDdkODA4NWIz
NDVmNWVlZWJhZDJkM2NiYzhhY2U3MWMzMDYzY2IzZTEuLmY3YmM3MzMzYjk4NWU5YmI3MWUwYjNh
ZDMzNWU3MTY3N2JkNWEwOWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlByb2Nlc3NQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQ
cm94eS5oCkBAIC05MSw3ICs5MSw3IEBAIHR5cGVkZWYgUmVmQ291bnRlcjxCYWNrZ3JvdW5kV2Vi
UHJvY2Vzc0NvdW50ZXJUeXBlPiBCYWNrZ3JvdW5kV2ViUHJvY2Vzc0NvdW50ZXI7CiB0eXBlZGVm
IEJhY2tncm91bmRXZWJQcm9jZXNzQ291bnRlcjo6VG9rZW4gQmFja2dyb3VuZFdlYlByb2Nlc3NU
b2tlbjsKICNlbmRpZgogCi1jbGFzcyBXZWJQcm9jZXNzUHJveHkgOiBwdWJsaWMgQ2hpbGRQcm9j
ZXNzUHJveHksIHB1YmxpYyBSZXNwb25zaXZlbmVzc1RpbWVyOjpDbGllbnQsIHByaXZhdGUgUHJv
Y2Vzc1Rocm90dGxlckNsaWVudCB7CitjbGFzcyBXZWJQcm9jZXNzUHJveHkgOiBwdWJsaWMgQ2hp
bGRQcm9jZXNzUHJveHksIHB1YmxpYyBSZXNwb25zaXZlbmVzc1RpbWVyOjpDbGllbnQsIHB1Ymxp
YyBUaHJlYWRTYWZlUmVmQ291bnRlZDxXZWJQcm9jZXNzUHJveHk+LCBwcml2YXRlIFByb2Nlc3NU
aHJvdHRsZXJDbGllbnQgewogcHVibGljOgogICAgIHR5cGVkZWYgSGFzaE1hcDx1aW50NjRfdCwg
UmVmUHRyPFdlYkZyYW1lUHJveHk+PiBXZWJGcmFtZVByb3h5TWFwOwogICAgIHR5cGVkZWYgSGFz
aE1hcDx1aW50NjRfdCwgV2ViUGFnZVByb3h5Kj4gV2ViUGFnZVByb3h5TWFwOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>350426</attachid>
            <date>2018-09-21 14:14:21 -0700</date>
            <delta_ts>2018-09-24 15:15:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189851-20180921141421.patch</filename>
            <type>text/plain</type>
            <size>13433</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM2MzQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDFiODU5MDcwZGExY2MwNTg0
MWUzZDAwMDJmYzA5ZGMwNzcxNjgxOTEuLmY5ZmRkYmUwNDgxNjNmMmM1ODUyZDk0NGQzNjZiZGNk
Y2E2YjE4MDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDEgQEAKKzIwMTgtMDktMjEgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBFeHRlbmRpbmcgdGhlIGxpZmV0aW1l
IG9mIGEgTmV0d29ya1Byb2Nlc3NQcm94eSAvIFN0b3JhZ2VQcm9jZXNzUHJveHkgbWF5IGNhdXNl
IGl0IHRvIGhhdmUgYSBzdGFsZSBXZWJQcm9jZXNzUG9vbCBwb2ludGVyCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODk4NTEKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFeHRlbmRpbmcgdGhlIGxpZmV0aW1l
IG9mIGEgTmV0d29ya1Byb2Nlc3NQcm94eSAvIFN0b3JhZ2VQcm9jZXNzUHJveHkgbWF5IGNhdXNl
IGl0IHRvIGhhdmUgYSBzdGFsZSBXZWJQcm9jZXNzUG9vbCBwb2ludGVyOgorICAgICAgICAtIE5l
dHdvcmtQcm9jZXNzUHJveHk6Om1fcHJvY2Vzc1Bvb2wKKyAgICAgICAgLSBTdG9yYWdlUHJvY2Vz
c1Byb3h5OjptX3Byb2Nlc3NQb29sCisKKyAgICAgICAgVGhvc2UgZGF0YSBtZW1iZXJzIGFyZSBD
KysgcmVmZXJlbmNlcyBiZWNhdXNlIGl0IGlzIGV4cGVjdGVkIHRoYXQgdGhlIFdlYlByb2Nlc3NQ
b29sIG93bnMgdGhlIE5ldHdvcmtQcm9jZXNzUHJveHkgYW5kCisgICAgICAgIFN0b3JhZ2VQcm9j
ZXNzUHJveHkuIEhvd2V2ZXIsIHNpbmNlIE5ldHdvcmtQcm9jZXNzUHJveHkgLyBTdG9yYWdlUHJv
Y2Vzc1Byb3h5IGFyZSByZWZjb3VudGVkLCBpdCBoYXMgaGFwcGVuZWQgdGhhdCBjb2RlCisgICAg
ICAgIGV4dGVuZHMgdGhlIGxpZmV0aW1lIG9mIHRob3NlIHBhc3QgdGhlaXIgcHJvY2VzcyBwb29s
LCBsZWFkaW5nIHRvIHN0YWxlIHBycm9jZXNzIHBvb2wgdXNhZ2UuIFRoZSBmaXggZm9yIHRoZXNl
IGNyYXNoZXMKKyAgICAgICAgc28gZmFyIGFzIGJlZW4gdG8gcmVmIHRoZSBXZWJQcm9jZXNzUG9v
bCBpbnN0ZWFkIG9mIHRoZSBOZXR3b3JrUHJvY2Vzc1Byb3h5IC8gU3RvcmFnZVByb2Nlc3NQcm94
eS4gSG93ZXZlciwgZ2l2ZW4gaG93CisgICAgICAgIGVycm9yLXByb25lIHRoaXMgaXMsIHRoaXMg
cGF0Y2ggdXBkYXRlcyBOZXR3b3JrUHJvY2Vzc1Byb3h5IC8gU3RvcmFnZVByb2Nlc3NQcm94eSBz
byB0aGF0IHRoZXkgZm9yd2FyZCB0aGVpciByZWZjb3VudGluZworICAgICAgICB0byB0aGUgV2Vi
UHJvY2Vzc1Bvb2wuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQ2hpbGRQcm9jZXNzUHJveHkuaDoK
KyAgICAgICAgKiBVSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3NQcm94eTo6cmVmKToKKyAgICAgICAgKFdlYktp
dDo6TmV0d29ya1Byb2Nlc3NQcm94eTo6ZGVyZWYpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3Jr
UHJvY2Vzc1Byb3h5OjpkaWRDbG9zZSk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNz
UHJveHk6OnVwZGF0ZVByZXZhbGVudERvbWFpbnNUb0Jsb2NrQ29va2llc0Zvcik6CisgICAgICAg
IChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzUHJveHk6OmNyZWF0ZSk6IERlbGV0ZWQuCisgICAgICAg
ICogVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5oOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vz
cy9TdG9yYWdlL1N0b3JhZ2VQcm9jZXNzUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpTdG9y
YWdlUHJvY2Vzc1Byb3h5OjpyZWYpOgorICAgICAgICAoV2ViS2l0OjpTdG9yYWdlUHJvY2Vzc1By
b3h5OjpkZXJlZik6CisgICAgICAgIChXZWJLaXQ6OlN0b3JhZ2VQcm9jZXNzUHJveHk6OmNyZWF0
ZSk6IERlbGV0ZWQuCisgICAgICAgICogVUlQcm9jZXNzL1N0b3JhZ2UvU3RvcmFnZVByb2Nlc3NQ
cm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHA6CisgICAgICAg
IChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjplbnN1cmVOZXR3b3JrUHJvY2Vzcyk6CisgICAgICAg
IChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjplbnN1cmVTdG9yYWdlUHJvY2Vzc0FuZFdlYnNpdGVE
YXRhU3RvcmUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaDoKKwogMjAxOC0wOS0yMSAgQ2hyaXMgRHVt
ZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFJlZ3Jlc3Npb24oTW9qYXZlKTogUmVz
dW1pbmcgYSBXSzIgZG93bmxvYWQgY3Jhc2hlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQ2hpbGRQcm9jZXNzUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0No
aWxkUHJvY2Vzc1Byb3h5LmgKaW5kZXggMmQ1ZjE1YzZmNDgzOThlMWQ3MGFhYTQzY2ZlMjdiNjM2
NzBjOGVkYy4uYzg5MTI3OTQzZTMwYjljYmRjOWVmZTFlMjg4NmUyZDA2ZTFiYmU1OSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ2hpbGRQcm9jZXNzUHJveHkuaAorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9DaGlsZFByb2Nlc3NQcm94eS5oCkBAIC0zNiw3ICszNiw3
IEBACiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1jbGFzcyBDaGlsZFByb2Nlc3NQcm94eSA6IFBy
b2Nlc3NMYXVuY2hlcjo6Q2xpZW50LCBwdWJsaWMgSVBDOjpDb25uZWN0aW9uOjpDbGllbnQsIHB1
YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxDaGlsZFByb2Nlc3NQcm94eT4geworY2xhc3MgQ2hp
bGRQcm9jZXNzUHJveHkgOiBQcm9jZXNzTGF1bmNoZXI6OkNsaWVudCwgcHVibGljIElQQzo6Q29u
bmVjdGlvbjo6Q2xpZW50IHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDaGlsZFByb2Nlc3NQ
cm94eSk7CiAKIHByb3RlY3RlZDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuY3BwCmluZGV4IDgxMGRhZjkxZDRjMzI1OGUw
ZTMzMDA0YWYyMDBlZDM4ZWJlOTY3YzkuLjRiMTJhYWYxNWE3ZDc5N2YyNDM1MjgzNzJhNDk3ZjM2
YzhjYWFkYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsvTmV0
d29ya1Byb2Nlc3NQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29y
ay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmNwcApAQCAtNjYsMTEgKzY2LDYgQEAgc3RhdGljIHVpbnQ2
NF90IGdlbmVyYXRlQ2FsbGJhY2tJRCgpCiAgICAgcmV0dXJuICsrY2FsbGJhY2tJRDsKIH0KIAot
UmVmPE5ldHdvcmtQcm9jZXNzUHJveHk+IE5ldHdvcmtQcm9jZXNzUHJveHk6OmNyZWF0ZShXZWJQ
cm9jZXNzUG9vbCYgcHJvY2Vzc1Bvb2wpCi17Ci0gICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTmV0
d29ya1Byb2Nlc3NQcm94eShwcm9jZXNzUG9vbCkpOwotfQotCiBOZXR3b3JrUHJvY2Vzc1Byb3h5
OjpOZXR3b3JrUHJvY2Vzc1Byb3h5KFdlYlByb2Nlc3NQb29sJiBwcm9jZXNzUG9vbCkKICAgICA6
IENoaWxkUHJvY2Vzc1Byb3h5KHByb2Nlc3NQb29sLmFsd2F5c1J1bnNBdEJhY2tncm91bmRQcmlv
cml0eSgpKQogICAgICwgbV9wcm9jZXNzUG9vbChwcm9jZXNzUG9vbCkKQEAgLTk3LDYgKzkyLDE2
IEBAIE5ldHdvcmtQcm9jZXNzUHJveHk6On5OZXR3b3JrUHJvY2Vzc1Byb3h5KCkKICNlbmRpZgog
fQogCit2b2lkIE5ldHdvcmtQcm9jZXNzUHJveHk6OnJlZigpCit7CisgICAgbV9wcm9jZXNzUG9v
bC5yZWYoKTsKK30KKwordm9pZCBOZXR3b3JrUHJvY2Vzc1Byb3h5OjpkZXJlZigpCit7CisgICAg
bV9wcm9jZXNzUG9vbC5kZXJlZigpOworfQorCiB2b2lkIE5ldHdvcmtQcm9jZXNzUHJveHk6Omdl
dExhdW5jaE9wdGlvbnMoUHJvY2Vzc0xhdW5jaGVyOjpMYXVuY2hPcHRpb25zJiBsYXVuY2hPcHRp
b25zKQogewogICAgIGxhdW5jaE9wdGlvbnMucHJvY2Vzc1R5cGUgPSBQcm9jZXNzTGF1bmNoZXI6
OlByb2Nlc3NUeXBlOjpOZXR3b3JrOwpAQCAtMjQ4LDcgKzI1Myw3IEBAIHZvaWQgTmV0d29ya1By
b2Nlc3NQcm94eTo6ZGlkUmVjZWl2ZVN5bmNNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYgY29ubmVj
dGlvbiwgSVBDCiAKIHZvaWQgTmV0d29ya1Byb2Nlc3NQcm94eTo6ZGlkQ2xvc2UoSVBDOjpDb25u
ZWN0aW9uJikKIHsKLSAgICBhdXRvIHByb3RlY3RlZFByb2Nlc3NQb29sID0gbWFrZVJlZihtX3By
b2Nlc3NQb29sKTsKKyAgICBhdXRvIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKTsKIAog
ICAgIGlmIChtX2Rvd25sb2FkUHJveHlNYXApCiAgICAgICAgIG1fZG93bmxvYWRQcm94eU1hcC0+
cHJvY2Vzc0RpZENsb3NlKCk7CkBAIC00MDAsNyArNDA1LDcgQEAgdm9pZCBOZXR3b3JrUHJvY2Vz
c1Byb3h5Ojp1cGRhdGVQcmV2YWxlbnREb21haW5zVG9CbG9ja0Nvb2tpZXNGb3IoUEFMOjpTZXNz
aW9uSUQKICAgICB9CiAgICAgCiAgICAgYXV0byBjYWxsYmFja0lkID0gZ2VuZXJhdGVDYWxsYmFj
a0lEKCk7Ci0gICAgYXV0byBhZGRSZXN1bHQgPSBtX3VwZGF0ZUJsb2NrQ29va2llc0NhbGxiYWNr
TWFwLmFkZChjYWxsYmFja0lkLCBbcHJvdGVjdGVkUHJvY2Vzc1Bvb2wgPSBtYWtlUmVmKG1fcHJv
Y2Vzc1Bvb2wpLCB0b2tlbiA9IHRocm90dGxlcigpLmJhY2tncm91bmRBY3Rpdml0eVRva2VuKCks
IGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildKCkgbXV0YWJs
ZSB7CisgICAgYXV0byBhZGRSZXN1bHQgPSBtX3VwZGF0ZUJsb2NrQ29va2llc0NhbGxiYWNrTWFw
LmFkZChjYWxsYmFja0lkLCBbcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpLCB0b2tlbiA9
IHRocm90dGxlcigpLmJhY2tncm91bmRBY3Rpdml0eVRva2VuKCksIGNvbXBsZXRpb25IYW5kbGVy
ID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildKCkgbXV0YWJsZSB7CiAgICAgICAgIGNvbXBs
ZXRpb25IYW5kbGVyKCk7CiAgICAgfSk7CiAgICAgQVNTRVJUX1VOVVNFRChhZGRSZXN1bHQsIGFk
ZFJlc3VsdC5pc05ld0VudHJ5KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
TmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmgKaW5kZXggNmY5NjQ4ZGI4YTBlNzA3YzA3MzRk
MzMwMjM0MDU3YWQxZmE4ZTNhMC4uOWRlZWE2MGNlZDIzNTUyODEwZTg5MTEyNzA2YjNkZWExY2I2
OWVlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3Jr
UHJvY2Vzc1Byb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9OZXR3
b3JrUHJvY2Vzc1Byb3h5LmgKQEAgLTY0LDkgKzY0LDkgQEAgc3RydWN0IE5ldHdvcmtQcm9jZXNz
Q3JlYXRpb25QYXJhbWV0ZXJzOwogY2xhc3MgV2ViVXNlckNvbnRlbnRDb250cm9sbGVyUHJveHk7
CiBzdHJ1Y3QgV2Vic2l0ZURhdGE7CiAKLWNsYXNzIE5ldHdvcmtQcm9jZXNzUHJveHkgOiBwdWJs
aWMgQ2hpbGRQcm9jZXNzUHJveHksIHByaXZhdGUgUHJvY2Vzc1Rocm90dGxlckNsaWVudCB7Citj
bGFzcyBOZXR3b3JrUHJvY2Vzc1Byb3h5IGZpbmFsIDogcHVibGljIENoaWxkUHJvY2Vzc1Byb3h5
LCBwcml2YXRlIFByb2Nlc3NUaHJvdHRsZXJDbGllbnQgewogcHVibGljOgotICAgIHN0YXRpYyBS
ZWY8TmV0d29ya1Byb2Nlc3NQcm94eT4gY3JlYXRlKFdlYlByb2Nlc3NQb29sJik7CisgICAgZXhw
bGljaXQgTmV0d29ya1Byb2Nlc3NQcm94eShXZWJQcm9jZXNzUG9vbCYpOwogICAgIH5OZXR3b3Jr
UHJvY2Vzc1Byb3h5KCk7CiAKICAgICB2b2lkIGdldE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbihN
ZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpHZXROZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb246OkRl
bGF5ZWRSZXBseSYmKTsKQEAgLTg3LDYgKzg3LDkgQEAgcHVibGljOgogICAgIHZvaWQgcmVzZXRD
YWNoZU1heEFnZUNhcEZvclByZXZhbGVudFJlc291cmNlcyhQQUw6OlNlc3Npb25JRCwgQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKICNlbmRpZgogCisgICAgdm9pZCByZWYoKTsKKyAgICB2
b2lkIGRlcmVmKCk7CisKICAgICB2b2lkIHdyaXRlQmxvYlRvRmlsZVBhdGgoY29uc3QgV2ViQ29y
ZTo6VVJMJiwgY29uc3QgU3RyaW5nJiBwYXRoLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wp
PiYmIGNhbGxiYWNrKTsKIAogICAgIHZvaWQgcHJvY2Vzc1JlYWR5VG9TdXNwZW5kKCk7CkBAIC0x
MTAsOCArMTEzLDYgQEAgcHVibGljOgogICAgIHZvaWQgcmVtb3ZlU2Vzc2lvbihQQUw6OlNlc3Np
b25JRCk7CiAKIHByaXZhdGU6Ci0gICAgTmV0d29ya1Byb2Nlc3NQcm94eShXZWJQcm9jZXNzUG9v
bCYpOwotCiAgICAgLy8gQ2hpbGRQcm9jZXNzUHJveHkKICAgICB2b2lkIGdldExhdW5jaE9wdGlv
bnMoUHJvY2Vzc0xhdW5jaGVyOjpMYXVuY2hPcHRpb25zJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBj
b25uZWN0aW9uV2lsbE9wZW4oSVBDOjpDb25uZWN0aW9uJikgb3ZlcnJpZGU7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NQcm94eS5oIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzUHJveHkuaAppbmRl
eCAwOTYwMGIxMjE0ODQ3ZjIwNjAwODkyZjJmNTRkOTNkYzBjOWE0ZTg4Li4zODZhZjAwZGY2MWEz
MjEwOTdkOGVmM2UyYzhlNjJkMTg4ZWNmYmU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmgKQEAgLTY2LDcgKzY2LDcgQEAg
aW50IHBsdWdpblByb2Nlc3NMYXRlbmN5UU9TKCk7CiBpbnQgcGx1Z2luUHJvY2Vzc1Rocm91Z2hw
dXRRT1MoKTsKICNlbmRpZgogCi1jbGFzcyBQbHVnaW5Qcm9jZXNzUHJveHkgOiBwdWJsaWMgQ2hp
bGRQcm9jZXNzUHJveHkgeworY2xhc3MgUGx1Z2luUHJvY2Vzc1Byb3h5IGZpbmFsIDogcHVibGlj
IENoaWxkUHJvY2Vzc1Byb3h5LCBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8UGx1Z2luUHJv
Y2Vzc1Byb3h5PiB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxQbHVnaW5Qcm9jZXNzUHJveHk+
IGNyZWF0ZShQbHVnaW5Qcm9jZXNzTWFuYWdlciosIGNvbnN0IFBsdWdpblByb2Nlc3NBdHRyaWJ1
dGVzJiwgdWludDY0X3QgcGx1Z2luUHJvY2Vzc1Rva2VuKTsKICAgICB+UGx1Z2luUHJvY2Vzc1By
b3h5KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9TdG9yYWdlL1N0b3Jh
Z2VQcm9jZXNzUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvU3RvcmFnZS9TdG9y
YWdlUHJvY2Vzc1Byb3h5LmNwcAppbmRleCA4YmM5YTc0NDZhYTU5N2UyYWRhMWQ1ZGFlMjgzZDU2
NTlhYmM4YmI3Li5kZDQyOWU5MWU5ZGE3MzIzMTdkNmIyZGE5ZDI1YmJjYTA4NGZhMTRkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9TdG9yYWdlL1N0b3JhZ2VQcm9jZXNzUHJv
eHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1N0b3JhZ2UvU3RvcmFnZVByb2Nl
c3NQcm94eS5jcHAKQEAgLTQ0LDExICs0NCw2IEBAIHN0YXRpYyB1aW50NjRfdCBnZW5lcmF0ZVN0
b3JhZ2VQcm9jZXNzQ2FsbGJhY2tJRCgpCiAgICAgcmV0dXJuICsrY2FsbGJhY2tJRDsKIH0KIAot
UmVmPFN0b3JhZ2VQcm9jZXNzUHJveHk+IFN0b3JhZ2VQcm9jZXNzUHJveHk6OmNyZWF0ZShXZWJQ
cm9jZXNzUG9vbCYgcHJvY2Vzc1Bvb2wpCi17Ci0gICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU3Rv
cmFnZVByb2Nlc3NQcm94eShwcm9jZXNzUG9vbCkpOwotfQotCiBTdG9yYWdlUHJvY2Vzc1Byb3h5
OjpTdG9yYWdlUHJvY2Vzc1Byb3h5KFdlYlByb2Nlc3NQb29sJiBwcm9jZXNzUG9vbCkKICAgICA6
IENoaWxkUHJvY2Vzc1Byb3h5KHByb2Nlc3NQb29sLmFsd2F5c1J1bnNBdEJhY2tncm91bmRQcmlv
cml0eSgpKQogICAgICwgbV9wcm9jZXNzUG9vbChwcm9jZXNzUG9vbCkKQEAgLTU3LDYgKzUyLDE2
IEBAIFN0b3JhZ2VQcm9jZXNzUHJveHk6OlN0b3JhZ2VQcm9jZXNzUHJveHkoV2ViUHJvY2Vzc1Bv
b2wmIHByb2Nlc3NQb29sKQogICAgIGNvbm5lY3QoKTsKIH0KIAordm9pZCBTdG9yYWdlUHJvY2Vz
c1Byb3h5OjpyZWYoKQoreworICAgIG1fcHJvY2Vzc1Bvb2wucmVmKCk7Cit9CisKK3ZvaWQgU3Rv
cmFnZVByb2Nlc3NQcm94eTo6ZGVyZWYoKQoreworICAgIG1fcHJvY2Vzc1Bvb2wuZGVyZWYoKTsK
K30KKwogU3RvcmFnZVByb2Nlc3NQcm94eTo6flN0b3JhZ2VQcm9jZXNzUHJveHkoKQogewogICAg
IEFTU0VSVChtX3BlbmRpbmdGZXRjaFdlYnNpdGVEYXRhQ2FsbGJhY2tzLmlzRW1wdHkoKSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9TdG9yYWdlL1N0b3JhZ2VQcm9jZXNz
UHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1N0b3JhZ2UvU3RvcmFnZVByb2Nlc3NQ
cm94eS5oCmluZGV4IGEyNjZjNzdlZWM4M2Y3NjQ2NWQxOWUxNTA2MjgyYzc5OTEwYTlkNjcuLmFl
NzFkZGFiNTZiMWQzYTVjNWUwNDMzOGUyNmRiMTcwY2Q3MmIwZTEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1N0b3JhZ2UvU3RvcmFnZVByb2Nlc3NQcm94eS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1N0b3JhZ2UvU3RvcmFnZVByb2Nlc3NQcm94eS5oCkBAIC00
NywxMSArNDcsMTQgQEAgY2xhc3MgV2ViUHJvY2Vzc1Byb3h5OwogZW51bSBjbGFzcyBXZWJzaXRl
RGF0YVR5cGU7CiBzdHJ1Y3QgV2Vic2l0ZURhdGE7CiAKLWNsYXNzIFN0b3JhZ2VQcm9jZXNzUHJv
eHkgOiBwdWJsaWMgQ2hpbGRQcm9jZXNzUHJveHkgeworY2xhc3MgU3RvcmFnZVByb2Nlc3NQcm94
eSBmaW5hbCA6IHB1YmxpYyBDaGlsZFByb2Nlc3NQcm94eSB7CiBwdWJsaWM6Ci0gICAgc3RhdGlj
IFJlZjxTdG9yYWdlUHJvY2Vzc1Byb3h5PiBjcmVhdGUoV2ViUHJvY2Vzc1Bvb2wmKTsKKyAgICBl
eHBsaWNpdCBTdG9yYWdlUHJvY2Vzc1Byb3h5KFdlYlByb2Nlc3NQb29sJik7CiAgICAgflN0b3Jh
Z2VQcm9jZXNzUHJveHkoKTsKIAorICAgIHZvaWQgcmVmKCk7CisgICAgdm9pZCBkZXJlZigpOwor
CiAgICAgdm9pZCBmZXRjaFdlYnNpdGVEYXRhKFBBTDo6U2Vzc2lvbklELCBPcHRpb25TZXQ8V2Vi
c2l0ZURhdGFUeXBlPiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJzaXRlRGF0YSk+JiYpOwog
ICAgIHZvaWQgZGVsZXRlV2Vic2l0ZURhdGEoUEFMOjpTZXNzaW9uSUQsIE9wdGlvblNldDxXZWJz
aXRlRGF0YVR5cGU+LCBXYWxsVGltZSBtb2RpZmllZFNpbmNlLCBDb21wbGV0aW9uSGFuZGxlcjx2
b2lkKCk+JiYpOwogICAgIHZvaWQgZGVsZXRlV2Vic2l0ZURhdGFGb3JPcmlnaW5zKFBBTDo6U2Vz
c2lvbklELCBPcHRpb25TZXQ8V2Vic2l0ZURhdGFUeXBlPiwgY29uc3QgVmVjdG9yPFdlYkNvcmU6
OlNlY3VyaXR5T3JpZ2luRGF0YT4mLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwpAQCAt
NjEsOCArNjQsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCB0ZXJtaW5hdGVGb3JUZXN0aW5nKCk7CiAK
IHByaXZhdGU6Ci0gICAgU3RvcmFnZVByb2Nlc3NQcm94eShXZWJQcm9jZXNzUG9vbCYpOwotCiAg
ICAgLy8gQ2hpbGRQcm9jZXNzUHJveHkKICAgICB2b2lkIGdldExhdW5jaE9wdGlvbnMoUHJvY2Vz
c0xhdW5jaGVyOjpMYXVuY2hPcHRpb25zJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBwcm9jZXNzV2ls
bFNodXREb3duKElQQzo6Q29ubmVjdGlvbiYpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCmluZGV4IGY4ODA2OTA4NTNkYmRhMDYxNTQ1YjBjZmQ5
ZWNhOGE0YjUyOTYwZGUuLjk5MjdjYzkzNjNlMGQ3YzM5MDMyN2ExMzgxMjc3YzQzYmJmYTBkMmIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKQEAgLTQ3MSw3
ICs0NzEsNyBAQCBOZXR3b3JrUHJvY2Vzc1Byb3h5JiBXZWJQcm9jZXNzUG9vbDo6ZW5zdXJlTmV0
d29ya1Byb2Nlc3MoV2Vic2l0ZURhdGFTdG9yZSogd2l0aAogICAgICAgICByZXR1cm4gKm1fbmV0
d29ya1Byb2Nlc3M7CiAgICAgfQogCi0gICAgbV9uZXR3b3JrUHJvY2VzcyA9IE5ldHdvcmtQcm9j
ZXNzUHJveHk6OmNyZWF0ZSgqdGhpcyk7CisgICAgbV9uZXR3b3JrUHJvY2VzcyA9IHN0ZDo6bWFr
ZV91bmlxdWU8TmV0d29ya1Byb2Nlc3NQcm94eT4oKnRoaXMpOwogCiAgICAgTmV0d29ya1Byb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnMgcGFyYW1ldGVyczsKIApAQCAtNjEyLDcgKzYxMiw3IEBAIHZv
aWQgV2ViUHJvY2Vzc1Bvb2w6OmVuc3VyZVN0b3JhZ2VQcm9jZXNzQW5kV2Vic2l0ZURhdGFTdG9y
ZShXZWJzaXRlRGF0YVN0b3JlKiByCiAgICAgICAgIHBhcmFtZXRlcnMuc2hvdWxkRGlzYWJsZVNl
cnZpY2VXb3JrZXJQcm9jZXNzVGVybWluYXRpb25EZWxheSA9IG1fc2hvdWxkRGlzYWJsZVNlcnZp
Y2VXb3JrZXJQcm9jZXNzVGVybWluYXRpb25EZWxheTsKICNlbmRpZgogCi0gICAgICAgIG1fc3Rv
cmFnZVByb2Nlc3MgPSBTdG9yYWdlUHJvY2Vzc1Byb3h5OjpjcmVhdGUoKnRoaXMpOworICAgICAg
ICBtX3N0b3JhZ2VQcm9jZXNzID0gc3RkOjptYWtlX3VuaXF1ZTxTdG9yYWdlUHJvY2Vzc1Byb3h5
PigqdGhpcyk7CiAgICAgICAgIG1fc3RvcmFnZVByb2Nlc3MtPnNlbmQoTWVzc2FnZXM6OlN0b3Jh
Z2VQcm9jZXNzOjpJbml0aWFsaXplV2Vic2l0ZURhdGFTdG9yZShwYXJhbWV0ZXJzKSwgMCk7CiAg
ICAgfQogCkBAIC02NDgsNyArNjQ4LDcgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6c3RvcmFnZVBy
b2Nlc3NDcmFzaGVkKFN0b3JhZ2VQcm9jZXNzUHJveHkqIHN0b3JhZ2VQcm9jZXNzUHIKICNpZiBF
TkFCTEUoU0VSVklDRV9XT1JLRVIpCiB2b2lkIFdlYlByb2Nlc3NQb29sOjplc3RhYmxpc2hXb3Jr
ZXJDb250ZXh0Q29ubmVjdGlvblRvU3RvcmFnZVByb2Nlc3MoU3RvcmFnZVByb2Nlc3NQcm94eSYg
cHJveHksIFNlY3VyaXR5T3JpZ2luRGF0YSYmIHNlY3VyaXR5T3JpZ2luLCBzdGQ6Om9wdGlvbmFs
PFBBTDo6U2Vzc2lvbklEPiBzZXNzaW9uSUQpCiB7Ci0gICAgQVNTRVJUX1VOVVNFRChwcm94eSwg
JnByb3h5ID09IG1fc3RvcmFnZVByb2Nlc3MpOworICAgIEFTU0VSVF9VTlVTRUQocHJveHksICZw
cm94eSA9PSBtX3N0b3JhZ2VQcm9jZXNzLmdldCgpKTsKIAogICAgIGlmIChtX3NlcnZpY2VXb3Jr
ZXJQcm9jZXNzZXMuY29udGFpbnMoc2VjdXJpdHlPcmlnaW4pKQogICAgICAgICByZXR1cm47CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaAppbmRleCAzOTM1MTg0OGY1Zjg2
YTRhZTM2NmRkOTYyNzM1NmE2OWRlMjAxZjk1Li5kZDQ1YjUxYjllMzEwMzEwOTBiNTQzZjk0YTNk
MGIzYmQ3NTMwYTk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9j
ZXNzUG9vbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmgK
QEAgLTYyNiw4ICs2MjYsOCBAQCBwcml2YXRlOgogCiAgICAgYm9vbCBtX2NhbkhhbmRsZUhUVFBT
U2VydmVyVHJ1c3RFdmFsdWF0aW9uIHsgdHJ1ZSB9OwogICAgIGJvb2wgbV9kaWROZXR3b3JrUHJv
Y2Vzc0NyYXNoIHsgZmFsc2UgfTsKLSAgICBSZWZQdHI8TmV0d29ya1Byb2Nlc3NQcm94eT4gbV9u
ZXR3b3JrUHJvY2VzczsKLSAgICBSZWZQdHI8U3RvcmFnZVByb2Nlc3NQcm94eT4gbV9zdG9yYWdl
UHJvY2VzczsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8TmV0d29ya1Byb2Nlc3NQcm94eT4gbV9uZXR3
b3JrUHJvY2VzczsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8U3RvcmFnZVByb2Nlc3NQcm94eT4gbV9z
dG9yYWdlUHJvY2VzczsKIAogICAgIEhhc2hNYXA8dWludDY0X3QsIFJlZlB0cjxEaWN0aW9uYXJ5
Q2FsbGJhY2s+PiBtX2RpY3Rpb25hcnlDYWxsYmFja3M7CiAgICAgSGFzaE1hcDx1aW50NjRfdCwg
UmVmUHRyPFN0YXRpc3RpY3NSZXF1ZXN0Pj4gbV9zdGF0aXN0aWNzUmVxdWVzdHM7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaCBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCmluZGV4IDdkODA4NWIzNDVmNWVlZWJh
ZDJkM2NiYzhhY2U3MWMzMDYzY2IzZTEuLmY3YmM3MzMzYjk4NWU5YmI3MWUwYjNhZDMzNWU3MTY3
N2JkNWEwOWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQ
cm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCkBA
IC05MSw3ICs5MSw3IEBAIHR5cGVkZWYgUmVmQ291bnRlcjxCYWNrZ3JvdW5kV2ViUHJvY2Vzc0Nv
dW50ZXJUeXBlPiBCYWNrZ3JvdW5kV2ViUHJvY2Vzc0NvdW50ZXI7CiB0eXBlZGVmIEJhY2tncm91
bmRXZWJQcm9jZXNzQ291bnRlcjo6VG9rZW4gQmFja2dyb3VuZFdlYlByb2Nlc3NUb2tlbjsKICNl
bmRpZgogCi1jbGFzcyBXZWJQcm9jZXNzUHJveHkgOiBwdWJsaWMgQ2hpbGRQcm9jZXNzUHJveHks
IHB1YmxpYyBSZXNwb25zaXZlbmVzc1RpbWVyOjpDbGllbnQsIHByaXZhdGUgUHJvY2Vzc1Rocm90
dGxlckNsaWVudCB7CitjbGFzcyBXZWJQcm9jZXNzUHJveHkgOiBwdWJsaWMgQ2hpbGRQcm9jZXNz
UHJveHksIHB1YmxpYyBSZXNwb25zaXZlbmVzc1RpbWVyOjpDbGllbnQsIHB1YmxpYyBUaHJlYWRT
YWZlUmVmQ291bnRlZDxXZWJQcm9jZXNzUHJveHk+LCBwcml2YXRlIFByb2Nlc3NUaHJvdHRsZXJD
bGllbnQgewogcHVibGljOgogICAgIHR5cGVkZWYgSGFzaE1hcDx1aW50NjRfdCwgUmVmUHRyPFdl
YkZyYW1lUHJveHk+PiBXZWJGcmFtZVByb3h5TWFwOwogICAgIHR5cGVkZWYgSGFzaE1hcDx1aW50
NjRfdCwgV2ViUGFnZVByb3h5Kj4gV2ViUGFnZVByb3h5TWFwOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>350698</attachid>
            <date>2018-09-24 15:15:43 -0700</date>
            <delta_ts>2018-09-25 11:31:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189851-20180924151542.patch</filename>
            <type>text/plain</type>
            <size>12183</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM2NDMwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDBhNzc4MmNmZGI5YjMwMGE0
YWViNTFhYTY1ZGVmZTczZWE0YTgwOGMuLmI3YWZjZDAzYTM3MGFhOGYwZGE0NTdhZWU1NDFlOTc0
MWU1Yjc4NTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDUgQEAKKzIwMTgtMDktMjQgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBFeHRlbmRpbmcgdGhlIGxpZmV0aW1l
IG9mIGEgTmV0d29ya1Byb2Nlc3NQcm94eSAvIFN0b3JhZ2VQcm9jZXNzUHJveHkgbWF5IGNhdXNl
IGl0IHRvIGhhdmUgYSBzdGFsZSBXZWJQcm9jZXNzUG9vbCBwb2ludGVyCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODk4NTEKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzQ0Njk2MjYzPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEV4dGVuZGluZyB0aGUgbGlmZXRpbWUgb2YgYSBOZXR3b3JrUHJvY2Vzc1By
b3h5IC8gU3RvcmFnZVByb2Nlc3NQcm94eSBtYXkgY2F1c2UgaXQgdG8gaGF2ZSBhIHN0YWxlIFdl
YlByb2Nlc3NQb29sIHBvaW50ZXI6CisgICAgICAgIC0gTmV0d29ya1Byb2Nlc3NQcm94eTo6bV9w
cm9jZXNzUG9vbAorICAgICAgICAtIFN0b3JhZ2VQcm9jZXNzUHJveHk6Om1fcHJvY2Vzc1Bvb2wK
KworICAgICAgICBUaG9zZSBkYXRhIG1lbWJlcnMgYXJlIEMrKyByZWZlcmVuY2VzIGJlY2F1c2Ug
aXQgaXMgZXhwZWN0ZWQgdGhhdCB0aGUgV2ViUHJvY2Vzc1Bvb2wgb3ducyB0aGUgTmV0d29ya1By
b2Nlc3NQcm94eSBhbmQKKyAgICAgICAgU3RvcmFnZVByb2Nlc3NQcm94eS4gSG93ZXZlciwgc2lu
Y2UgTmV0d29ya1Byb2Nlc3NQcm94eSAvIFN0b3JhZ2VQcm9jZXNzUHJveHkgYXJlIHJlZmNvdW50
ZWQsIGl0IGhhcyBoYXBwZW5lZCB0aGF0IGNvZGUKKyAgICAgICAgZXh0ZW5kcyB0aGUgbGlmZXRp
bWUgb2YgdGhvc2UgcGFzdCB0aGVpciBwcm9jZXNzIHBvb2wsIGxlYWRpbmcgdG8gc3RhbGUgcHJy
b2Nlc3MgcG9vbCB1c2FnZS4gVGhlIGZpeCBmb3IgdGhlc2UgY3Jhc2hlcworICAgICAgICBzbyBm
YXIgYXMgYmVlbiB0byByZWYgdGhlIFdlYlByb2Nlc3NQb29sIGluc3RlYWQgb2YgdGhlIE5ldHdv
cmtQcm9jZXNzUHJveHkgLyBTdG9yYWdlUHJvY2Vzc1Byb3h5LiBIb3dldmVyLCBpdCBpcyB2ZXJ5
CisgICAgICAgIHRlbXB0aW5nIGZvciBwZW9wbGUgdG8gc2ltcGx5IHJlZiB0aGUgTmV0d29ya1By
b2Nlc3NQcm94eSAvIFN0b3JhZ2VQcm9jZXNzUHJveHkgZ2l2ZW4gdGhhdCB0aGV5IGFyZSByZWZj
b3VudGVkLgorICAgICAgICBGb3IgdGhpcyByZWFzb24sIHRoaXMgcGF0Y2ggdXBkYXRlcyBOZXR3
b3JrUHJvY2Vzc1Byb3h5IC8gU3RvcmFnZVByb2Nlc3NQcm94eSBzbyB0aGF0IHRoZXkgYXJlIG5v
IGxvbmdlciBSZWZDb3VudGVkCisgICAgICAgIGFuZCBzbyB0aGF0IHRoZSBXZWJQcm9jZXNzUG9v
bCB0cnVseSBvd25zIHRoZW0gdmlhIHN0ZDo6dW5pcXVlX3B0cjw+LgorCisgICAgICAgICogVUlQ
cm9jZXNzL0NoaWxkUHJvY2Vzc1Byb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL05ldHdvcmsv
TmV0d29ya1Byb2Nlc3NQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNz
UHJveHk6Om5ldHdvcmtQcm9jZXNzQ3Jhc2hlZCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQ
cm9jZXNzUHJveHk6OmRpZENsb3NlKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3NQ
cm94eTo6Y3JlYXRlKTogRGVsZXRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvTmV0d29yay9OZXR3
b3JrUHJvY2Vzc1Byb3h5Lmg6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzUHJveHk6
OnRocm90dGxlcik6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzUHJv
eHk6OnByb2Nlc3NQb29sKTogRGVsZXRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvUGx1Z2lucy9Q
bHVnaW5Qcm9jZXNzUHJveHkuaDoKKyAgICAgICAgKFdlYktpdDo6UGx1Z2luUHJvY2Vzc1Byb3h5
OjpwbHVnaW5Qcm9jZXNzQXR0cmlidXRlcyBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJL
aXQ6OlBsdWdpblByb2Nlc3NQcm94eTo6cGx1Z2luUHJvY2Vzc1Rva2VuIGNvbnN0KTogRGVsZXRl
ZC4KKyAgICAgICAgKFdlYktpdDo6UGx1Z2luUHJvY2Vzc1Byb3h5Ojppc1ZhbGlkIGNvbnN0KTog
RGVsZXRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvU3RvcmFnZS9TdG9yYWdlUHJvY2Vzc1Byb3h5
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6U3RvcmFnZVByb2Nlc3NQcm94eTo6Y3JlYXRlKTogRGVs
ZXRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvU3RvcmFnZS9TdG9yYWdlUHJvY2Vzc1Byb3h5Lmg6
CisgICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6V2ViUHJvY2Vzc1Bvb2w6OmVuc3VyZU5ldHdvcmtQcm9jZXNzKToKKyAgICAgICAgKFdlYktp
dDo6V2ViUHJvY2Vzc1Bvb2w6OmVuc3VyZVN0b3JhZ2VQcm9jZXNzQW5kV2Vic2l0ZURhdGFTdG9y
ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjplc3RhYmxpc2hXb3JrZXJDb250
ZXh0Q29ubmVjdGlvblRvU3RvcmFnZVByb2Nlc3MpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQ
cm9jZXNzUG9vbC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaDoKKwog
MjAxOC0wOS0yNCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFVu
cmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIyMzYzNjguCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9DaGlsZFByb2Nlc3NQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
Q2hpbGRQcm9jZXNzUHJveHkuaAppbmRleCAyZDVmMTVjNmY0ODM5OGUxZDcwYWFhNDNjZmUyN2I2
MzY3MGM4ZWRjLi5jODkxMjc5NDNlMzBiOWNiZGM5ZWZlMWUyODg2ZTJkMDZlMWJiZTU5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9DaGlsZFByb2Nlc3NQcm94eS5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NoaWxkUHJvY2Vzc1Byb3h5LmgKQEAgLTM2LDcgKzM2
LDcgQEAKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLWNsYXNzIENoaWxkUHJvY2Vzc1Byb3h5IDog
UHJvY2Vzc0xhdW5jaGVyOjpDbGllbnQsIHB1YmxpYyBJUEM6OkNvbm5lY3Rpb246OkNsaWVudCwg
cHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPENoaWxkUHJvY2Vzc1Byb3h5PiB7CitjbGFzcyBD
aGlsZFByb2Nlc3NQcm94eSA6IFByb2Nlc3NMYXVuY2hlcjo6Q2xpZW50LCBwdWJsaWMgSVBDOjpD
b25uZWN0aW9uOjpDbGllbnQgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENoaWxkUHJvY2Vz
c1Byb3h5KTsKIAogcHJvdGVjdGVkOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5jcHAKaW5kZXggODEwZGFmOTFkNGMzMjU4
ZTBlMzMwMDRhZjIwMGVkMzhlYmU5NjdjOS4uMGYxYjZjNzg2NWNjODFhZTU5MmIyYmY1ZmEwODdm
MzE2NjIwYmVjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9O
ZXR3b3JrUHJvY2Vzc1Byb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3
b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuY3BwCkBAIC02NiwxMSArNjYsNiBAQCBzdGF0aWMgdWlu
dDY0X3QgZ2VuZXJhdGVDYWxsYmFja0lEKCkKICAgICByZXR1cm4gKytjYWxsYmFja0lEOwogfQog
Ci1SZWY8TmV0d29ya1Byb2Nlc3NQcm94eT4gTmV0d29ya1Byb2Nlc3NQcm94eTo6Y3JlYXRlKFdl
YlByb2Nlc3NQb29sJiBwcm9jZXNzUG9vbCkKLXsKLSAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBO
ZXR3b3JrUHJvY2Vzc1Byb3h5KHByb2Nlc3NQb29sKSk7Ci19Ci0KIE5ldHdvcmtQcm9jZXNzUHJv
eHk6Ok5ldHdvcmtQcm9jZXNzUHJveHkoV2ViUHJvY2Vzc1Bvb2wmIHByb2Nlc3NQb29sKQogICAg
IDogQ2hpbGRQcm9jZXNzUHJveHkocHJvY2Vzc1Bvb2wuYWx3YXlzUnVuc0F0QmFja2dyb3VuZFBy
aW9yaXR5KCkpCiAgICAgLCBtX3Byb2Nlc3NQb29sKHByb2Nlc3NQb29sKQpAQCAtMjA1LDcgKzIw
MCw3IEBAIHZvaWQgTmV0d29ya1Byb2Nlc3NQcm94eTo6bmV0d29ya1Byb2Nlc3NDcmFzaGVkKCkK
ICAgICBmb3IgKGF1dG8mIHJlcGx5IDogbV9wZW5kaW5nQ29ubmVjdGlvblJlcGxpZXMpCiAgICAg
ICAgIHBlbmRpbmdSZXBsaWVzLmFwcGVuZChXVEZNb3ZlKHJlcGx5KSk7CiAKLSAgICAvLyBUZWxs
IHRoZSBuZXR3b3JrIHByb2Nlc3MgbWFuYWdlciB0byBmb3JnZXQgYWJvdXQgdGhpcyBuZXR3b3Jr
IHByb2Nlc3MgcHJveHkuIFRoaXMgbWF5IGNhdXNlIHVzIHRvIGJlIGRlbGV0ZWQuCisgICAgLy8g
VGVsbCB0aGUgbmV0d29yayBwcm9jZXNzIG1hbmFnZXIgdG8gZm9yZ2V0IGFib3V0IHRoaXMgbmV0
d29yayBwcm9jZXNzIHByb3h5LiBUaGlzIHdpbGwgY2F1c2UgdXMgdG8gYmUgZGVsZXRlZC4KICAg
ICBtX3Byb2Nlc3NQb29sLm5ldHdvcmtQcm9jZXNzQ3Jhc2hlZCgqdGhpcywgV1RGTW92ZShwZW5k
aW5nUmVwbGllcykpOwogfQogCkBAIC0yNzMsNyArMjY4LDcgQEAgdm9pZCBOZXR3b3JrUHJvY2Vz
c1Byb3h5OjpkaWRDbG9zZShJUEM6OkNvbm5lY3Rpb24mKQogICAgICAgICBjYWxsYmFjaygpOwog
ICAgIG1fdXBkYXRlQmxvY2tDb29raWVzQ2FsbGJhY2tNYXAuY2xlYXIoKTsKICAgICAKLSAgICAv
LyBUaGlzIG1heSBjYXVzZSB1cyB0byBiZSBkZWxldGVkLgorICAgIC8vIFRoaXMgd2lsbCBjYXVz
ZSB1cyB0byBiZSBkZWxldGVkLgogICAgIG5ldHdvcmtQcm9jZXNzQ3Jhc2hlZCgpOwogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNz
UHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQ
cm94eS5oCmluZGV4IDZmOTY0OGRiOGEwZTcwN2MwNzM0ZDMzMDIzNDA1N2FkMWZhOGUzYTAuLmRi
MmM4ZWQ0NWZlZWY1YTQ0NjEwNTZhYjljMjI5MGZkZmQzNzAxZTkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5oCkBAIC02
NCw5ICs2NCw5IEBAIHN0cnVjdCBOZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczsKIGNs
YXNzIFdlYlVzZXJDb250ZW50Q29udHJvbGxlclByb3h5Owogc3RydWN0IFdlYnNpdGVEYXRhOwog
Ci1jbGFzcyBOZXR3b3JrUHJvY2Vzc1Byb3h5IDogcHVibGljIENoaWxkUHJvY2Vzc1Byb3h5LCBw
cml2YXRlIFByb2Nlc3NUaHJvdHRsZXJDbGllbnQgeworY2xhc3MgTmV0d29ya1Byb2Nlc3NQcm94
eSBmaW5hbCA6IHB1YmxpYyBDaGlsZFByb2Nlc3NQcm94eSwgcHJpdmF0ZSBQcm9jZXNzVGhyb3R0
bGVyQ2xpZW50IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPE5ldHdvcmtQcm9jZXNzUHJveHk+
IGNyZWF0ZShXZWJQcm9jZXNzUG9vbCYpOworICAgIGV4cGxpY2l0IE5ldHdvcmtQcm9jZXNzUHJv
eHkoV2ViUHJvY2Vzc1Bvb2wmKTsKICAgICB+TmV0d29ya1Byb2Nlc3NQcm94eSgpOwogCiAgICAg
dm9pZCBnZXROZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24oTWVzc2FnZXM6OldlYlByb2Nlc3NQcm94
eTo6R2V0TmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uOjpEZWxheWVkUmVwbHkmJik7CkBAIC0xMTAs
OCArMTEwLDYgQEAgcHVibGljOgogICAgIHZvaWQgcmVtb3ZlU2Vzc2lvbihQQUw6OlNlc3Npb25J
RCk7CiAKIHByaXZhdGU6Ci0gICAgTmV0d29ya1Byb2Nlc3NQcm94eShXZWJQcm9jZXNzUG9vbCYp
OwotCiAgICAgLy8gQ2hpbGRQcm9jZXNzUHJveHkKICAgICB2b2lkIGdldExhdW5jaE9wdGlvbnMo
UHJvY2Vzc0xhdW5jaGVyOjpMYXVuY2hPcHRpb25zJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBjb25u
ZWN0aW9uV2lsbE9wZW4oSVBDOjpDb25uZWN0aW9uJikgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NQcm94eS5oIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzUHJveHkuaAppbmRleCAw
OTYwMGIxMjE0ODQ3ZjIwNjAwODkyZjJmNTRkOTNkYzBjOWE0ZTg4Li4zODZhZjAwZGY2MWEzMjEw
OTdkOGVmM2UyYzhlNjJkMTg4ZWNmYmU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmgKQEAgLTY2LDcgKzY2LDcgQEAgaW50
IHBsdWdpblByb2Nlc3NMYXRlbmN5UU9TKCk7CiBpbnQgcGx1Z2luUHJvY2Vzc1Rocm91Z2hwdXRR
T1MoKTsKICNlbmRpZgogCi1jbGFzcyBQbHVnaW5Qcm9jZXNzUHJveHkgOiBwdWJsaWMgQ2hpbGRQ
cm9jZXNzUHJveHkgeworY2xhc3MgUGx1Z2luUHJvY2Vzc1Byb3h5IGZpbmFsIDogcHVibGljIENo
aWxkUHJvY2Vzc1Byb3h5LCBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8UGx1Z2luUHJvY2Vz
c1Byb3h5PiB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxQbHVnaW5Qcm9jZXNzUHJveHk+IGNy
ZWF0ZShQbHVnaW5Qcm9jZXNzTWFuYWdlciosIGNvbnN0IFBsdWdpblByb2Nlc3NBdHRyaWJ1dGVz
JiwgdWludDY0X3QgcGx1Z2luUHJvY2Vzc1Rva2VuKTsKICAgICB+UGx1Z2luUHJvY2Vzc1Byb3h5
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9TdG9yYWdlL1N0b3JhZ2VQ
cm9jZXNzUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvU3RvcmFnZS9TdG9yYWdl
UHJvY2Vzc1Byb3h5LmNwcAppbmRleCA4YmM5YTc0NDZhYTU5N2UyYWRhMWQ1ZGFlMjgzZDU2NTlh
YmM4YmI3Li5lZTRiZjlkNzY0NzgxMGUyMDY1YTBmMzFiZDNmMDYzNWFlNzcyMDA4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9TdG9yYWdlL1N0b3JhZ2VQcm9jZXNzUHJveHku
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1N0b3JhZ2UvU3RvcmFnZVByb2Nlc3NQ
cm94eS5jcHAKQEAgLTQ0LDExICs0NCw2IEBAIHN0YXRpYyB1aW50NjRfdCBnZW5lcmF0ZVN0b3Jh
Z2VQcm9jZXNzQ2FsbGJhY2tJRCgpCiAgICAgcmV0dXJuICsrY2FsbGJhY2tJRDsKIH0KIAotUmVm
PFN0b3JhZ2VQcm9jZXNzUHJveHk+IFN0b3JhZ2VQcm9jZXNzUHJveHk6OmNyZWF0ZShXZWJQcm9j
ZXNzUG9vbCYgcHJvY2Vzc1Bvb2wpCi17Ci0gICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU3RvcmFn
ZVByb2Nlc3NQcm94eShwcm9jZXNzUG9vbCkpOwotfQotCiBTdG9yYWdlUHJvY2Vzc1Byb3h5OjpT
dG9yYWdlUHJvY2Vzc1Byb3h5KFdlYlByb2Nlc3NQb29sJiBwcm9jZXNzUG9vbCkKICAgICA6IENo
aWxkUHJvY2Vzc1Byb3h5KHByb2Nlc3NQb29sLmFsd2F5c1J1bnNBdEJhY2tncm91bmRQcmlvcml0
eSgpKQogICAgICwgbV9wcm9jZXNzUG9vbChwcm9jZXNzUG9vbCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1N0b3JhZ2UvU3RvcmFnZVByb2Nlc3NQcm94eS5oIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvU3RvcmFnZS9TdG9yYWdlUHJvY2Vzc1Byb3h5LmgKaW5kZXggYTI2
NmM3N2VlYzgzZjc2NDY1ZDE5ZTE1MDYyODJjNzk5MTBhOWQ2Ny4uZGZlMWYyOWYxYmNkMjZhN2U1
M2Q3NjNkMzhjYzRiYzZiMzk3ZmI3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvU3RvcmFnZS9TdG9yYWdlUHJvY2Vzc1Byb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvU3RvcmFnZS9TdG9yYWdlUHJvY2Vzc1Byb3h5LmgKQEAgLTQ3LDkgKzQ3LDkgQEAgY2xh
c3MgV2ViUHJvY2Vzc1Byb3h5OwogZW51bSBjbGFzcyBXZWJzaXRlRGF0YVR5cGU7CiBzdHJ1Y3Qg
V2Vic2l0ZURhdGE7CiAKLWNsYXNzIFN0b3JhZ2VQcm9jZXNzUHJveHkgOiBwdWJsaWMgQ2hpbGRQ
cm9jZXNzUHJveHkgeworY2xhc3MgU3RvcmFnZVByb2Nlc3NQcm94eSBmaW5hbCA6IHB1YmxpYyBD
aGlsZFByb2Nlc3NQcm94eSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJlZjxTdG9yYWdlUHJvY2Vz
c1Byb3h5PiBjcmVhdGUoV2ViUHJvY2Vzc1Bvb2wmKTsKKyAgICBleHBsaWNpdCBTdG9yYWdlUHJv
Y2Vzc1Byb3h5KFdlYlByb2Nlc3NQb29sJik7CiAgICAgflN0b3JhZ2VQcm9jZXNzUHJveHkoKTsK
IAogICAgIHZvaWQgZmV0Y2hXZWJzaXRlRGF0YShQQUw6OlNlc3Npb25JRCwgT3B0aW9uU2V0PFdl
YnNpdGVEYXRhVHlwZT4sIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2Vic2l0ZURhdGEpPiYmKTsK
QEAgLTYxLDggKzYxLDYgQEAgcHVibGljOgogICAgIHZvaWQgdGVybWluYXRlRm9yVGVzdGluZygp
OwogCiBwcml2YXRlOgotICAgIFN0b3JhZ2VQcm9jZXNzUHJveHkoV2ViUHJvY2Vzc1Bvb2wmKTsK
LQogICAgIC8vIENoaWxkUHJvY2Vzc1Byb3h5CiAgICAgdm9pZCBnZXRMYXVuY2hPcHRpb25zKFBy
b2Nlc3NMYXVuY2hlcjo6TGF1bmNoT3B0aW9ucyYpIG92ZXJyaWRlOwogICAgIHZvaWQgcHJvY2Vz
c1dpbGxTaHV0RG93bihJUEM6OkNvbm5lY3Rpb24mKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcCBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAppbmRleCBmODgwNjkwODUzZGJkYTA2MTU0NWIw
Y2ZkOWVjYThhNGI1Mjk2MGRlLi45OTI3Y2M5MzYzZTBkN2MzOTAzMjdhMTM4MTI3N2M0M2JiZmEw
ZDJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCkBAIC00
NzEsNyArNDcxLDcgQEAgTmV0d29ya1Byb2Nlc3NQcm94eSYgV2ViUHJvY2Vzc1Bvb2w6OmVuc3Vy
ZU5ldHdvcmtQcm9jZXNzKFdlYnNpdGVEYXRhU3RvcmUqIHdpdGgKICAgICAgICAgcmV0dXJuICpt
X25ldHdvcmtQcm9jZXNzOwogICAgIH0KIAotICAgIG1fbmV0d29ya1Byb2Nlc3MgPSBOZXR3b3Jr
UHJvY2Vzc1Byb3h5OjpjcmVhdGUoKnRoaXMpOworICAgIG1fbmV0d29ya1Byb2Nlc3MgPSBzdGQ6
Om1ha2VfdW5pcXVlPE5ldHdvcmtQcm9jZXNzUHJveHk+KCp0aGlzKTsKIAogICAgIE5ldHdvcmtQ
cm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzIHBhcmFtZXRlcnM7CiAKQEAgLTYxMiw3ICs2MTIsNyBA
QCB2b2lkIFdlYlByb2Nlc3NQb29sOjplbnN1cmVTdG9yYWdlUHJvY2Vzc0FuZFdlYnNpdGVEYXRh
U3RvcmUoV2Vic2l0ZURhdGFTdG9yZSogcgogICAgICAgICBwYXJhbWV0ZXJzLnNob3VsZERpc2Fi
bGVTZXJ2aWNlV29ya2VyUHJvY2Vzc1Rlcm1pbmF0aW9uRGVsYXkgPSBtX3Nob3VsZERpc2FibGVT
ZXJ2aWNlV29ya2VyUHJvY2Vzc1Rlcm1pbmF0aW9uRGVsYXk7CiAjZW5kaWYKIAotICAgICAgICBt
X3N0b3JhZ2VQcm9jZXNzID0gU3RvcmFnZVByb2Nlc3NQcm94eTo6Y3JlYXRlKCp0aGlzKTsKKyAg
ICAgICAgbV9zdG9yYWdlUHJvY2VzcyA9IHN0ZDo6bWFrZV91bmlxdWU8U3RvcmFnZVByb2Nlc3NQ
cm94eT4oKnRoaXMpOwogICAgICAgICBtX3N0b3JhZ2VQcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpT
dG9yYWdlUHJvY2Vzczo6SW5pdGlhbGl6ZVdlYnNpdGVEYXRhU3RvcmUocGFyYW1ldGVycyksIDAp
OwogICAgIH0KIApAQCAtNjQ4LDcgKzY0OCw3IEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnN0b3Jh
Z2VQcm9jZXNzQ3Jhc2hlZChTdG9yYWdlUHJvY2Vzc1Byb3h5KiBzdG9yYWdlUHJvY2Vzc1ByCiAj
aWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQogdm9pZCBXZWJQcm9jZXNzUG9vbDo6ZXN0YWJsaXNo
V29ya2VyQ29udGV4dENvbm5lY3Rpb25Ub1N0b3JhZ2VQcm9jZXNzKFN0b3JhZ2VQcm9jZXNzUHJv
eHkmIHByb3h5LCBTZWN1cml0eU9yaWdpbkRhdGEmJiBzZWN1cml0eU9yaWdpbiwgc3RkOjpvcHRp
b25hbDxQQUw6OlNlc3Npb25JRD4gc2Vzc2lvbklEKQogewotICAgIEFTU0VSVF9VTlVTRUQocHJv
eHksICZwcm94eSA9PSBtX3N0b3JhZ2VQcm9jZXNzKTsKKyAgICBBU1NFUlRfVU5VU0VEKHByb3h5
LCAmcHJveHkgPT0gbV9zdG9yYWdlUHJvY2Vzcy5nZXQoKSk7CiAKICAgICBpZiAobV9zZXJ2aWNl
V29ya2VyUHJvY2Vzc2VzLmNvbnRhaW5zKHNlY3VyaXR5T3JpZ2luKSkKICAgICAgICAgcmV0dXJu
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaCBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmgKaW5kZXggMzkzNTE4NDhm
NWY4NmE0YWUzNjZkZDk2MjczNTZhNjlkZTIwMWY5NS4uZGQ0NWI1MWI5ZTMxMDMxMDkwYjU0M2Y5
NGEzZDBiM2JkNzUzMGE5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UHJvY2Vzc1Bvb2wuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9v
bC5oCkBAIC02MjYsOCArNjI2LDggQEAgcHJpdmF0ZToKIAogICAgIGJvb2wgbV9jYW5IYW5kbGVI
VFRQU1NlcnZlclRydXN0RXZhbHVhdGlvbiB7IHRydWUgfTsKICAgICBib29sIG1fZGlkTmV0d29y
a1Byb2Nlc3NDcmFzaCB7IGZhbHNlIH07Ci0gICAgUmVmUHRyPE5ldHdvcmtQcm9jZXNzUHJveHk+
IG1fbmV0d29ya1Byb2Nlc3M7Ci0gICAgUmVmUHRyPFN0b3JhZ2VQcm9jZXNzUHJveHk+IG1fc3Rv
cmFnZVByb2Nlc3M7CisgICAgc3RkOjp1bmlxdWVfcHRyPE5ldHdvcmtQcm9jZXNzUHJveHk+IG1f
bmV0d29ya1Byb2Nlc3M7CisgICAgc3RkOjp1bmlxdWVfcHRyPFN0b3JhZ2VQcm9jZXNzUHJveHk+
IG1fc3RvcmFnZVByb2Nlc3M7CiAKICAgICBIYXNoTWFwPHVpbnQ2NF90LCBSZWZQdHI8RGljdGlv
bmFyeUNhbGxiYWNrPj4gbV9kaWN0aW9uYXJ5Q2FsbGJhY2tzOwogICAgIEhhc2hNYXA8dWludDY0
X3QsIFJlZlB0cjxTdGF0aXN0aWNzUmVxdWVzdD4+IG1fc3RhdGlzdGljc1JlcXVlc3RzOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmggYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaAppbmRleCA3ZDgwODViMzQ1ZjVl
ZWViYWQyZDNjYmM4YWNlNzFjMzA2M2NiM2UxLi5mN2JjNzMzM2I5ODVlOWJiNzFlMGIzYWQzMzVl
NzE2NzdiZDVhMDlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9j
ZXNzUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHku
aApAQCAtOTEsNyArOTEsNyBAQCB0eXBlZGVmIFJlZkNvdW50ZXI8QmFja2dyb3VuZFdlYlByb2Nl
c3NDb3VudGVyVHlwZT4gQmFja2dyb3VuZFdlYlByb2Nlc3NDb3VudGVyOwogdHlwZWRlZiBCYWNr
Z3JvdW5kV2ViUHJvY2Vzc0NvdW50ZXI6OlRva2VuIEJhY2tncm91bmRXZWJQcm9jZXNzVG9rZW47
CiAjZW5kaWYKIAotY2xhc3MgV2ViUHJvY2Vzc1Byb3h5IDogcHVibGljIENoaWxkUHJvY2Vzc1By
b3h5LCBwdWJsaWMgUmVzcG9uc2l2ZW5lc3NUaW1lcjo6Q2xpZW50LCBwcml2YXRlIFByb2Nlc3NU
aHJvdHRsZXJDbGllbnQgeworY2xhc3MgV2ViUHJvY2Vzc1Byb3h5IDogcHVibGljIENoaWxkUHJv
Y2Vzc1Byb3h5LCBwdWJsaWMgUmVzcG9uc2l2ZW5lc3NUaW1lcjo6Q2xpZW50LCBwdWJsaWMgVGhy
ZWFkU2FmZVJlZkNvdW50ZWQ8V2ViUHJvY2Vzc1Byb3h5PiwgcHJpdmF0ZSBQcm9jZXNzVGhyb3R0
bGVyQ2xpZW50IHsKIHB1YmxpYzoKICAgICB0eXBlZGVmIEhhc2hNYXA8dWludDY0X3QsIFJlZlB0
cjxXZWJGcmFtZVByb3h5Pj4gV2ViRnJhbWVQcm94eU1hcDsKICAgICB0eXBlZGVmIEhhc2hNYXA8
dWludDY0X3QsIFdlYlBhZ2VQcm94eSo+IFdlYlBhZ2VQcm94eU1hcDsK
</data>

          </attachment>
      

    </bug>

</bugzilla>