<?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>173660</bug_id>
          
          <creation_ts>2017-06-21 10:02:42 -0700</creation_ts>
          <short_desc>Allow constructing a WTF:Function from a function pointer</short_desc>
          <delta_ts>2017-06-21 18:32:22 -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>Web Template Framework</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>beidson</cc>
    
    <cc>buildbot</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>kling</cc>
    
    <cc>koivisto</cc>
    
    <cc>ryanhaddad</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1321529</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-06-21 10:02:42 -0700</bug_when>
    <thetext>Allow constructing a WTF:Function from a function pointer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1321530</commentid>
    <comment_count>1</comment_count>
      <attachid>313526</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-06-21 10:05:26 -0700</bug_when>
    <thetext>Created attachment 313526
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1321547</commentid>
    <comment_count>2</comment_count>
      <attachid>313530</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-06-21 10:46:08 -0700</bug_when>
    <thetext>Created attachment 313530
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1321553</commentid>
    <comment_count>3</comment_count>
      <attachid>313531</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-06-21 10:58:17 -0700</bug_when>
    <thetext>Created attachment 313531
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1321565</commentid>
    <comment_count>4</comment_count>
      <attachid>313531</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2017-06-21 11:26:33 -0700</bug_when>
    <thetext>Comment on attachment 313531
Patch

Looks great. I remember one example from one of the std::function patches that was taking a bool that I don’t see you changing back here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1321566</commentid>
    <comment_count>5</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2017-06-21 11:26:59 -0700</bug_when>
    <thetext>Could add a unit test for this too since we have Function.cpp now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1321567</commentid>
    <comment_count>6</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-06-21 11:27:48 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #4)
&gt; Comment on attachment 313531 [details]
&gt; Patch
&gt; 
&gt; Looks great. I remember one example from one of the std::function patches
&gt; that was taking a bool that I don’t see you changing back here.

networkStateChanged. Found it. Will fix as well, thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1321568</commentid>
    <comment_count>7</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-06-21 11:28:03 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #5)
&gt; Could add a unit test for this too since we have Function.cpp now.

Good idea. Will do.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1321580</commentid>
    <comment_count>8</comment_count>
      <attachid>313538</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-06-21 12:06:34 -0700</bug_when>
    <thetext>Created attachment 313538
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1321601</commentid>
    <comment_count>9</comment_count>
      <attachid>313538</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2017-06-21 13:44:29 -0700</bug_when>
    <thetext>Comment on attachment 313538
Patch

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

&gt; Source/WebCore/page/Page.cpp:284
&gt; -        networkStateNotifier().addNetworkStateChangeListener([] (bool isOnLine) { networkStateChanged(isOnLine); });
&gt; +        networkStateNotifier().addNetworkStateChangeListener(networkStateChanged);

My fault you added this, but it’s not compiling on Windows, maybe due to the different flavors of function pointer that exist on Windows.

&gt; Source/WebCore/workers/Worker.cpp:62
&gt; -        networkStateNotifier().addNetworkStateChangeListener([] (bool isOnLine) { networkStateChanged(isOnLine); });
&gt; +        networkStateNotifier().addNetworkStateChangeListener(networkStateChanged);

Same here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1321637</commentid>
    <comment_count>10</comment_count>
      <attachid>313552</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-06-21 14:37:28 -0700</bug_when>
    <thetext>Created attachment 313552
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1321638</commentid>
    <comment_count>11</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-06-21 14:39:14 -0700</bug_when>
    <thetext>Attachment 313552 did not pass style-queue:


ERROR: Source/WebCore/workers/Worker.cpp:62:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/WebCore/page/Page.cpp:284:  Extra space before ( in function call  [whitespace/parens] [4]
Total errors found: 2 in 12 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1321651</commentid>
    <comment_count>12</comment_count>
      <attachid>313552</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-06-21 15:25:09 -0700</bug_when>
    <thetext>Comment on attachment 313552
Patch

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

&gt; Source/WebCore/page/Page.cpp:284
&gt; +        networkStateNotifier().addNetworkStateChangeListener(WTF::Function&lt;void (bool)&gt; { networkStateChanged });

Somehow Windows requires the explicit WTF::Function&lt;void (bool)&gt; { } here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1321657</commentid>
    <comment_count>13</comment_count>
      <attachid>313552</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-06-21 15:53:17 -0700</bug_when>
    <thetext>Comment on attachment 313552
Patch

Clearing flags on attachment: 313552

Committed r218660: &lt;http://trac.webkit.org/changeset/218660&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1321658</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-06-21 15:53:19 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1321703</commentid>
    <comment_count>15</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2017-06-21 17:41:18 -0700</bug_when>
    <thetext>(In reply to WebKit Commit Bot from comment #13)
&gt; Comment on attachment 313552 [details]
&gt; Patch
&gt; 
&gt; Clearing flags on attachment: 313552
&gt; 
&gt; Committed r218660: &lt;http://trac.webkit.org/changeset/218660&gt;

This change broke the Windows Debug build:
https://build.webkit.org/builders/Apple%20Win%20Debug%20%28Build%29/builds/2230</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1321712</commentid>
    <comment_count>16</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-06-21 18:22:08 -0700</bug_when>
    <thetext>(In reply to Ryan Haddad from comment #15)
&gt; (In reply to WebKit Commit Bot from comment #13)
&gt; &gt; Comment on attachment 313552 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; Clearing flags on attachment: 313552
&gt; &gt; 
&gt; &gt; Committed r218660: &lt;http://trac.webkit.org/changeset/218660&gt;
&gt; 
&gt; This change broke the Windows Debug build:
&gt; https://build.webkit.org/builders/Apple%20Win%20Debug%20%28Build%29/builds/
&gt; 2230

Will fix now, thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1321716</commentid>
    <comment_count>17</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-06-21 18:26:18 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #16)
&gt; (In reply to Ryan Haddad from comment #15)
&gt; &gt; (In reply to WebKit Commit Bot from comment #13)
&gt; &gt; &gt; Comment on attachment 313552 [details]
&gt; &gt; &gt; Patch
&gt; &gt; &gt; 
&gt; &gt; &gt; Clearing flags on attachment: 313552
&gt; &gt; &gt; 
&gt; &gt; &gt; Committed r218660: &lt;http://trac.webkit.org/changeset/218660&gt;
&gt; &gt; 
&gt; &gt; This change broke the Windows Debug build:
&gt; &gt; https://build.webkit.org/builders/Apple%20Win%20Debug%20%28Build%29/builds/
&gt; &gt; 2230
&gt; 
&gt; Will fix now, thanks.

&lt;http://trac.webkit.org/changeset/218671&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1321717</commentid>
    <comment_count>18</comment_count>
      <attachid>313552</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-06-21 18:32:22 -0700</bug_when>
    <thetext>Comment on attachment 313552
Patch

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

&gt;&gt; Source/WebCore/page/Page.cpp:284
&gt;&gt; +        networkStateNotifier().addNetworkStateChangeListener(WTF::Function&lt;void (bool)&gt; { networkStateChanged });
&gt; 
&gt; Somehow Windows requires the explicit WTF::Function&lt;void (bool)&gt; { } here.

I really need to find a way to make Window build without this. This is ugly :/</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>313526</attachid>
            <date>2017-06-21 10:05:26 -0700</date>
            <delta_ts>2017-06-21 10:46:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-173660-20170621100525.patch</filename>
            <type>text/plain</type>
            <size>6186</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE4NjE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGE5NmJjYjdjNzBhZmY1NzAzODM2YTAz
MGZlOWY0ZWZjYWYxMjY2MzUuLjA5OWY4N2ZmY2ZmNTZlMWVhMjdlMWE5NWQ0ZjNkNmI1N2Q3OWMw
YmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTctMDYtMjEgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KKworICAgICAgICBBbGxvdyBjb25zdHJ1Y3RpbmcgYSBXVEY6RnVuY3Rpb24g
ZnJvbSBhIGZ1bmN0aW9uIHBvaW50ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE3MzY2MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFsbG93IGNvbnN0cnVjdGluZyBhIFdURjpGdW5jdGlvbiBmcm9tIGEg
ZnVuY3Rpb24gcG9pbnRlci4KKworICAgICAgICAqIHd0Zi9GdW5jdGlvbi5oOgorCiAyMDE3LTA2
LTIwICBLb25zdGFudGluIFRva2FyZXYgIDxhbm51bGVuQHlhbmRleC5ydT4KIAogICAgICAgICBS
ZW1vdmUgZXhjZXNzaXZlIGluY2x1ZGUgZGlyZWN0aXZlcyBmcm9tIFdURgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4
IGIyYWNkZTdkNjhkNjRiNzRiNjg0MTA4N2QwOWVkYWViYzQ5M2ZlODUuLjg5MTg2NDJjZTAwZWUy
ZmM4ZDI0M2RiODkwZjI5NDRmOGQ0YmMzYjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAor
MjAxNy0wNi0yMSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIEFs
bG93IGNvbnN0cnVjdGluZyBhIFdURjpGdW5jdGlvbiBmcm9tIGEgZnVuY3Rpb24gcG9pbnRlcgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTczNjYwCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ29uc3RydWN0
IFdURjpGdW5jdGlvbiBkaXJlY3RseSBmcm9tIGEgZnVuY3Rpb24gcG9pbnRlciB3aGVuIHBvc3Np
YmxlCisgICAgICAgIGluc3RlYWQgb2YgY29uc3RydWN0aW5nIGEgbGFtYmRhIHRvIGRvIHNvLgor
CisgICAgICAgICogcGFnZS9tYWMvUGFnZU1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6
OnBsYXRmb3JtSW5pdGlhbGl6ZSk6CisgICAgICAgICogcGxhdGZvcm0vY2YvTWFpblRocmVhZFNo
YXJlZFRpbWVyQ0YuY3BwOgorICAgICAgICAoV2ViQ29yZTo6c2V0dXBQb3dlck9ic2VydmVyKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvV2ViQ29yZU5TVVJMRXh0cmFzLm1tOgorICAgICAgICAq
IHJlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNpbXBs
ZUxpbmVMYXlvdXQ6OmNhblVzZUZvcldpdGhSZWFzb24pOgorCiAyMDE3LTA2LTIwICBDaHJpcyBE
dW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgVXNlIFdURjo6RnVuY3Rpb24gaW5z
dGVhZCBvZiBzdGQ6OmZ1bmN0aW9uIGluIG1vcmUgcGxhY2VzIGluIFdlYkNvcmUvCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV1RGL3d0Zi9GdW5jdGlvbi5oIGIvU291cmNlL1dURi93dGYvRnVuY3Rpb24u
aAppbmRleCAxYzk1ODU2MjM4ZTQ3YzVkOGIzOGQ4NjFjMGJmNzFkYmVkOGJkY2VkLi43ODI2Yzg1
OTdhZWFjOTQxM2E3YjJkZGQ2NTIzYWI2Njk2MDY2ZTk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RG
L3d0Zi9GdW5jdGlvbi5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL0Z1bmN0aW9uLmgKQEAgLTQ0LDYg
KzQ0LDEyIEBAIHB1YmxpYzoKICAgICB7CiAgICAgfQogCisgICAgdGVtcGxhdGU8dHlwZW5hbWUg
RnVuY3Rpb25UeXBlLCBjbGFzcyA9IHR5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmPHN0ZDo6aXNfcG9p
bnRlcjxGdW5jdGlvblR5cGU+Ojp2YWx1ZSAmJiBzdGQ6OmlzX2Z1bmN0aW9uPHR5cGVuYW1lIHN0
ZDo6cmVtb3ZlX3BvaW50ZXI8RnVuY3Rpb25UeXBlPjo6dHlwZT46OnZhbHVlPjo6dHlwZT4KKyAg
ICBGdW5jdGlvbihGdW5jdGlvblR5cGUgZikKKyAgICAgICAgOiBtX2NhbGxhYmxlV3JhcHBlcihz
dGQ6Om1ha2VfdW5pcXVlPENhbGxhYmxlV3JhcHBlcjxGdW5jdGlvblR5cGU+PihXVEZNb3ZlKGYp
KSkKKyAgICB7CisgICAgfQorCiAgICAgT3V0IG9wZXJhdG9yKCkoSW4uLi4gaW4pIGNvbnN0CiAg
ICAgewogICAgICAgICBpZiAobV9jYWxsYWJsZVdyYXBwZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL21hYy9QYWdlTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvUGFn
ZU1hYy5tbQppbmRleCA2YTM5ZDQ2OTlkZTFkYzBjNjYyOTgxZWEzNjA1YmVhNTNjMjgxZGY1Li5j
ZmRkNmY1Zjk5YjUxMDU4YzU1ZjE4YTIzM2QyNDA1MDdlMjRlODNjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL21hYy9QYWdlTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
bWFjL1BhZ2VNYWMubW0KQEAgLTYxLDggKzYxLDggQEAgdm9pZCBQYWdlOjpwbGF0Zm9ybUluaXRp
YWxpemUoKQogI2lmIEVOQUJMRShUUkVFX0RFQlVHR0lORykKICAgICBzdGF0aWMgc3RkOjpvbmNl
X2ZsYWcgb25jZUZsYWc7CiAgICAgc3RkOjpjYWxsX29uY2Uob25jZUZsYWcsIFtdIHsKLSAgICAg
ICAgcmVnaXN0ZXJOb3RpZnlDYWxsYmFjaygiY29tLmFwcGxlLldlYktpdC5zaG93UmVuZGVyVHJl
ZSIsIFtdIHsgcHJpbnRSZW5kZXJUcmVlRm9yTGl2ZURvY3VtZW50cygpOyB9KTsKLSAgICAgICAg
cmVnaXN0ZXJOb3RpZnlDYWxsYmFjaygiY29tLmFwcGxlLldlYktpdC5zaG93TGF5ZXJUcmVlIiwg
W10geyBwcmludExheWVyVHJlZUZvckxpdmVEb2N1bWVudHMoKTsgfSk7CisgICAgICAgIHJlZ2lz
dGVyTm90aWZ5Q2FsbGJhY2soImNvbS5hcHBsZS5XZWJLaXQuc2hvd1JlbmRlclRyZWUiLCBwcmlu
dFJlbmRlclRyZWVGb3JMaXZlRG9jdW1lbnRzKTsKKyAgICAgICAgcmVnaXN0ZXJOb3RpZnlDYWxs
YmFjaygiY29tLmFwcGxlLldlYktpdC5zaG93TGF5ZXJUcmVlIiwgcHJpbnRMYXllclRyZWVGb3JM
aXZlRG9jdW1lbnRzKTsKICAgICB9KTsKICNlbmRpZgogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vY2YvTWFpblRocmVhZFNoYXJlZFRpbWVyQ0YuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vY2YvTWFpblRocmVhZFNoYXJlZFRpbWVyQ0YuY3BwCmluZGV4IGYwMTgz
YjE0ZGJmYzJjNDhjZDIxOTYzYmY4NDczOTk2YjIwYjE0ZmUuLmY5ZTRiZjgwMDAyNGRlYWZkNmUz
MDMyNDA1ZmFkYzg1ZDBkYzcwNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2NmL01haW5UaHJlYWRTaGFyZWRUaW1lckNGLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9jZi9NYWluVGhyZWFkU2hhcmVkVGltZXJDRi5jcHAKQEAgLTU3LDcgKzU3LDcgQEAgc3Rh
dGljIHZvaWQgc2V0dXBQb3dlck9ic2VydmVyKCkKICNpZiBQTEFURk9STShNQUMpCiAgICAgc3Rh
dGljIFBvd2VyT2JzZXJ2ZXIqIHBvd2VyT2JzZXJ2ZXI7CiAgICAgaWYgKCFwb3dlck9ic2VydmVy
KQotICAgICAgICBwb3dlck9ic2VydmVyID0gc3RkOjptYWtlX3VuaXF1ZTxQb3dlck9ic2VydmVy
PihbXSB7IHJlc3RhcnRTaGFyZWRUaW1lcigpOyB9KS5yZWxlYXNlKCk7CisgICAgICAgIHBvd2Vy
T2JzZXJ2ZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPFBvd2VyT2JzZXJ2ZXI+KHJlc3RhcnRTaGFyZWRU
aW1lcikucmVsZWFzZSgpOwogI2VsaWYgUExBVEZPUk0oSU9TKQogICAgIHN0YXRpYyBib29sIHJl
Z2lzdGVyZWRGb3JBcHBsaWNhdGlvbk5vdGlmaWNhdGlvbiA9IGZhbHNlOwogICAgIGlmICghcmVn
aXN0ZXJlZEZvckFwcGxpY2F0aW9uTm90aWZpY2F0aW9uKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2ViQ29yZU5TVVJMRXh0cmFzLm1tIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWFjL1dlYkNvcmVOU1VSTEV4dHJhcy5tbQppbmRleCBhZWQ2MDU3Y2E1Mjc2
ZDNhNDNhMDIyYTYyMTBiYTQ1MTEwMzlhZTgxLi44ODUzYjU4OWViZWM5Yjk0MjZkYmY5OWM2OGUw
N2IzNzNlZWUzY2NmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2Vi
Q29yZU5TVVJMRXh0cmFzLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJD
b3JlTlNVUkxFeHRyYXMubW0KQEAgLTI5NCw3ICsyOTQsNyBAQCBzdGF0aWMgYm9vbCBpc1NlY29u
ZExldmVsRG9tYWluTmFtZUFsbG93ZWRCeVRMRFJ1bGVzKGNvbnN0IFVDaGFyKiBidWZmZXIsIGlu
dDMyXwogICAgIHsgXAogICAgICAgICBzdGF0aWMgY29uc3QgaW50MzJfdCBzdWZmaXhMZW5ndGgg
PSBzaXplb2Yoc3VmZml4KSAvIHNpemVvZihzdWZmaXhbMF0pOyBcCiAgICAgICAgIGlmIChsZW5n
dGggPiBzdWZmaXhMZW5ndGggJiYgMCA9PSBtZW1jbXAoYnVmZmVyICsgbGVuZ3RoIC0gc3VmZml4
TGVuZ3RoLCBzdWZmaXgsIHNpemVvZihzdWZmaXgpKSkgXAotICAgICAgICAgICAgcmV0dXJuIGlz
U2Vjb25kTGV2ZWxEb21haW5OYW1lQWxsb3dlZEJ5VExEUnVsZXMoYnVmZmVyLCBsZW5ndGggLSBz
dWZmaXhMZW5ndGgsIFtdKFVDaGFyIGMpIHsgcmV0dXJuIGZ1bmN0aW9uKGMpOyB9KTsgXAorICAg
ICAgICAgICAgcmV0dXJuIGlzU2Vjb25kTGV2ZWxEb21haW5OYW1lQWxsb3dlZEJ5VExEUnVsZXMo
YnVmZmVyLCBsZW5ndGggLSBzdWZmaXhMZW5ndGgsIGZ1bmN0aW9uKTsgXAogICAgIH0KIAogc3Rh
dGljIGJvb2wgaXNSdXNzaWFuRG9tYWluTmFtZUNoYXJhY3RlcihVQ2hhciBjaCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0LmNwcAppbmRleCA0NDNhMWFmZDYz
YTMzYTIzOTljZDEwYjc1ZTVmYjE0NDMxMDgyYjlmLi4yM2IyNjJhYjhhYTJhMjdjZGI3MGVhOGM5
ODBhMTAzMDM0YWFhMjA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2lt
cGxlTGluZUxheW91dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1NpbXBsZUxp
bmVMYXlvdXQuY3BwCkBAIC0yNTQsOSArMjU0LDkgQEAgQXZvaWRhbmNlUmVhc29uRmxhZ3MgY2Fu
VXNlRm9yV2l0aFJlYXNvbihjb25zdCBSZW5kZXJCbG9ja0Zsb3cmIGZsb3csIEluY2x1ZGVSZWEK
ICNpZm5kZWYgTkRFQlVHCiAgICAgc3RhdGljIHN0ZDo6b25jZV9mbGFnIG9uY2VGbGFnOwogICAg
IHN0ZDo6Y2FsbF9vbmNlKG9uY2VGbGFnLCBbXSB7Ci0gICAgICAgIHJlZ2lzdGVyTm90aWZ5Q2Fs
bGJhY2soImNvbS5hcHBsZS5XZWJLaXQuc2hvd1NpbXBsZUxpbmVMYXlvdXRDb3ZlcmFnZSIsIFtd
IHsgcHJpbnRTaW1wbGVMaW5lTGF5b3V0Q292ZXJhZ2UoKTsgfSk7Ci0gICAgICAgIHJlZ2lzdGVy
Tm90aWZ5Q2FsbGJhY2soImNvbS5hcHBsZS5XZWJLaXQuc2hvd1NpbXBsZUxpbmVMYXlvdXRSZWFz
b25zIiwgW10geyBwcmludFNpbXBsZUxpbmVMYXlvdXRCbG9ja0xpc3QoKTsgfSk7Ci0gICAgICAg
IHJlZ2lzdGVyTm90aWZ5Q2FsbGJhY2soImNvbS5hcHBsZS5XZWJLaXQudG9nZ2xlU2ltcGxlTGlu
ZUxheW91dCIsIFtdIHsgdG9nZ2xlU2ltcGxlTGluZUxheW91dCgpOyB9KTsKKyAgICAgICAgcmVn
aXN0ZXJOb3RpZnlDYWxsYmFjaygiY29tLmFwcGxlLldlYktpdC5zaG93U2ltcGxlTGluZUxheW91
dENvdmVyYWdlIiwgcHJpbnRTaW1wbGVMaW5lTGF5b3V0Q292ZXJhZ2UpOworICAgICAgICByZWdp
c3Rlck5vdGlmeUNhbGxiYWNrKCJjb20uYXBwbGUuV2ViS2l0LnNob3dTaW1wbGVMaW5lTGF5b3V0
UmVhc29ucyIsIHByaW50U2ltcGxlTGluZUxheW91dEJsb2NrTGlzdCk7CisgICAgICAgIHJlZ2lz
dGVyTm90aWZ5Q2FsbGJhY2soImNvbS5hcHBsZS5XZWJLaXQudG9nZ2xlU2ltcGxlTGluZUxheW91
dCIsIHRvZ2dsZVNpbXBsZUxpbmVMYXlvdXQpOwogICAgIH0pOwogI2VuZGlmCiAgICAgQXZvaWRh
bmNlUmVhc29uRmxhZ3MgcmVhc29ucyA9IHsgfTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>313530</attachid>
            <date>2017-06-21 10:46:08 -0700</date>
            <delta_ts>2017-06-21 10:58:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-173660-20170621104608.patch</filename>
            <type>text/plain</type>
            <size>7161</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE4NjE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGE5NmJjYjdjNzBhZmY1NzAzODM2YTAz
MGZlOWY0ZWZjYWYxMjY2MzUuLjA5OWY4N2ZmY2ZmNTZlMWVhMjdlMWE5NWQ0ZjNkNmI1N2Q3OWMw
YmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTctMDYtMjEgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KKworICAgICAgICBBbGxvdyBjb25zdHJ1Y3RpbmcgYSBXVEY6RnVuY3Rpb24g
ZnJvbSBhIGZ1bmN0aW9uIHBvaW50ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE3MzY2MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFsbG93IGNvbnN0cnVjdGluZyBhIFdURjpGdW5jdGlvbiBmcm9tIGEg
ZnVuY3Rpb24gcG9pbnRlci4KKworICAgICAgICAqIHd0Zi9GdW5jdGlvbi5oOgorCiAyMDE3LTA2
LTIwICBLb25zdGFudGluIFRva2FyZXYgIDxhbm51bGVuQHlhbmRleC5ydT4KIAogICAgICAgICBS
ZW1vdmUgZXhjZXNzaXZlIGluY2x1ZGUgZGlyZWN0aXZlcyBmcm9tIFdURgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4
IGIyYWNkZTdkNjhkNjRiNzRiNjg0MTA4N2QwOWVkYWViYzQ5M2ZlODUuLjg5MTg2NDJjZTAwZWUy
ZmM4ZDI0M2RiODkwZjI5NDRmOGQ0YmMzYjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAor
MjAxNy0wNi0yMSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIEFs
bG93IGNvbnN0cnVjdGluZyBhIFdURjpGdW5jdGlvbiBmcm9tIGEgZnVuY3Rpb24gcG9pbnRlcgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTczNjYwCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ29uc3RydWN0
IFdURjpGdW5jdGlvbiBkaXJlY3RseSBmcm9tIGEgZnVuY3Rpb24gcG9pbnRlciB3aGVuIHBvc3Np
YmxlCisgICAgICAgIGluc3RlYWQgb2YgY29uc3RydWN0aW5nIGEgbGFtYmRhIHRvIGRvIHNvLgor
CisgICAgICAgICogcGFnZS9tYWMvUGFnZU1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6
OnBsYXRmb3JtSW5pdGlhbGl6ZSk6CisgICAgICAgICogcGxhdGZvcm0vY2YvTWFpblRocmVhZFNo
YXJlZFRpbWVyQ0YuY3BwOgorICAgICAgICAoV2ViQ29yZTo6c2V0dXBQb3dlck9ic2VydmVyKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvV2ViQ29yZU5TVVJMRXh0cmFzLm1tOgorICAgICAgICAq
IHJlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNpbXBs
ZUxpbmVMYXlvdXQ6OmNhblVzZUZvcldpdGhSZWFzb24pOgorCiAyMDE3LTA2LTIwICBDaHJpcyBE
dW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgVXNlIFdURjo6RnVuY3Rpb24gaW5z
dGVhZCBvZiBzdGQ6OmZ1bmN0aW9uIGluIG1vcmUgcGxhY2VzIGluIFdlYkNvcmUvCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV1RGL3d0Zi9GdW5jdGlvbi5oIGIvU291cmNlL1dURi93dGYvRnVuY3Rpb24u
aAppbmRleCAxYzk1ODU2MjM4ZTQ3YzVkOGIzOGQ4NjFjMGJmNzFkYmVkOGJkY2VkLi43ODI2Yzg1
OTdhZWFjOTQxM2E3YjJkZGQ2NTIzYWI2Njk2MDY2ZTk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RG
L3d0Zi9GdW5jdGlvbi5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL0Z1bmN0aW9uLmgKQEAgLTQ0LDYg
KzQ0LDEyIEBAIHB1YmxpYzoKICAgICB7CiAgICAgfQogCisgICAgdGVtcGxhdGU8dHlwZW5hbWUg
RnVuY3Rpb25UeXBlLCBjbGFzcyA9IHR5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmPHN0ZDo6aXNfcG9p
bnRlcjxGdW5jdGlvblR5cGU+Ojp2YWx1ZSAmJiBzdGQ6OmlzX2Z1bmN0aW9uPHR5cGVuYW1lIHN0
ZDo6cmVtb3ZlX3BvaW50ZXI8RnVuY3Rpb25UeXBlPjo6dHlwZT46OnZhbHVlPjo6dHlwZT4KKyAg
ICBGdW5jdGlvbihGdW5jdGlvblR5cGUgZikKKyAgICAgICAgOiBtX2NhbGxhYmxlV3JhcHBlcihz
dGQ6Om1ha2VfdW5pcXVlPENhbGxhYmxlV3JhcHBlcjxGdW5jdGlvblR5cGU+PihXVEZNb3ZlKGYp
KSkKKyAgICB7CisgICAgfQorCiAgICAgT3V0IG9wZXJhdG9yKCkoSW4uLi4gaW4pIGNvbnN0CiAg
ICAgewogICAgICAgICBpZiAobV9jYWxsYWJsZVdyYXBwZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL0luaXREYXRhUmVnaXN0cnkuY3BwIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9Jbml0RGF0YVJlZ2lzdHJ5LmNwcApp
bmRleCAxZTc3MmMyNTgzMWU1Nzk1ZjI1Nzg5MWYwNmI5NDJiZGE2OGNkMTBiLi5lNzU3ZDAxYWQ4
NmZkN2MyMzMzOWFiZDhjM2FhYzNmN2QyNGYyMjM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL0luaXREYXRhUmVnaXN0cnkuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvSW5pdERhdGFSZWdpc3RyeS5jcHAKQEAg
LTEzMSw5ICsxMzEsOSBAQCBJbml0RGF0YVJlZ2lzdHJ5JiBJbml0RGF0YVJlZ2lzdHJ5OjpzaGFy
ZWQoKQogCiBJbml0RGF0YVJlZ2lzdHJ5OjpJbml0RGF0YVJlZ2lzdHJ5KCkKIHsKLSAgICByZWdp
c3RlckluaXREYXRhVHlwZSgia2V5aWRzIiwgeyAmc2FuaXRpemVLZXlpZHMsICZleHRyYWN0S2V5
SURzS2V5aWRzIH0pOwotICAgIHJlZ2lzdGVySW5pdERhdGFUeXBlKCJjZW5jIiwgeyAmc2FuaXRp
emVDZW5jLCAmZXh0cmFjdEtleUlEc0NlbmMgfSk7Ci0gICAgcmVnaXN0ZXJJbml0RGF0YVR5cGUo
IndlYm0iLCB7ICZzYW5pdGl6ZVdlYk0sICZleHRyYWN0S2V5SURzV2ViTSB9KTsKKyAgICByZWdp
c3RlckluaXREYXRhVHlwZSgia2V5aWRzIiwgeyAmc2FuaXRpemVLZXlpZHMsIGV4dHJhY3RLZXlJ
RHNLZXlpZHMgfSk7CisgICAgcmVnaXN0ZXJJbml0RGF0YVR5cGUoImNlbmMiLCB7ICZzYW5pdGl6
ZUNlbmMsIGV4dHJhY3RLZXlJRHNDZW5jIH0pOworICAgIHJlZ2lzdGVySW5pdERhdGFUeXBlKCJ3
ZWJtIiwgeyAmc2FuaXRpemVXZWJNLCBleHRyYWN0S2V5SURzV2ViTSB9KTsKIH0KIAogSW5pdERh
dGFSZWdpc3RyeTo6fkluaXREYXRhUmVnaXN0cnkoKSA9IGRlZmF1bHQ7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL21hYy9QYWdlTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGFnZS9t
YWMvUGFnZU1hYy5tbQppbmRleCA2YTM5ZDQ2OTlkZTFkYzBjNjYyOTgxZWEzNjA1YmVhNTNjMjgx
ZGY1Li5jZmRkNmY1Zjk5YjUxMDU4YzU1ZjE4YTIzM2QyNDA1MDdlMjRlODNjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9QYWdlTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvbWFjL1BhZ2VNYWMubW0KQEAgLTYxLDggKzYxLDggQEAgdm9pZCBQYWdlOjpwbGF0Zm9y
bUluaXRpYWxpemUoKQogI2lmIEVOQUJMRShUUkVFX0RFQlVHR0lORykKICAgICBzdGF0aWMgc3Rk
OjpvbmNlX2ZsYWcgb25jZUZsYWc7CiAgICAgc3RkOjpjYWxsX29uY2Uob25jZUZsYWcsIFtdIHsK
LSAgICAgICAgcmVnaXN0ZXJOb3RpZnlDYWxsYmFjaygiY29tLmFwcGxlLldlYktpdC5zaG93UmVu
ZGVyVHJlZSIsIFtdIHsgcHJpbnRSZW5kZXJUcmVlRm9yTGl2ZURvY3VtZW50cygpOyB9KTsKLSAg
ICAgICAgcmVnaXN0ZXJOb3RpZnlDYWxsYmFjaygiY29tLmFwcGxlLldlYktpdC5zaG93TGF5ZXJU
cmVlIiwgW10geyBwcmludExheWVyVHJlZUZvckxpdmVEb2N1bWVudHMoKTsgfSk7CisgICAgICAg
IHJlZ2lzdGVyTm90aWZ5Q2FsbGJhY2soImNvbS5hcHBsZS5XZWJLaXQuc2hvd1JlbmRlclRyZWUi
LCBwcmludFJlbmRlclRyZWVGb3JMaXZlRG9jdW1lbnRzKTsKKyAgICAgICAgcmVnaXN0ZXJOb3Rp
ZnlDYWxsYmFjaygiY29tLmFwcGxlLldlYktpdC5zaG93TGF5ZXJUcmVlIiwgcHJpbnRMYXllclRy
ZWVGb3JMaXZlRG9jdW1lbnRzKTsKICAgICB9KTsKICNlbmRpZgogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2YvTWFpblRocmVhZFNoYXJlZFRpbWVyQ0YuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2YvTWFpblRocmVhZFNoYXJlZFRpbWVyQ0YuY3BwCmluZGV4
IGYwMTgzYjE0ZGJmYzJjNDhjZDIxOTYzYmY4NDczOTk2YjIwYjE0ZmUuLmY5ZTRiZjgwMDAyNGRl
YWZkNmUzMDMyNDA1ZmFkYzg1ZDBkYzcwNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2NmL01haW5UaHJlYWRTaGFyZWRUaW1lckNGLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9jZi9NYWluVGhyZWFkU2hhcmVkVGltZXJDRi5jcHAKQEAgLTU3LDcgKzU3LDcg
QEAgc3RhdGljIHZvaWQgc2V0dXBQb3dlck9ic2VydmVyKCkKICNpZiBQTEFURk9STShNQUMpCiAg
ICAgc3RhdGljIFBvd2VyT2JzZXJ2ZXIqIHBvd2VyT2JzZXJ2ZXI7CiAgICAgaWYgKCFwb3dlck9i
c2VydmVyKQotICAgICAgICBwb3dlck9ic2VydmVyID0gc3RkOjptYWtlX3VuaXF1ZTxQb3dlck9i
c2VydmVyPihbXSB7IHJlc3RhcnRTaGFyZWRUaW1lcigpOyB9KS5yZWxlYXNlKCk7CisgICAgICAg
IHBvd2VyT2JzZXJ2ZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPFBvd2VyT2JzZXJ2ZXI+KHJlc3RhcnRT
aGFyZWRUaW1lcikucmVsZWFzZSgpOwogI2VsaWYgUExBVEZPUk0oSU9TKQogICAgIHN0YXRpYyBi
b29sIHJlZ2lzdGVyZWRGb3JBcHBsaWNhdGlvbk5vdGlmaWNhdGlvbiA9IGZhbHNlOwogICAgIGlm
ICghcmVnaXN0ZXJlZEZvckFwcGxpY2F0aW9uTm90aWZpY2F0aW9uKSB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2ViQ29yZU5TVVJMRXh0cmFzLm1tIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWFjL1dlYkNvcmVOU1VSTEV4dHJhcy5tbQppbmRleCBhZWQ2MDU3
Y2E1Mjc2ZDNhNDNhMDIyYTYyMTBiYTQ1MTEwMzlhZTgxLi44ODUzYjU4OWViZWM5Yjk0MjZkYmY5
OWM2OGUwN2IzNzNlZWUzY2NmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
YWMvV2ViQ29yZU5TVVJMRXh0cmFzLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21h
Yy9XZWJDb3JlTlNVUkxFeHRyYXMubW0KQEAgLTI5NCw3ICsyOTQsNyBAQCBzdGF0aWMgYm9vbCBp
c1NlY29uZExldmVsRG9tYWluTmFtZUFsbG93ZWRCeVRMRFJ1bGVzKGNvbnN0IFVDaGFyKiBidWZm
ZXIsIGludDMyXwogICAgIHsgXAogICAgICAgICBzdGF0aWMgY29uc3QgaW50MzJfdCBzdWZmaXhM
ZW5ndGggPSBzaXplb2Yoc3VmZml4KSAvIHNpemVvZihzdWZmaXhbMF0pOyBcCiAgICAgICAgIGlm
IChsZW5ndGggPiBzdWZmaXhMZW5ndGggJiYgMCA9PSBtZW1jbXAoYnVmZmVyICsgbGVuZ3RoIC0g
c3VmZml4TGVuZ3RoLCBzdWZmaXgsIHNpemVvZihzdWZmaXgpKSkgXAotICAgICAgICAgICAgcmV0
dXJuIGlzU2Vjb25kTGV2ZWxEb21haW5OYW1lQWxsb3dlZEJ5VExEUnVsZXMoYnVmZmVyLCBsZW5n
dGggLSBzdWZmaXhMZW5ndGgsIFtdKFVDaGFyIGMpIHsgcmV0dXJuIGZ1bmN0aW9uKGMpOyB9KTsg
XAorICAgICAgICAgICAgcmV0dXJuIGlzU2Vjb25kTGV2ZWxEb21haW5OYW1lQWxsb3dlZEJ5VExE
UnVsZXMoYnVmZmVyLCBsZW5ndGggLSBzdWZmaXhMZW5ndGgsIGZ1bmN0aW9uKTsgXAogICAgIH0K
IAogc3RhdGljIGJvb2wgaXNSdXNzaWFuRG9tYWluTmFtZUNoYXJhY3RlcihVQ2hhciBjaCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0LmNwcAppbmRleCA0NDNh
MWFmZDYzYTMzYTIzOTljZDEwYjc1ZTVmYjE0NDMxMDgyYjlmLi4yM2IyNjJhYjhhYTJhMjdjZGI3
MGVhOGM5ODBhMTAzMDM0YWFhMjA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvU2ltcGxlTGluZUxheW91dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Np
bXBsZUxpbmVMYXlvdXQuY3BwCkBAIC0yNTQsOSArMjU0LDkgQEAgQXZvaWRhbmNlUmVhc29uRmxh
Z3MgY2FuVXNlRm9yV2l0aFJlYXNvbihjb25zdCBSZW5kZXJCbG9ja0Zsb3cmIGZsb3csIEluY2x1
ZGVSZWEKICNpZm5kZWYgTkRFQlVHCiAgICAgc3RhdGljIHN0ZDo6b25jZV9mbGFnIG9uY2VGbGFn
OwogICAgIHN0ZDo6Y2FsbF9vbmNlKG9uY2VGbGFnLCBbXSB7Ci0gICAgICAgIHJlZ2lzdGVyTm90
aWZ5Q2FsbGJhY2soImNvbS5hcHBsZS5XZWJLaXQuc2hvd1NpbXBsZUxpbmVMYXlvdXRDb3ZlcmFn
ZSIsIFtdIHsgcHJpbnRTaW1wbGVMaW5lTGF5b3V0Q292ZXJhZ2UoKTsgfSk7Ci0gICAgICAgIHJl
Z2lzdGVyTm90aWZ5Q2FsbGJhY2soImNvbS5hcHBsZS5XZWJLaXQuc2hvd1NpbXBsZUxpbmVMYXlv
dXRSZWFzb25zIiwgW10geyBwcmludFNpbXBsZUxpbmVMYXlvdXRCbG9ja0xpc3QoKTsgfSk7Ci0g
ICAgICAgIHJlZ2lzdGVyTm90aWZ5Q2FsbGJhY2soImNvbS5hcHBsZS5XZWJLaXQudG9nZ2xlU2lt
cGxlTGluZUxheW91dCIsIFtdIHsgdG9nZ2xlU2ltcGxlTGluZUxheW91dCgpOyB9KTsKKyAgICAg
ICAgcmVnaXN0ZXJOb3RpZnlDYWxsYmFjaygiY29tLmFwcGxlLldlYktpdC5zaG93U2ltcGxlTGlu
ZUxheW91dENvdmVyYWdlIiwgcHJpbnRTaW1wbGVMaW5lTGF5b3V0Q292ZXJhZ2UpOworICAgICAg
ICByZWdpc3Rlck5vdGlmeUNhbGxiYWNrKCJjb20uYXBwbGUuV2ViS2l0LnNob3dTaW1wbGVMaW5l
TGF5b3V0UmVhc29ucyIsIHByaW50U2ltcGxlTGluZUxheW91dEJsb2NrTGlzdCk7CisgICAgICAg
IHJlZ2lzdGVyTm90aWZ5Q2FsbGJhY2soImNvbS5hcHBsZS5XZWJLaXQudG9nZ2xlU2ltcGxlTGlu
ZUxheW91dCIsIHRvZ2dsZVNpbXBsZUxpbmVMYXlvdXQpOwogICAgIH0pOwogI2VuZGlmCiAgICAg
QXZvaWRhbmNlUmVhc29uRmxhZ3MgcmVhc29ucyA9IHsgfTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>313531</attachid>
            <date>2017-06-21 10:58:17 -0700</date>
            <delta_ts>2017-06-21 12:06:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-173660-20170621105817.patch</filename>
            <type>text/plain</type>
            <size>7158</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE4NjE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGE5NmJjYjdjNzBhZmY1NzAzODM2YTAz
MGZlOWY0ZWZjYWYxMjY2MzUuLjA5OWY4N2ZmY2ZmNTZlMWVhMjdlMWE5NWQ0ZjNkNmI1N2Q3OWMw
YmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTctMDYtMjEgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KKworICAgICAgICBBbGxvdyBjb25zdHJ1Y3RpbmcgYSBXVEY6RnVuY3Rpb24g
ZnJvbSBhIGZ1bmN0aW9uIHBvaW50ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE3MzY2MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFsbG93IGNvbnN0cnVjdGluZyBhIFdURjpGdW5jdGlvbiBmcm9tIGEg
ZnVuY3Rpb24gcG9pbnRlci4KKworICAgICAgICAqIHd0Zi9GdW5jdGlvbi5oOgorCiAyMDE3LTA2
LTIwICBLb25zdGFudGluIFRva2FyZXYgIDxhbm51bGVuQHlhbmRleC5ydT4KIAogICAgICAgICBS
ZW1vdmUgZXhjZXNzaXZlIGluY2x1ZGUgZGlyZWN0aXZlcyBmcm9tIFdURgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4
IGIyYWNkZTdkNjhkNjRiNzRiNjg0MTA4N2QwOWVkYWViYzQ5M2ZlODUuLjg5MTg2NDJjZTAwZWUy
ZmM4ZDI0M2RiODkwZjI5NDRmOGQ0YmMzYjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAor
MjAxNy0wNi0yMSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIEFs
bG93IGNvbnN0cnVjdGluZyBhIFdURjpGdW5jdGlvbiBmcm9tIGEgZnVuY3Rpb24gcG9pbnRlcgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTczNjYwCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ29uc3RydWN0
IFdURjpGdW5jdGlvbiBkaXJlY3RseSBmcm9tIGEgZnVuY3Rpb24gcG9pbnRlciB3aGVuIHBvc3Np
YmxlCisgICAgICAgIGluc3RlYWQgb2YgY29uc3RydWN0aW5nIGEgbGFtYmRhIHRvIGRvIHNvLgor
CisgICAgICAgICogcGFnZS9tYWMvUGFnZU1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6
OnBsYXRmb3JtSW5pdGlhbGl6ZSk6CisgICAgICAgICogcGxhdGZvcm0vY2YvTWFpblRocmVhZFNo
YXJlZFRpbWVyQ0YuY3BwOgorICAgICAgICAoV2ViQ29yZTo6c2V0dXBQb3dlck9ic2VydmVyKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvV2ViQ29yZU5TVVJMRXh0cmFzLm1tOgorICAgICAgICAq
IHJlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNpbXBs
ZUxpbmVMYXlvdXQ6OmNhblVzZUZvcldpdGhSZWFzb24pOgorCiAyMDE3LTA2LTIwICBDaHJpcyBE
dW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgVXNlIFdURjo6RnVuY3Rpb24gaW5z
dGVhZCBvZiBzdGQ6OmZ1bmN0aW9uIGluIG1vcmUgcGxhY2VzIGluIFdlYkNvcmUvCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV1RGL3d0Zi9GdW5jdGlvbi5oIGIvU291cmNlL1dURi93dGYvRnVuY3Rpb24u
aAppbmRleCAxYzk1ODU2MjM4ZTQ3YzVkOGIzOGQ4NjFjMGJmNzFkYmVkOGJkY2VkLi43ODI2Yzg1
OTdhZWFjOTQxM2E3YjJkZGQ2NTIzYWI2Njk2MDY2ZTk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RG
L3d0Zi9GdW5jdGlvbi5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL0Z1bmN0aW9uLmgKQEAgLTQ0LDYg
KzQ0LDEyIEBAIHB1YmxpYzoKICAgICB7CiAgICAgfQogCisgICAgdGVtcGxhdGU8dHlwZW5hbWUg
RnVuY3Rpb25UeXBlLCBjbGFzcyA9IHR5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmPHN0ZDo6aXNfcG9p
bnRlcjxGdW5jdGlvblR5cGU+Ojp2YWx1ZSAmJiBzdGQ6OmlzX2Z1bmN0aW9uPHR5cGVuYW1lIHN0
ZDo6cmVtb3ZlX3BvaW50ZXI8RnVuY3Rpb25UeXBlPjo6dHlwZT46OnZhbHVlPjo6dHlwZT4KKyAg
ICBGdW5jdGlvbihGdW5jdGlvblR5cGUgZikKKyAgICAgICAgOiBtX2NhbGxhYmxlV3JhcHBlcihz
dGQ6Om1ha2VfdW5pcXVlPENhbGxhYmxlV3JhcHBlcjxGdW5jdGlvblR5cGU+PihXVEZNb3ZlKGYp
KSkKKyAgICB7CisgICAgfQorCiAgICAgT3V0IG9wZXJhdG9yKCkoSW4uLi4gaW4pIGNvbnN0CiAg
ICAgewogICAgICAgICBpZiAobV9jYWxsYWJsZVdyYXBwZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL0luaXREYXRhUmVnaXN0cnkuY3BwIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9Jbml0RGF0YVJlZ2lzdHJ5LmNwcApp
bmRleCAxZTc3MmMyNTgzMWU1Nzk1ZjI1Nzg5MWYwNmI5NDJiZGE2OGNkMTBiLi4wN2UzODE5M2Y2
ZTM0ZTE5ZjRiMmEzYTYzNjUwNjIzYTFjYmE5NTU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL0luaXREYXRhUmVnaXN0cnkuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvSW5pdERhdGFSZWdpc3RyeS5jcHAKQEAg
LTEzMSw5ICsxMzEsOSBAQCBJbml0RGF0YVJlZ2lzdHJ5JiBJbml0RGF0YVJlZ2lzdHJ5OjpzaGFy
ZWQoKQogCiBJbml0RGF0YVJlZ2lzdHJ5OjpJbml0RGF0YVJlZ2lzdHJ5KCkKIHsKLSAgICByZWdp
c3RlckluaXREYXRhVHlwZSgia2V5aWRzIiwgeyAmc2FuaXRpemVLZXlpZHMsICZleHRyYWN0S2V5
SURzS2V5aWRzIH0pOwotICAgIHJlZ2lzdGVySW5pdERhdGFUeXBlKCJjZW5jIiwgeyAmc2FuaXRp
emVDZW5jLCAmZXh0cmFjdEtleUlEc0NlbmMgfSk7Ci0gICAgcmVnaXN0ZXJJbml0RGF0YVR5cGUo
IndlYm0iLCB7ICZzYW5pdGl6ZVdlYk0sICZleHRyYWN0S2V5SURzV2ViTSB9KTsKKyAgICByZWdp
c3RlckluaXREYXRhVHlwZSgia2V5aWRzIiwgeyBzYW5pdGl6ZUtleWlkcywgZXh0cmFjdEtleUlE
c0tleWlkcyB9KTsKKyAgICByZWdpc3RlckluaXREYXRhVHlwZSgiY2VuYyIsIHsgc2FuaXRpemVD
ZW5jLCBleHRyYWN0S2V5SURzQ2VuYyB9KTsKKyAgICByZWdpc3RlckluaXREYXRhVHlwZSgid2Vi
bSIsIHsgc2FuaXRpemVXZWJNLCBleHRyYWN0S2V5SURzV2ViTSB9KTsKIH0KIAogSW5pdERhdGFS
ZWdpc3RyeTo6fkluaXREYXRhUmVnaXN0cnkoKSA9IGRlZmF1bHQ7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL21hYy9QYWdlTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMv
UGFnZU1hYy5tbQppbmRleCA2YTM5ZDQ2OTlkZTFkYzBjNjYyOTgxZWEzNjA1YmVhNTNjMjgxZGY1
Li5jZmRkNmY1Zjk5YjUxMDU4YzU1ZjE4YTIzM2QyNDA1MDdlMjRlODNjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL21hYy9QYWdlTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvbWFjL1BhZ2VNYWMubW0KQEAgLTYxLDggKzYxLDggQEAgdm9pZCBQYWdlOjpwbGF0Zm9ybUlu
aXRpYWxpemUoKQogI2lmIEVOQUJMRShUUkVFX0RFQlVHR0lORykKICAgICBzdGF0aWMgc3RkOjpv
bmNlX2ZsYWcgb25jZUZsYWc7CiAgICAgc3RkOjpjYWxsX29uY2Uob25jZUZsYWcsIFtdIHsKLSAg
ICAgICAgcmVnaXN0ZXJOb3RpZnlDYWxsYmFjaygiY29tLmFwcGxlLldlYktpdC5zaG93UmVuZGVy
VHJlZSIsIFtdIHsgcHJpbnRSZW5kZXJUcmVlRm9yTGl2ZURvY3VtZW50cygpOyB9KTsKLSAgICAg
ICAgcmVnaXN0ZXJOb3RpZnlDYWxsYmFjaygiY29tLmFwcGxlLldlYktpdC5zaG93TGF5ZXJUcmVl
IiwgW10geyBwcmludExheWVyVHJlZUZvckxpdmVEb2N1bWVudHMoKTsgfSk7CisgICAgICAgIHJl
Z2lzdGVyTm90aWZ5Q2FsbGJhY2soImNvbS5hcHBsZS5XZWJLaXQuc2hvd1JlbmRlclRyZWUiLCBw
cmludFJlbmRlclRyZWVGb3JMaXZlRG9jdW1lbnRzKTsKKyAgICAgICAgcmVnaXN0ZXJOb3RpZnlD
YWxsYmFjaygiY29tLmFwcGxlLldlYktpdC5zaG93TGF5ZXJUcmVlIiwgcHJpbnRMYXllclRyZWVG
b3JMaXZlRG9jdW1lbnRzKTsKICAgICB9KTsKICNlbmRpZgogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vY2YvTWFpblRocmVhZFNoYXJlZFRpbWVyQ0YuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vY2YvTWFpblRocmVhZFNoYXJlZFRpbWVyQ0YuY3BwCmluZGV4IGYw
MTgzYjE0ZGJmYzJjNDhjZDIxOTYzYmY4NDczOTk2YjIwYjE0ZmUuLmY5ZTRiZjgwMDAyNGRlYWZk
NmUzMDMyNDA1ZmFkYzg1ZDBkYzcwNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2NmL01haW5UaHJlYWRTaGFyZWRUaW1lckNGLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9jZi9NYWluVGhyZWFkU2hhcmVkVGltZXJDRi5jcHAKQEAgLTU3LDcgKzU3LDcgQEAg
c3RhdGljIHZvaWQgc2V0dXBQb3dlck9ic2VydmVyKCkKICNpZiBQTEFURk9STShNQUMpCiAgICAg
c3RhdGljIFBvd2VyT2JzZXJ2ZXIqIHBvd2VyT2JzZXJ2ZXI7CiAgICAgaWYgKCFwb3dlck9ic2Vy
dmVyKQotICAgICAgICBwb3dlck9ic2VydmVyID0gc3RkOjptYWtlX3VuaXF1ZTxQb3dlck9ic2Vy
dmVyPihbXSB7IHJlc3RhcnRTaGFyZWRUaW1lcigpOyB9KS5yZWxlYXNlKCk7CisgICAgICAgIHBv
d2VyT2JzZXJ2ZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPFBvd2VyT2JzZXJ2ZXI+KHJlc3RhcnRTaGFy
ZWRUaW1lcikucmVsZWFzZSgpOwogI2VsaWYgUExBVEZPUk0oSU9TKQogICAgIHN0YXRpYyBib29s
IHJlZ2lzdGVyZWRGb3JBcHBsaWNhdGlvbk5vdGlmaWNhdGlvbiA9IGZhbHNlOwogICAgIGlmICgh
cmVnaXN0ZXJlZEZvckFwcGxpY2F0aW9uTm90aWZpY2F0aW9uKSB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2ViQ29yZU5TVVJMRXh0cmFzLm1tIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWFjL1dlYkNvcmVOU1VSTEV4dHJhcy5tbQppbmRleCBhZWQ2MDU3Y2E1
Mjc2ZDNhNDNhMDIyYTYyMTBiYTQ1MTEwMzlhZTgxLi44ODUzYjU4OWViZWM5Yjk0MjZkYmY5OWM2
OGUwN2IzNzNlZWUzY2NmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMv
V2ViQ29yZU5TVVJMRXh0cmFzLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9X
ZWJDb3JlTlNVUkxFeHRyYXMubW0KQEAgLTI5NCw3ICsyOTQsNyBAQCBzdGF0aWMgYm9vbCBpc1Nl
Y29uZExldmVsRG9tYWluTmFtZUFsbG93ZWRCeVRMRFJ1bGVzKGNvbnN0IFVDaGFyKiBidWZmZXIs
IGludDMyXwogICAgIHsgXAogICAgICAgICBzdGF0aWMgY29uc3QgaW50MzJfdCBzdWZmaXhMZW5n
dGggPSBzaXplb2Yoc3VmZml4KSAvIHNpemVvZihzdWZmaXhbMF0pOyBcCiAgICAgICAgIGlmIChs
ZW5ndGggPiBzdWZmaXhMZW5ndGggJiYgMCA9PSBtZW1jbXAoYnVmZmVyICsgbGVuZ3RoIC0gc3Vm
Zml4TGVuZ3RoLCBzdWZmaXgsIHNpemVvZihzdWZmaXgpKSkgXAotICAgICAgICAgICAgcmV0dXJu
IGlzU2Vjb25kTGV2ZWxEb21haW5OYW1lQWxsb3dlZEJ5VExEUnVsZXMoYnVmZmVyLCBsZW5ndGgg
LSBzdWZmaXhMZW5ndGgsIFtdKFVDaGFyIGMpIHsgcmV0dXJuIGZ1bmN0aW9uKGMpOyB9KTsgXAor
ICAgICAgICAgICAgcmV0dXJuIGlzU2Vjb25kTGV2ZWxEb21haW5OYW1lQWxsb3dlZEJ5VExEUnVs
ZXMoYnVmZmVyLCBsZW5ndGggLSBzdWZmaXhMZW5ndGgsIGZ1bmN0aW9uKTsgXAogICAgIH0KIAog
c3RhdGljIGJvb2wgaXNSdXNzaWFuRG9tYWluTmFtZUNoYXJhY3RlcihVQ2hhciBjaCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0LmNwcAppbmRleCA0NDNhMWFm
ZDYzYTMzYTIzOTljZDEwYjc1ZTVmYjE0NDMxMDgyYjlmLi4yM2IyNjJhYjhhYTJhMjdjZGI3MGVh
OGM5ODBhMTAzMDM0YWFhMjA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
U2ltcGxlTGluZUxheW91dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1NpbXBs
ZUxpbmVMYXlvdXQuY3BwCkBAIC0yNTQsOSArMjU0LDkgQEAgQXZvaWRhbmNlUmVhc29uRmxhZ3Mg
Y2FuVXNlRm9yV2l0aFJlYXNvbihjb25zdCBSZW5kZXJCbG9ja0Zsb3cmIGZsb3csIEluY2x1ZGVS
ZWEKICNpZm5kZWYgTkRFQlVHCiAgICAgc3RhdGljIHN0ZDo6b25jZV9mbGFnIG9uY2VGbGFnOwog
ICAgIHN0ZDo6Y2FsbF9vbmNlKG9uY2VGbGFnLCBbXSB7Ci0gICAgICAgIHJlZ2lzdGVyTm90aWZ5
Q2FsbGJhY2soImNvbS5hcHBsZS5XZWJLaXQuc2hvd1NpbXBsZUxpbmVMYXlvdXRDb3ZlcmFnZSIs
IFtdIHsgcHJpbnRTaW1wbGVMaW5lTGF5b3V0Q292ZXJhZ2UoKTsgfSk7Ci0gICAgICAgIHJlZ2lz
dGVyTm90aWZ5Q2FsbGJhY2soImNvbS5hcHBsZS5XZWJLaXQuc2hvd1NpbXBsZUxpbmVMYXlvdXRS
ZWFzb25zIiwgW10geyBwcmludFNpbXBsZUxpbmVMYXlvdXRCbG9ja0xpc3QoKTsgfSk7Ci0gICAg
ICAgIHJlZ2lzdGVyTm90aWZ5Q2FsbGJhY2soImNvbS5hcHBsZS5XZWJLaXQudG9nZ2xlU2ltcGxl
TGluZUxheW91dCIsIFtdIHsgdG9nZ2xlU2ltcGxlTGluZUxheW91dCgpOyB9KTsKKyAgICAgICAg
cmVnaXN0ZXJOb3RpZnlDYWxsYmFjaygiY29tLmFwcGxlLldlYktpdC5zaG93U2ltcGxlTGluZUxh
eW91dENvdmVyYWdlIiwgcHJpbnRTaW1wbGVMaW5lTGF5b3V0Q292ZXJhZ2UpOworICAgICAgICBy
ZWdpc3Rlck5vdGlmeUNhbGxiYWNrKCJjb20uYXBwbGUuV2ViS2l0LnNob3dTaW1wbGVMaW5lTGF5
b3V0UmVhc29ucyIsIHByaW50U2ltcGxlTGluZUxheW91dEJsb2NrTGlzdCk7CisgICAgICAgIHJl
Z2lzdGVyTm90aWZ5Q2FsbGJhY2soImNvbS5hcHBsZS5XZWJLaXQudG9nZ2xlU2ltcGxlTGluZUxh
eW91dCIsIHRvZ2dsZVNpbXBsZUxpbmVMYXlvdXQpOwogICAgIH0pOwogI2VuZGlmCiAgICAgQXZv
aWRhbmNlUmVhc29uRmxhZ3MgcmVhc29ucyA9IHsgfTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>313538</attachid>
            <date>2017-06-21 12:06:34 -0700</date>
            <delta_ts>2017-06-21 14:37:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-173660-20170621120634.patch</filename>
            <type>text/plain</type>
            <size>11202</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE4NjE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGE5NmJjYjdjNzBhZmY1NzAzODM2YTAz
MGZlOWY0ZWZjYWYxMjY2MzUuLmE0OWEyODBhZWM4YzAwY2ZlMzliZGE1ZWYxODg2NjBiYzJjZDhl
M2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTctMDYtMjEgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KKworICAgICAgICBBbGxvdyBjb25zdHJ1Y3RpbmcgYSBXVEY6RnVuY3Rpb24g
ZnJvbSBhIGZ1bmN0aW9uIHBvaW50ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE3MzY2MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFsbG93IGNvbnN0cnVjdGluZyBhIFdURjpGdW5jdGlvbiBmcm9tIGEg
ZnVuY3Rpb24gcG9pbnRlciBhbmQKKyAgICAgICAgYXNzaWduaW5nIGEgZnVuY3Rpb24gcG9pbnRl
ciB0byBhIFdURjpGdW5jdGlvbi4KKworICAgICAgICAqIHd0Zi9GdW5jdGlvbi5oOgorCiAyMDE3
LTA2LTIwICBLb25zdGFudGluIFRva2FyZXYgIDxhbm51bGVuQHlhbmRleC5ydT4KIAogICAgICAg
ICBSZW1vdmUgZXhjZXNzaXZlIGluY2x1ZGUgZGlyZWN0aXZlcyBmcm9tIFdURgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmlu
ZGV4IGIyYWNkZTdkNjhkNjRiNzRiNjg0MTA4N2QwOWVkYWViYzQ5M2ZlODUuLjA0ZDRlZTNkYmM4
MDNkMTU0N2UxZTM5YmI1ZDQ0NjJiOGIxYTdkMWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBA
QAorMjAxNy0wNi0yMSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAg
IEFsbG93IGNvbnN0cnVjdGluZyBhIFdURjpGdW5jdGlvbiBmcm9tIGEgZnVuY3Rpb24gcG9pbnRl
cgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTczNjYw
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ29uc3Ry
dWN0IFdURjpGdW5jdGlvbiBkaXJlY3RseSBmcm9tIGEgZnVuY3Rpb24gcG9pbnRlciB3aGVuIHBv
c3NpYmxlCisgICAgICAgIGluc3RlYWQgb2YgY29uc3RydWN0aW5nIGEgbGFtYmRhIHRvIGRvIHNv
LgorCisgICAgICAgICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9Jbml0RGF0YVJlZ2lzdHJ5LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkluaXREYXRhUmVnaXN0cnk6OkluaXREYXRhUmVnaXN0cnkp
OgorICAgICAgICAqIHBhZ2UvUGFnZS5jcHA6CisgICAgICAgICogcGFnZS9tYWMvUGFnZU1hYy5t
bToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OnBsYXRmb3JtSW5pdGlhbGl6ZSk6CisgICAgICAg
ICogcGxhdGZvcm0vY2YvTWFpblRocmVhZFNoYXJlZFRpbWVyQ0YuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6c2V0dXBQb3dlck9ic2VydmVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvV2ViQ29y
ZU5TVVJMRXh0cmFzLm1tOgorICAgICAgICAqIHJlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUxpbmVMYXlvdXQ6OmNhblVzZUZvcldpdGhSZWFz
b24pOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oldv
cmtlcjo6V29ya2VyKToKKwogMjAxNy0wNi0yMCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUu
Y29tPgogCiAgICAgICAgIFVzZSBXVEY6OkZ1bmN0aW9uIGluc3RlYWQgb2Ygc3RkOjpmdW5jdGlv
biBpbiBtb3JlIHBsYWNlcyBpbiBXZWJDb3JlLwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYv
RnVuY3Rpb24uaCBiL1NvdXJjZS9XVEYvd3RmL0Z1bmN0aW9uLmgKaW5kZXggMWM5NTg1NjIzOGU0
N2M1ZDhiMzhkODYxYzBiZjcxZGJlZDhiZGNlZC4uNjAzMDQ4ZDNjZTQ1ZmJkMWIyOGFkNzE3NDli
MGQ1ZWNlOGE2ZTk2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvRnVuY3Rpb24uaAorKysg
Yi9Tb3VyY2UvV1RGL3d0Zi9GdW5jdGlvbi5oCkBAIC00NCw2ICs0NCwxMiBAQCBwdWJsaWM6CiAg
ICAgewogICAgIH0KIAorICAgIHRlbXBsYXRlPHR5cGVuYW1lIEZ1bmN0aW9uVHlwZSwgY2xhc3Mg
PSB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZjxzdGQ6OmlzX3BvaW50ZXI8RnVuY3Rpb25UeXBlPjo6
dmFsdWUgJiYgc3RkOjppc19mdW5jdGlvbjx0eXBlbmFtZSBzdGQ6OnJlbW92ZV9wb2ludGVyPEZ1
bmN0aW9uVHlwZT46OnR5cGU+Ojp2YWx1ZT46OnR5cGU+CisgICAgRnVuY3Rpb24oRnVuY3Rpb25U
eXBlIGYpCisgICAgICAgIDogbV9jYWxsYWJsZVdyYXBwZXIoc3RkOjptYWtlX3VuaXF1ZTxDYWxs
YWJsZVdyYXBwZXI8RnVuY3Rpb25UeXBlPj4oV1RGTW92ZShmKSkpCisgICAgeworICAgIH0KKwog
ICAgIE91dCBvcGVyYXRvcigpKEluLi4uIGluKSBjb25zdAogICAgIHsKICAgICAgICAgaWYgKG1f
Y2FsbGFibGVXcmFwcGVyKQpAQCAtNjAsNiArNjYsMTMgQEAgcHVibGljOgogICAgICAgICByZXR1
cm4gKnRoaXM7CiAgICAgfQogCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgRnVuY3Rpb25UeXBlLCBj
bGFzcyA9IHR5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmPHN0ZDo6aXNfcG9pbnRlcjxGdW5jdGlvblR5
cGU+Ojp2YWx1ZSAmJiBzdGQ6OmlzX2Z1bmN0aW9uPHR5cGVuYW1lIHN0ZDo6cmVtb3ZlX3BvaW50
ZXI8RnVuY3Rpb25UeXBlPjo6dHlwZT46OnZhbHVlPjo6dHlwZT4KKyAgICBGdW5jdGlvbiYgb3Bl
cmF0b3I9KEZ1bmN0aW9uVHlwZSBmKQorICAgIHsKKyAgICAgICAgbV9jYWxsYWJsZVdyYXBwZXIg
PSBzdGQ6Om1ha2VfdW5pcXVlPENhbGxhYmxlV3JhcHBlcjxGdW5jdGlvblR5cGU+PihXVEZNb3Zl
KGYpKTsKKyAgICAgICAgcmV0dXJuICp0aGlzOworICAgIH0KKwogICAgIEZ1bmN0aW9uJiBvcGVy
YXRvcj0oc3RkOjpudWxscHRyX3QpCiAgICAgewogICAgICAgICBtX2NhbGxhYmxlV3JhcHBlciA9
IG51bGxwdHI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1l
ZGlhL0luaXREYXRhUmVnaXN0cnkuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0
ZWRtZWRpYS9Jbml0RGF0YVJlZ2lzdHJ5LmNwcAppbmRleCAxZTc3MmMyNTgzMWU1Nzk1ZjI1Nzg5
MWYwNmI5NDJiZGE2OGNkMTBiLi4wN2UzODE5M2Y2ZTM0ZTE5ZjRiMmEzYTYzNjUwNjIzYTFjYmE5
NTU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL0lu
aXREYXRhUmVnaXN0cnkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVk
bWVkaWEvSW5pdERhdGFSZWdpc3RyeS5jcHAKQEAgLTEzMSw5ICsxMzEsOSBAQCBJbml0RGF0YVJl
Z2lzdHJ5JiBJbml0RGF0YVJlZ2lzdHJ5OjpzaGFyZWQoKQogCiBJbml0RGF0YVJlZ2lzdHJ5OjpJ
bml0RGF0YVJlZ2lzdHJ5KCkKIHsKLSAgICByZWdpc3RlckluaXREYXRhVHlwZSgia2V5aWRzIiwg
eyAmc2FuaXRpemVLZXlpZHMsICZleHRyYWN0S2V5SURzS2V5aWRzIH0pOwotICAgIHJlZ2lzdGVy
SW5pdERhdGFUeXBlKCJjZW5jIiwgeyAmc2FuaXRpemVDZW5jLCAmZXh0cmFjdEtleUlEc0NlbmMg
fSk7Ci0gICAgcmVnaXN0ZXJJbml0RGF0YVR5cGUoIndlYm0iLCB7ICZzYW5pdGl6ZVdlYk0sICZl
eHRyYWN0S2V5SURzV2ViTSB9KTsKKyAgICByZWdpc3RlckluaXREYXRhVHlwZSgia2V5aWRzIiwg
eyBzYW5pdGl6ZUtleWlkcywgZXh0cmFjdEtleUlEc0tleWlkcyB9KTsKKyAgICByZWdpc3Rlcklu
aXREYXRhVHlwZSgiY2VuYyIsIHsgc2FuaXRpemVDZW5jLCBleHRyYWN0S2V5SURzQ2VuYyB9KTsK
KyAgICByZWdpc3RlckluaXREYXRhVHlwZSgid2VibSIsIHsgc2FuaXRpemVXZWJNLCBleHRyYWN0
S2V5SURzV2ViTSB9KTsKIH0KIAogSW5pdERhdGFSZWdpc3RyeTo6fkluaXREYXRhUmVnaXN0cnko
KSA9IGRlZmF1bHQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAppbmRleCA3NGExOWU4N2JlMmQ0YWJmOWZhMzA0
ZWUyOTU0NzI4ODljYTU1N2I3Li4wMWZhZDM0NTg5ZmUxNDU4MzFkNWY0ZDJiNzRiOWE3NDllN2I5
MzAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKQEAgLTI4MSw3ICsyODEsNyBAQCBQYWdlOjpQYWdlKFBh
Z2VDb25maWd1cmF0aW9uJiYgcGFnZUNvbmZpZ3VyYXRpb24pCiAgICAgaWYgKCFhbGxQYWdlcykg
ewogICAgICAgICBhbGxQYWdlcyA9IG5ldyBIYXNoU2V0PFBhZ2UqPjsKICAgICAgICAgCi0gICAg
ICAgIG5ldHdvcmtTdGF0ZU5vdGlmaWVyKCkuYWRkTmV0d29ya1N0YXRlQ2hhbmdlTGlzdGVuZXIo
W10gKGJvb2wgaXNPbkxpbmUpIHsgbmV0d29ya1N0YXRlQ2hhbmdlZChpc09uTGluZSk7IH0pOwor
ICAgICAgICBuZXR3b3JrU3RhdGVOb3RpZmllcigpLmFkZE5ldHdvcmtTdGF0ZUNoYW5nZUxpc3Rl
bmVyKG5ldHdvcmtTdGF0ZUNoYW5nZWQpOwogICAgIH0KIAogICAgIEFTU0VSVCghYWxsUGFnZXMt
PmNvbnRhaW5zKHRoaXMpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL1Bh
Z2VNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9QYWdlTWFjLm1tCmluZGV4IDZhMzlk
NDY5OWRlMWRjMGM2NjI5ODFlYTM2MDViZWE1M2MyODFkZjUuLmNmZGQ2ZjVmOTliNTEwNThjNTVm
MThhMjMzZDI0MDUwN2UyNGU4M2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFj
L1BhZ2VNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvUGFnZU1hYy5tbQpAQCAt
NjEsOCArNjEsOCBAQCB2b2lkIFBhZ2U6OnBsYXRmb3JtSW5pdGlhbGl6ZSgpCiAjaWYgRU5BQkxF
KFRSRUVfREVCVUdHSU5HKQogICAgIHN0YXRpYyBzdGQ6Om9uY2VfZmxhZyBvbmNlRmxhZzsKICAg
ICBzdGQ6OmNhbGxfb25jZShvbmNlRmxhZywgW10gewotICAgICAgICByZWdpc3Rlck5vdGlmeUNh
bGxiYWNrKCJjb20uYXBwbGUuV2ViS2l0LnNob3dSZW5kZXJUcmVlIiwgW10geyBwcmludFJlbmRl
clRyZWVGb3JMaXZlRG9jdW1lbnRzKCk7IH0pOwotICAgICAgICByZWdpc3Rlck5vdGlmeUNhbGxi
YWNrKCJjb20uYXBwbGUuV2ViS2l0LnNob3dMYXllclRyZWUiLCBbXSB7IHByaW50TGF5ZXJUcmVl
Rm9yTGl2ZURvY3VtZW50cygpOyB9KTsKKyAgICAgICAgcmVnaXN0ZXJOb3RpZnlDYWxsYmFjaygi
Y29tLmFwcGxlLldlYktpdC5zaG93UmVuZGVyVHJlZSIsIHByaW50UmVuZGVyVHJlZUZvckxpdmVE
b2N1bWVudHMpOworICAgICAgICByZWdpc3Rlck5vdGlmeUNhbGxiYWNrKCJjb20uYXBwbGUuV2Vi
S2l0LnNob3dMYXllclRyZWUiLCBwcmludExheWVyVHJlZUZvckxpdmVEb2N1bWVudHMpOwogICAg
IH0pOwogI2VuZGlmCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jZi9N
YWluVGhyZWFkU2hhcmVkVGltZXJDRi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jZi9N
YWluVGhyZWFkU2hhcmVkVGltZXJDRi5jcHAKaW5kZXggZjAxODNiMTRkYmZjMmM0OGNkMjE5NjNi
Zjg0NzM5OTZiMjBiMTRmZS4uZjllNGJmODAwMDI0ZGVhZmQ2ZTMwMzI0MDVmYWRjODVkMGRjNzA1
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2YvTWFpblRocmVhZFNoYXJl
ZFRpbWVyQ0YuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NmL01haW5UaHJlYWRT
aGFyZWRUaW1lckNGLmNwcApAQCAtNTcsNyArNTcsNyBAQCBzdGF0aWMgdm9pZCBzZXR1cFBvd2Vy
T2JzZXJ2ZXIoKQogI2lmIFBMQVRGT1JNKE1BQykKICAgICBzdGF0aWMgUG93ZXJPYnNlcnZlciog
cG93ZXJPYnNlcnZlcjsKICAgICBpZiAoIXBvd2VyT2JzZXJ2ZXIpCi0gICAgICAgIHBvd2VyT2Jz
ZXJ2ZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPFBvd2VyT2JzZXJ2ZXI+KFtdIHsgcmVzdGFydFNoYXJl
ZFRpbWVyKCk7IH0pLnJlbGVhc2UoKTsKKyAgICAgICAgcG93ZXJPYnNlcnZlciA9IHN0ZDo6bWFr
ZV91bmlxdWU8UG93ZXJPYnNlcnZlcj4ocmVzdGFydFNoYXJlZFRpbWVyKS5yZWxlYXNlKCk7CiAj
ZWxpZiBQTEFURk9STShJT1MpCiAgICAgc3RhdGljIGJvb2wgcmVnaXN0ZXJlZEZvckFwcGxpY2F0
aW9uTm90aWZpY2F0aW9uID0gZmFsc2U7CiAgICAgaWYgKCFyZWdpc3RlcmVkRm9yQXBwbGljYXRp
b25Ob3RpZmljYXRpb24pIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21h
Yy9XZWJDb3JlTlNVUkxFeHRyYXMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2Vi
Q29yZU5TVVJMRXh0cmFzLm1tCmluZGV4IGFlZDYwNTdjYTUyNzZkM2E0M2EwMjJhNjIxMGJhNDUx
MTAzOWFlODEuLjg4NTNiNTg5ZWJlYzliOTQyNmRiZjk5YzY4ZTA3YjM3M2VlZTNjY2YgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJDb3JlTlNVUkxFeHRyYXMubW0K
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1dlYkNvcmVOU1VSTEV4dHJhcy5tbQpA
QCAtMjk0LDcgKzI5NCw3IEBAIHN0YXRpYyBib29sIGlzU2Vjb25kTGV2ZWxEb21haW5OYW1lQWxs
b3dlZEJ5VExEUnVsZXMoY29uc3QgVUNoYXIqIGJ1ZmZlciwgaW50MzJfCiAgICAgeyBcCiAgICAg
ICAgIHN0YXRpYyBjb25zdCBpbnQzMl90IHN1ZmZpeExlbmd0aCA9IHNpemVvZihzdWZmaXgpIC8g
c2l6ZW9mKHN1ZmZpeFswXSk7IFwKICAgICAgICAgaWYgKGxlbmd0aCA+IHN1ZmZpeExlbmd0aCAm
JiAwID09IG1lbWNtcChidWZmZXIgKyBsZW5ndGggLSBzdWZmaXhMZW5ndGgsIHN1ZmZpeCwgc2l6
ZW9mKHN1ZmZpeCkpKSBcCi0gICAgICAgICAgICByZXR1cm4gaXNTZWNvbmRMZXZlbERvbWFpbk5h
bWVBbGxvd2VkQnlUTERSdWxlcyhidWZmZXIsIGxlbmd0aCAtIHN1ZmZpeExlbmd0aCwgW10oVUNo
YXIgYykgeyByZXR1cm4gZnVuY3Rpb24oYyk7IH0pOyBcCisgICAgICAgICAgICByZXR1cm4gaXNT
ZWNvbmRMZXZlbERvbWFpbk5hbWVBbGxvd2VkQnlUTERSdWxlcyhidWZmZXIsIGxlbmd0aCAtIHN1
ZmZpeExlbmd0aCwgZnVuY3Rpb24pOyBcCiAgICAgfQogCiBzdGF0aWMgYm9vbCBpc1J1c3NpYW5E
b21haW5OYW1lQ2hhcmFjdGVyKFVDaGFyIGNoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1NpbXBsZUxpbmVMYXlvdXQuY3BwCmluZGV4IDQ0M2ExYWZkNjNhMzNhMjM5OWNkMTBiNzVlNWZi
MTQ0MzEwODJiOWYuLjIzYjI2MmFiOGFhMmEyN2NkYjcwZWE4Yzk4MGExMDMwMzRhYWEyMDcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dC5jcHAKQEAgLTI1
NCw5ICsyNTQsOSBAQCBBdm9pZGFuY2VSZWFzb25GbGFncyBjYW5Vc2VGb3JXaXRoUmVhc29uKGNv
bnN0IFJlbmRlckJsb2NrRmxvdyYgZmxvdywgSW5jbHVkZVJlYQogI2lmbmRlZiBOREVCVUcKICAg
ICBzdGF0aWMgc3RkOjpvbmNlX2ZsYWcgb25jZUZsYWc7CiAgICAgc3RkOjpjYWxsX29uY2Uob25j
ZUZsYWcsIFtdIHsKLSAgICAgICAgcmVnaXN0ZXJOb3RpZnlDYWxsYmFjaygiY29tLmFwcGxlLldl
YktpdC5zaG93U2ltcGxlTGluZUxheW91dENvdmVyYWdlIiwgW10geyBwcmludFNpbXBsZUxpbmVM
YXlvdXRDb3ZlcmFnZSgpOyB9KTsKLSAgICAgICAgcmVnaXN0ZXJOb3RpZnlDYWxsYmFjaygiY29t
LmFwcGxlLldlYktpdC5zaG93U2ltcGxlTGluZUxheW91dFJlYXNvbnMiLCBbXSB7IHByaW50U2lt
cGxlTGluZUxheW91dEJsb2NrTGlzdCgpOyB9KTsKLSAgICAgICAgcmVnaXN0ZXJOb3RpZnlDYWxs
YmFjaygiY29tLmFwcGxlLldlYktpdC50b2dnbGVTaW1wbGVMaW5lTGF5b3V0IiwgW10geyB0b2dn
bGVTaW1wbGVMaW5lTGF5b3V0KCk7IH0pOworICAgICAgICByZWdpc3Rlck5vdGlmeUNhbGxiYWNr
KCJjb20uYXBwbGUuV2ViS2l0LnNob3dTaW1wbGVMaW5lTGF5b3V0Q292ZXJhZ2UiLCBwcmludFNp
bXBsZUxpbmVMYXlvdXRDb3ZlcmFnZSk7CisgICAgICAgIHJlZ2lzdGVyTm90aWZ5Q2FsbGJhY2so
ImNvbS5hcHBsZS5XZWJLaXQuc2hvd1NpbXBsZUxpbmVMYXlvdXRSZWFzb25zIiwgcHJpbnRTaW1w
bGVMaW5lTGF5b3V0QmxvY2tMaXN0KTsKKyAgICAgICAgcmVnaXN0ZXJOb3RpZnlDYWxsYmFjaygi
Y29tLmFwcGxlLldlYktpdC50b2dnbGVTaW1wbGVMaW5lTGF5b3V0IiwgdG9nZ2xlU2ltcGxlTGlu
ZUxheW91dCk7CiAgICAgfSk7CiAjZW5kaWYKICAgICBBdm9pZGFuY2VSZWFzb25GbGFncyByZWFz
b25zID0geyB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuY3BwCmluZGV4IDY2ZThkYWZhOTg3ODc3
MTE2ODYzNTEzMjQ3NmU0YTcwNDViZDEzM2QuLjljOTg3NWYwZjU3Nzg2YWYyYmRmM2ZmODNmNWI3
NGYyOGExYmEyMTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5jcHAKQEAgLTU5LDcgKzU5LDcg
QEAgaW5saW5lIFdvcmtlcjo6V29ya2VyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQs
IEpTQzo6UnVudGltZUZsYWdzIHJ1bnRpbWUKIHsKICAgICBpZiAoIWFsbFdvcmtlcnMpIHsKICAg
ICAgICAgYWxsV29ya2VycyA9IG5ldyBIYXNoU2V0PFdvcmtlcio+OwotICAgICAgICBuZXR3b3Jr
U3RhdGVOb3RpZmllcigpLmFkZE5ldHdvcmtTdGF0ZUNoYW5nZUxpc3RlbmVyKFtdIChib29sIGlz
T25MaW5lKSB7IG5ldHdvcmtTdGF0ZUNoYW5nZWQoaXNPbkxpbmUpOyB9KTsKKyAgICAgICAgbmV0
d29ya1N0YXRlTm90aWZpZXIoKS5hZGROZXR3b3JrU3RhdGVDaGFuZ2VMaXN0ZW5lcihuZXR3b3Jr
U3RhdGVDaGFuZ2VkKTsKICAgICB9CiAKICAgICBhdXRvIGFkZFJlc3VsdCA9IGFsbFdvcmtlcnMt
PmFkZCh0aGlzKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxv
ZwppbmRleCAyN2NhMzg2NDI3ZWM2NDRlNDhlNzdhYmQzZTc2MzljZjRlNzc4OThiLi5hM2M2MTgx
NDg1NWU3NjdjZGUwNTg0OWVjOTc3NzUzY2NkODdmZjBiIDEwMDY0NAotLS0gYS9Ub29scy9DaGFu
Z2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTctMDYtMjEg
IENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBBbGxvdyBjb25zdHJ1
Y3RpbmcgYSBXVEY6RnVuY3Rpb24gZnJvbSBhIGZ1bmN0aW9uIHBvaW50ZXIKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MzY2MAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBBUEkgdGVzdCBjb3ZlcmFn
ZS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL0Z1bmN0aW9uLmNwcDoKKyAg
ICAgICAgKFRlc3RXZWJLaXRBUEk6OnJldHVyblRocmVlKToKKyAgICAgICAgKFRlc3RXZWJLaXRB
UEk6OnJldHVybkZvdXIpOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6cmV0dXJuUGFzc2VkVmFs
dWUpOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisKIDIwMTctMDYtMjAgIFdlbnNv
biBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgW2lPUyBEbkRdIFtX
SzJdIFJlbW92ZSBjdXN0b20gbG9naWMgZm9yIGRpc2FtYmlndWF0aW5nIGxvbmcgcHJlc3MgYWN0
aW9uIHNoZWV0IGdlc3R1cmVzIGFuZCBkcmFnIGxpZnQKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV1RGL0Z1bmN0aW9uLmNwcCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV1RGL0Z1bmN0aW9uLmNwcAppbmRleCAwYzljYjUwMGNjMDk3NjI5MjZjYjU1ZWQxNzJiNTg0
ZTFhN2Y0NmY2Li44NzMyMTM5MGUxOWQyZWUyNTE1YjI2MzU0OTJlZDE1NDY2YjJkYWUzIDEwMDY0
NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9GdW5jdGlvbi5jcHAKKysrIGIv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvRnVuY3Rpb24uY3BwCkBAIC0yNDAsNCArMjQw
LDQxIEBAIFRFU1QoV1RGX0Z1bmN0aW9uLCBBc3NpZ25CZWZvcmVEZXN0cm95KQogICAgIEZ1bmN0
aW9uRGVzdHJ1Y3Rpb25DaGVja2VyOjpmdW5jdGlvblJlc3VsdCA9IHN0ZDo6bnVsbG9wdDsKIH0K
IAorc3RhdGljIGludCByZXR1cm5UaHJlZSgpCit7CisgICAgcmV0dXJuIDM7Cit9CisKK3N0YXRp
YyBpbnQgcmV0dXJuRm91cigpCit7CisgICAgcmV0dXJuIDQ7Cit9CisKK3N0YXRpYyBpbnQgcmV0
dXJuUGFzc2VkVmFsdWUoaW50IHZhbHVlKQoreworICAgIHJldHVybiB2YWx1ZTsKK30KKworVEVT
VChXVEZfRnVuY3Rpb24sIEFzc2lnbkZ1bmN0aW9uUG9pbnRlcikKK3sKKyAgICBGdW5jdGlvbjxp
bnQoKT4gZjEgPSByZXR1cm5UaHJlZTsKKyAgICBFWFBFQ1RfVFJVRShzdGF0aWNfY2FzdDxib29s
PihmMSkpOworICAgIEVYUEVDVF9FUSgzLCBmMSgpKTsKKworICAgIGYxID0gcmV0dXJuRm91cjsK
KyAgICBFWFBFQ1RfVFJVRShzdGF0aWNfY2FzdDxib29sPihmMSkpOworICAgIEVYUEVDVF9FUSg0
LCBmMSgpKTsKKworICAgIGYxID0gbnVsbHB0cjsKKyAgICBFWFBFQ1RfRkFMU0Uoc3RhdGljX2Nh
c3Q8Ym9vbD4oZjEpKTsKKworICAgIEZ1bmN0aW9uPGludChpbnQpPiBmMiA9IHJldHVyblBhc3Nl
ZFZhbHVlOworICAgIEVYUEVDVF9UUlVFKHN0YXRpY19jYXN0PGJvb2w+KGYyKSk7CisgICAgRVhQ
RUNUX0VRKDMsIGYyKDMpKTsKKyAgICBFWFBFQ1RfRVEoLTMsIGYyKC0zKSk7CisKKyAgICBmMiA9
IG51bGxwdHI7CisgICAgRVhQRUNUX0ZBTFNFKHN0YXRpY19jYXN0PGJvb2w+KGYyKSk7Cit9CisK
IH0gLy8gbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>313552</attachid>
            <date>2017-06-21 14:37:28 -0700</date>
            <delta_ts>2017-06-21 15:53:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-173660-20170621143728.patch</filename>
            <type>text/plain</type>
            <size>11264</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE4NjE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGE5NmJjYjdjNzBhZmY1NzAzODM2YTAz
MGZlOWY0ZWZjYWYxMjY2MzUuLmE0OWEyODBhZWM4YzAwY2ZlMzliZGE1ZWYxODg2NjBiYzJjZDhl
M2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTctMDYtMjEgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KKworICAgICAgICBBbGxvdyBjb25zdHJ1Y3RpbmcgYSBXVEY6RnVuY3Rpb24g
ZnJvbSBhIGZ1bmN0aW9uIHBvaW50ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE3MzY2MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFsbG93IGNvbnN0cnVjdGluZyBhIFdURjpGdW5jdGlvbiBmcm9tIGEg
ZnVuY3Rpb24gcG9pbnRlciBhbmQKKyAgICAgICAgYXNzaWduaW5nIGEgZnVuY3Rpb24gcG9pbnRl
ciB0byBhIFdURjpGdW5jdGlvbi4KKworICAgICAgICAqIHd0Zi9GdW5jdGlvbi5oOgorCiAyMDE3
LTA2LTIwICBLb25zdGFudGluIFRva2FyZXYgIDxhbm51bGVuQHlhbmRleC5ydT4KIAogICAgICAg
ICBSZW1vdmUgZXhjZXNzaXZlIGluY2x1ZGUgZGlyZWN0aXZlcyBmcm9tIFdURgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmlu
ZGV4IGIyYWNkZTdkNjhkNjRiNzRiNjg0MTA4N2QwOWVkYWViYzQ5M2ZlODUuLjA0ZDRlZTNkYmM4
MDNkMTU0N2UxZTM5YmI1ZDQ0NjJiOGIxYTdkMWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBA
QAorMjAxNy0wNi0yMSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAg
IEFsbG93IGNvbnN0cnVjdGluZyBhIFdURjpGdW5jdGlvbiBmcm9tIGEgZnVuY3Rpb24gcG9pbnRl
cgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTczNjYw
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ29uc3Ry
dWN0IFdURjpGdW5jdGlvbiBkaXJlY3RseSBmcm9tIGEgZnVuY3Rpb24gcG9pbnRlciB3aGVuIHBv
c3NpYmxlCisgICAgICAgIGluc3RlYWQgb2YgY29uc3RydWN0aW5nIGEgbGFtYmRhIHRvIGRvIHNv
LgorCisgICAgICAgICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9Jbml0RGF0YVJlZ2lzdHJ5LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkluaXREYXRhUmVnaXN0cnk6OkluaXREYXRhUmVnaXN0cnkp
OgorICAgICAgICAqIHBhZ2UvUGFnZS5jcHA6CisgICAgICAgICogcGFnZS9tYWMvUGFnZU1hYy5t
bToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OnBsYXRmb3JtSW5pdGlhbGl6ZSk6CisgICAgICAg
ICogcGxhdGZvcm0vY2YvTWFpblRocmVhZFNoYXJlZFRpbWVyQ0YuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6c2V0dXBQb3dlck9ic2VydmVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvV2ViQ29y
ZU5TVVJMRXh0cmFzLm1tOgorICAgICAgICAqIHJlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUxpbmVMYXlvdXQ6OmNhblVzZUZvcldpdGhSZWFz
b24pOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oldv
cmtlcjo6V29ya2VyKToKKwogMjAxNy0wNi0yMCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUu
Y29tPgogCiAgICAgICAgIFVzZSBXVEY6OkZ1bmN0aW9uIGluc3RlYWQgb2Ygc3RkOjpmdW5jdGlv
biBpbiBtb3JlIHBsYWNlcyBpbiBXZWJDb3JlLwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYv
RnVuY3Rpb24uaCBiL1NvdXJjZS9XVEYvd3RmL0Z1bmN0aW9uLmgKaW5kZXggMWM5NTg1NjIzOGU0
N2M1ZDhiMzhkODYxYzBiZjcxZGJlZDhiZGNlZC4uNjAzMDQ4ZDNjZTQ1ZmJkMWIyOGFkNzE3NDli
MGQ1ZWNlOGE2ZTk2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvRnVuY3Rpb24uaAorKysg
Yi9Tb3VyY2UvV1RGL3d0Zi9GdW5jdGlvbi5oCkBAIC00NCw2ICs0NCwxMiBAQCBwdWJsaWM6CiAg
ICAgewogICAgIH0KIAorICAgIHRlbXBsYXRlPHR5cGVuYW1lIEZ1bmN0aW9uVHlwZSwgY2xhc3Mg
PSB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZjxzdGQ6OmlzX3BvaW50ZXI8RnVuY3Rpb25UeXBlPjo6
dmFsdWUgJiYgc3RkOjppc19mdW5jdGlvbjx0eXBlbmFtZSBzdGQ6OnJlbW92ZV9wb2ludGVyPEZ1
bmN0aW9uVHlwZT46OnR5cGU+Ojp2YWx1ZT46OnR5cGU+CisgICAgRnVuY3Rpb24oRnVuY3Rpb25U
eXBlIGYpCisgICAgICAgIDogbV9jYWxsYWJsZVdyYXBwZXIoc3RkOjptYWtlX3VuaXF1ZTxDYWxs
YWJsZVdyYXBwZXI8RnVuY3Rpb25UeXBlPj4oV1RGTW92ZShmKSkpCisgICAgeworICAgIH0KKwog
ICAgIE91dCBvcGVyYXRvcigpKEluLi4uIGluKSBjb25zdAogICAgIHsKICAgICAgICAgaWYgKG1f
Y2FsbGFibGVXcmFwcGVyKQpAQCAtNjAsNiArNjYsMTMgQEAgcHVibGljOgogICAgICAgICByZXR1
cm4gKnRoaXM7CiAgICAgfQogCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgRnVuY3Rpb25UeXBlLCBj
bGFzcyA9IHR5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmPHN0ZDo6aXNfcG9pbnRlcjxGdW5jdGlvblR5
cGU+Ojp2YWx1ZSAmJiBzdGQ6OmlzX2Z1bmN0aW9uPHR5cGVuYW1lIHN0ZDo6cmVtb3ZlX3BvaW50
ZXI8RnVuY3Rpb25UeXBlPjo6dHlwZT46OnZhbHVlPjo6dHlwZT4KKyAgICBGdW5jdGlvbiYgb3Bl
cmF0b3I9KEZ1bmN0aW9uVHlwZSBmKQorICAgIHsKKyAgICAgICAgbV9jYWxsYWJsZVdyYXBwZXIg
PSBzdGQ6Om1ha2VfdW5pcXVlPENhbGxhYmxlV3JhcHBlcjxGdW5jdGlvblR5cGU+PihXVEZNb3Zl
KGYpKTsKKyAgICAgICAgcmV0dXJuICp0aGlzOworICAgIH0KKwogICAgIEZ1bmN0aW9uJiBvcGVy
YXRvcj0oc3RkOjpudWxscHRyX3QpCiAgICAgewogICAgICAgICBtX2NhbGxhYmxlV3JhcHBlciA9
IG51bGxwdHI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1l
ZGlhL0luaXREYXRhUmVnaXN0cnkuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0
ZWRtZWRpYS9Jbml0RGF0YVJlZ2lzdHJ5LmNwcAppbmRleCAxZTc3MmMyNTgzMWU1Nzk1ZjI1Nzg5
MWYwNmI5NDJiZGE2OGNkMTBiLi4wN2UzODE5M2Y2ZTM0ZTE5ZjRiMmEzYTYzNjUwNjIzYTFjYmE5
NTU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL0lu
aXREYXRhUmVnaXN0cnkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVk
bWVkaWEvSW5pdERhdGFSZWdpc3RyeS5jcHAKQEAgLTEzMSw5ICsxMzEsOSBAQCBJbml0RGF0YVJl
Z2lzdHJ5JiBJbml0RGF0YVJlZ2lzdHJ5OjpzaGFyZWQoKQogCiBJbml0RGF0YVJlZ2lzdHJ5OjpJ
bml0RGF0YVJlZ2lzdHJ5KCkKIHsKLSAgICByZWdpc3RlckluaXREYXRhVHlwZSgia2V5aWRzIiwg
eyAmc2FuaXRpemVLZXlpZHMsICZleHRyYWN0S2V5SURzS2V5aWRzIH0pOwotICAgIHJlZ2lzdGVy
SW5pdERhdGFUeXBlKCJjZW5jIiwgeyAmc2FuaXRpemVDZW5jLCAmZXh0cmFjdEtleUlEc0NlbmMg
fSk7Ci0gICAgcmVnaXN0ZXJJbml0RGF0YVR5cGUoIndlYm0iLCB7ICZzYW5pdGl6ZVdlYk0sICZl
eHRyYWN0S2V5SURzV2ViTSB9KTsKKyAgICByZWdpc3RlckluaXREYXRhVHlwZSgia2V5aWRzIiwg
eyBzYW5pdGl6ZUtleWlkcywgZXh0cmFjdEtleUlEc0tleWlkcyB9KTsKKyAgICByZWdpc3Rlcklu
aXREYXRhVHlwZSgiY2VuYyIsIHsgc2FuaXRpemVDZW5jLCBleHRyYWN0S2V5SURzQ2VuYyB9KTsK
KyAgICByZWdpc3RlckluaXREYXRhVHlwZSgid2VibSIsIHsgc2FuaXRpemVXZWJNLCBleHRyYWN0
S2V5SURzV2ViTSB9KTsKIH0KIAogSW5pdERhdGFSZWdpc3RyeTo6fkluaXREYXRhUmVnaXN0cnko
KSA9IGRlZmF1bHQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAppbmRleCA3NGExOWU4N2JlMmQ0YWJmOWZhMzA0
ZWUyOTU0NzI4ODljYTU1N2I3Li5iNzliYzViN2QyNTYxYWQ2NjM2OGJmZGMyNWExODA0MzQ4OTA0
ZDkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKQEAgLTI4MSw3ICsyODEsNyBAQCBQYWdlOjpQYWdlKFBh
Z2VDb25maWd1cmF0aW9uJiYgcGFnZUNvbmZpZ3VyYXRpb24pCiAgICAgaWYgKCFhbGxQYWdlcykg
ewogICAgICAgICBhbGxQYWdlcyA9IG5ldyBIYXNoU2V0PFBhZ2UqPjsKICAgICAgICAgCi0gICAg
ICAgIG5ldHdvcmtTdGF0ZU5vdGlmaWVyKCkuYWRkTmV0d29ya1N0YXRlQ2hhbmdlTGlzdGVuZXIo
W10gKGJvb2wgaXNPbkxpbmUpIHsgbmV0d29ya1N0YXRlQ2hhbmdlZChpc09uTGluZSk7IH0pOwor
ICAgICAgICBuZXR3b3JrU3RhdGVOb3RpZmllcigpLmFkZE5ldHdvcmtTdGF0ZUNoYW5nZUxpc3Rl
bmVyKFdURjo6RnVuY3Rpb248dm9pZCAoYm9vbCk+IHsgbmV0d29ya1N0YXRlQ2hhbmdlZCB9KTsK
ICAgICB9CiAKICAgICBBU1NFUlQoIWFsbFBhZ2VzLT5jb250YWlucyh0aGlzKSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9QYWdlTWFjLm1tIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9tYWMvUGFnZU1hYy5tbQppbmRleCA2YTM5ZDQ2OTlkZTFkYzBjNjYyOTgxZWEzNjA1YmVh
NTNjMjgxZGY1Li5jZmRkNmY1Zjk5YjUxMDU4YzU1ZjE4YTIzM2QyNDA1MDdlMjRlODNjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9QYWdlTWFjLm1tCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvbWFjL1BhZ2VNYWMubW0KQEAgLTYxLDggKzYxLDggQEAgdm9pZCBQYWdlOjpw
bGF0Zm9ybUluaXRpYWxpemUoKQogI2lmIEVOQUJMRShUUkVFX0RFQlVHR0lORykKICAgICBzdGF0
aWMgc3RkOjpvbmNlX2ZsYWcgb25jZUZsYWc7CiAgICAgc3RkOjpjYWxsX29uY2Uob25jZUZsYWcs
IFtdIHsKLSAgICAgICAgcmVnaXN0ZXJOb3RpZnlDYWxsYmFjaygiY29tLmFwcGxlLldlYktpdC5z
aG93UmVuZGVyVHJlZSIsIFtdIHsgcHJpbnRSZW5kZXJUcmVlRm9yTGl2ZURvY3VtZW50cygpOyB9
KTsKLSAgICAgICAgcmVnaXN0ZXJOb3RpZnlDYWxsYmFjaygiY29tLmFwcGxlLldlYktpdC5zaG93
TGF5ZXJUcmVlIiwgW10geyBwcmludExheWVyVHJlZUZvckxpdmVEb2N1bWVudHMoKTsgfSk7Cisg
ICAgICAgIHJlZ2lzdGVyTm90aWZ5Q2FsbGJhY2soImNvbS5hcHBsZS5XZWJLaXQuc2hvd1JlbmRl
clRyZWUiLCBwcmludFJlbmRlclRyZWVGb3JMaXZlRG9jdW1lbnRzKTsKKyAgICAgICAgcmVnaXN0
ZXJOb3RpZnlDYWxsYmFjaygiY29tLmFwcGxlLldlYktpdC5zaG93TGF5ZXJUcmVlIiwgcHJpbnRM
YXllclRyZWVGb3JMaXZlRG9jdW1lbnRzKTsKICAgICB9KTsKICNlbmRpZgogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2YvTWFpblRocmVhZFNoYXJlZFRpbWVyQ0YuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2YvTWFpblRocmVhZFNoYXJlZFRpbWVyQ0YuY3Bw
CmluZGV4IGYwMTgzYjE0ZGJmYzJjNDhjZDIxOTYzYmY4NDczOTk2YjIwYjE0ZmUuLmY5ZTRiZjgw
MDAyNGRlYWZkNmUzMDMyNDA1ZmFkYzg1ZDBkYzcwNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2NmL01haW5UaHJlYWRTaGFyZWRUaW1lckNGLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9jZi9NYWluVGhyZWFkU2hhcmVkVGltZXJDRi5jcHAKQEAgLTU3LDcg
KzU3LDcgQEAgc3RhdGljIHZvaWQgc2V0dXBQb3dlck9ic2VydmVyKCkKICNpZiBQTEFURk9STShN
QUMpCiAgICAgc3RhdGljIFBvd2VyT2JzZXJ2ZXIqIHBvd2VyT2JzZXJ2ZXI7CiAgICAgaWYgKCFw
b3dlck9ic2VydmVyKQotICAgICAgICBwb3dlck9ic2VydmVyID0gc3RkOjptYWtlX3VuaXF1ZTxQ
b3dlck9ic2VydmVyPihbXSB7IHJlc3RhcnRTaGFyZWRUaW1lcigpOyB9KS5yZWxlYXNlKCk7Cisg
ICAgICAgIHBvd2VyT2JzZXJ2ZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPFBvd2VyT2JzZXJ2ZXI+KHJl
c3RhcnRTaGFyZWRUaW1lcikucmVsZWFzZSgpOwogI2VsaWYgUExBVEZPUk0oSU9TKQogICAgIHN0
YXRpYyBib29sIHJlZ2lzdGVyZWRGb3JBcHBsaWNhdGlvbk5vdGlmaWNhdGlvbiA9IGZhbHNlOwog
ICAgIGlmICghcmVnaXN0ZXJlZEZvckFwcGxpY2F0aW9uTm90aWZpY2F0aW9uKSB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2ViQ29yZU5TVVJMRXh0cmFzLm1tIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1dlYkNvcmVOU1VSTEV4dHJhcy5tbQppbmRleCBh
ZWQ2MDU3Y2E1Mjc2ZDNhNDNhMDIyYTYyMTBiYTQ1MTEwMzlhZTgxLi44ODUzYjU4OWViZWM5Yjk0
MjZkYmY5OWM2OGUwN2IzNzNlZWUzY2NmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tYWMvV2ViQ29yZU5TVVJMRXh0cmFzLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21hYy9XZWJDb3JlTlNVUkxFeHRyYXMubW0KQEAgLTI5NCw3ICsyOTQsNyBAQCBzdGF0aWMg
Ym9vbCBpc1NlY29uZExldmVsRG9tYWluTmFtZUFsbG93ZWRCeVRMRFJ1bGVzKGNvbnN0IFVDaGFy
KiBidWZmZXIsIGludDMyXwogICAgIHsgXAogICAgICAgICBzdGF0aWMgY29uc3QgaW50MzJfdCBz
dWZmaXhMZW5ndGggPSBzaXplb2Yoc3VmZml4KSAvIHNpemVvZihzdWZmaXhbMF0pOyBcCiAgICAg
ICAgIGlmIChsZW5ndGggPiBzdWZmaXhMZW5ndGggJiYgMCA9PSBtZW1jbXAoYnVmZmVyICsgbGVu
Z3RoIC0gc3VmZml4TGVuZ3RoLCBzdWZmaXgsIHNpemVvZihzdWZmaXgpKSkgXAotICAgICAgICAg
ICAgcmV0dXJuIGlzU2Vjb25kTGV2ZWxEb21haW5OYW1lQWxsb3dlZEJ5VExEUnVsZXMoYnVmZmVy
LCBsZW5ndGggLSBzdWZmaXhMZW5ndGgsIFtdKFVDaGFyIGMpIHsgcmV0dXJuIGZ1bmN0aW9uKGMp
OyB9KTsgXAorICAgICAgICAgICAgcmV0dXJuIGlzU2Vjb25kTGV2ZWxEb21haW5OYW1lQWxsb3dl
ZEJ5VExEUnVsZXMoYnVmZmVyLCBsZW5ndGggLSBzdWZmaXhMZW5ndGgsIGZ1bmN0aW9uKTsgXAog
ICAgIH0KIAogc3RhdGljIGJvb2wgaXNSdXNzaWFuRG9tYWluTmFtZUNoYXJhY3RlcihVQ2hhciBj
aCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0LmNwcAppbmRl
eCA0NDNhMWFmZDYzYTMzYTIzOTljZDEwYjc1ZTVmYjE0NDMxMDgyYjlmLi4yM2IyNjJhYjhhYTJh
MjdjZGI3MGVhOGM5ODBhMTAzMDM0YWFhMjA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1NpbXBsZUxpbmVMYXlvdXQuY3BwCkBAIC0yNTQsOSArMjU0LDkgQEAgQXZvaWRhbmNlUmVh
c29uRmxhZ3MgY2FuVXNlRm9yV2l0aFJlYXNvbihjb25zdCBSZW5kZXJCbG9ja0Zsb3cmIGZsb3cs
IEluY2x1ZGVSZWEKICNpZm5kZWYgTkRFQlVHCiAgICAgc3RhdGljIHN0ZDo6b25jZV9mbGFnIG9u
Y2VGbGFnOwogICAgIHN0ZDo6Y2FsbF9vbmNlKG9uY2VGbGFnLCBbXSB7Ci0gICAgICAgIHJlZ2lz
dGVyTm90aWZ5Q2FsbGJhY2soImNvbS5hcHBsZS5XZWJLaXQuc2hvd1NpbXBsZUxpbmVMYXlvdXRD
b3ZlcmFnZSIsIFtdIHsgcHJpbnRTaW1wbGVMaW5lTGF5b3V0Q292ZXJhZ2UoKTsgfSk7Ci0gICAg
ICAgIHJlZ2lzdGVyTm90aWZ5Q2FsbGJhY2soImNvbS5hcHBsZS5XZWJLaXQuc2hvd1NpbXBsZUxp
bmVMYXlvdXRSZWFzb25zIiwgW10geyBwcmludFNpbXBsZUxpbmVMYXlvdXRCbG9ja0xpc3QoKTsg
fSk7Ci0gICAgICAgIHJlZ2lzdGVyTm90aWZ5Q2FsbGJhY2soImNvbS5hcHBsZS5XZWJLaXQudG9n
Z2xlU2ltcGxlTGluZUxheW91dCIsIFtdIHsgdG9nZ2xlU2ltcGxlTGluZUxheW91dCgpOyB9KTsK
KyAgICAgICAgcmVnaXN0ZXJOb3RpZnlDYWxsYmFjaygiY29tLmFwcGxlLldlYktpdC5zaG93U2lt
cGxlTGluZUxheW91dENvdmVyYWdlIiwgcHJpbnRTaW1wbGVMaW5lTGF5b3V0Q292ZXJhZ2UpOwor
ICAgICAgICByZWdpc3Rlck5vdGlmeUNhbGxiYWNrKCJjb20uYXBwbGUuV2ViS2l0LnNob3dTaW1w
bGVMaW5lTGF5b3V0UmVhc29ucyIsIHByaW50U2ltcGxlTGluZUxheW91dEJsb2NrTGlzdCk7Cisg
ICAgICAgIHJlZ2lzdGVyTm90aWZ5Q2FsbGJhY2soImNvbS5hcHBsZS5XZWJLaXQudG9nZ2xlU2lt
cGxlTGluZUxheW91dCIsIHRvZ2dsZVNpbXBsZUxpbmVMYXlvdXQpOwogICAgIH0pOwogI2VuZGlm
CiAgICAgQXZvaWRhbmNlUmVhc29uRmxhZ3MgcmVhc29ucyA9IHsgfTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
V29ya2VyLmNwcAppbmRleCA2NmU4ZGFmYTk4Nzg3NzExNjg2MzUxMzI0NzZlNGE3MDQ1YmQxMzNk
Li5mNzA1M2Q2NDk1YzQyMWIyNThkNmNjM2VhMDU3ZGM0M2MwNDVkYTBjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXIuY3BwCkBAIC01OSw3ICs1OSw3IEBAIGlubGluZSBXb3JrZXI6OldvcmtlcihT
Y3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBKU0M6OlJ1bnRpbWVGbGFncyBydW50aW1l
CiB7CiAgICAgaWYgKCFhbGxXb3JrZXJzKSB7CiAgICAgICAgIGFsbFdvcmtlcnMgPSBuZXcgSGFz
aFNldDxXb3JrZXIqPjsKLSAgICAgICAgbmV0d29ya1N0YXRlTm90aWZpZXIoKS5hZGROZXR3b3Jr
U3RhdGVDaGFuZ2VMaXN0ZW5lcihbXSAoYm9vbCBpc09uTGluZSkgeyBuZXR3b3JrU3RhdGVDaGFu
Z2VkKGlzT25MaW5lKTsgfSk7CisgICAgICAgIG5ldHdvcmtTdGF0ZU5vdGlmaWVyKCkuYWRkTmV0
d29ya1N0YXRlQ2hhbmdlTGlzdGVuZXIoV1RGOjpGdW5jdGlvbjx2b2lkIChib29sKT4geyBuZXR3
b3JrU3RhdGVDaGFuZ2VkIH0pOwogICAgIH0KIAogICAgIGF1dG8gYWRkUmVzdWx0ID0gYWxsV29y
a2Vycy0+YWRkKHRoaXMpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hh
bmdlTG9nCmluZGV4IDI3Y2EzODY0MjdlYzY0NGU0OGU3N2FiZDNlNzYzOWNmNGU3Nzg5OGIuLmEz
YzYxODE0ODU1ZTc2N2NkZTA1ODQ5ZWM5Nzc3NTNjY2Q4N2ZmMGIgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxNy0w
Ni0yMSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIEFsbG93IGNv
bnN0cnVjdGluZyBhIFdURjpGdW5jdGlvbiBmcm9tIGEgZnVuY3Rpb24gcG9pbnRlcgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTczNjYwCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIEFQSSB0ZXN0IGNv
dmVyYWdlLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvRnVuY3Rpb24uY3Bw
OgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6cmV0dXJuVGhyZWUpOgorICAgICAgICAoVGVzdFdl
YktpdEFQSTo6cmV0dXJuRm91cik6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpyZXR1cm5QYXNz
ZWRWYWx1ZSk6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKwogMjAxNy0wNi0yMCAg
V2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TIERu
RF0gW1dLMl0gUmVtb3ZlIGN1c3RvbSBsb2dpYyBmb3IgZGlzYW1iaWd1YXRpbmcgbG9uZyBwcmVz
cyBhY3Rpb24gc2hlZXQgZ2VzdHVyZXMgYW5kIGRyYWcgbGlmdApkaWZmIC0tZ2l0IGEvVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvRnVuY3Rpb24uY3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XVEYvRnVuY3Rpb24uY3BwCmluZGV4IDBjOWNiNTAwY2MwOTc2MjkyNmNiNTVlZDE3
MmI1ODRlMWE3ZjQ2ZjYuLjg3MzIxMzkwZTE5ZDJlZTI1MTViMjYzNTQ5MmVkMTU0NjZiMmRhZTMg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL0Z1bmN0aW9uLmNwcAor
KysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9GdW5jdGlvbi5jcHAKQEAgLTI0MCw0
ICsyNDAsNDEgQEAgVEVTVChXVEZfRnVuY3Rpb24sIEFzc2lnbkJlZm9yZURlc3Ryb3kpCiAgICAg
RnVuY3Rpb25EZXN0cnVjdGlvbkNoZWNrZXI6OmZ1bmN0aW9uUmVzdWx0ID0gc3RkOjpudWxsb3B0
OwogfQogCitzdGF0aWMgaW50IHJldHVyblRocmVlKCkKK3sKKyAgICByZXR1cm4gMzsKK30KKwor
c3RhdGljIGludCByZXR1cm5Gb3VyKCkKK3sKKyAgICByZXR1cm4gNDsKK30KKworc3RhdGljIGlu
dCByZXR1cm5QYXNzZWRWYWx1ZShpbnQgdmFsdWUpCit7CisgICAgcmV0dXJuIHZhbHVlOworfQor
CitURVNUKFdURl9GdW5jdGlvbiwgQXNzaWduRnVuY3Rpb25Qb2ludGVyKQoreworICAgIEZ1bmN0
aW9uPGludCgpPiBmMSA9IHJldHVyblRocmVlOworICAgIEVYUEVDVF9UUlVFKHN0YXRpY19jYXN0
PGJvb2w+KGYxKSk7CisgICAgRVhQRUNUX0VRKDMsIGYxKCkpOworCisgICAgZjEgPSByZXR1cm5G
b3VyOworICAgIEVYUEVDVF9UUlVFKHN0YXRpY19jYXN0PGJvb2w+KGYxKSk7CisgICAgRVhQRUNU
X0VRKDQsIGYxKCkpOworCisgICAgZjEgPSBudWxscHRyOworICAgIEVYUEVDVF9GQUxTRShzdGF0
aWNfY2FzdDxib29sPihmMSkpOworCisgICAgRnVuY3Rpb248aW50KGludCk+IGYyID0gcmV0dXJu
UGFzc2VkVmFsdWU7CisgICAgRVhQRUNUX1RSVUUoc3RhdGljX2Nhc3Q8Ym9vbD4oZjIpKTsKKyAg
ICBFWFBFQ1RfRVEoMywgZjIoMykpOworICAgIEVYUEVDVF9FUSgtMywgZjIoLTMpKTsKKworICAg
IGYyID0gbnVsbHB0cjsKKyAgICBFWFBFQ1RfRkFMU0Uoc3RhdGljX2Nhc3Q8Ym9vbD4oZjIpKTsK
K30KKwogfSAvLyBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>