<?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>171781</bug_id>
          
          <creation_ts>2017-05-06 19:27:35 -0700</creation_ts>
          <short_desc>expose File to web workers</short_desc>
          <delta_ts>2020-09-30 20:12:48 -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>WebCore Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>CONFIGURATION CHANGED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>156511</dependson>
    
    <dependson>171960</dependson>
          <blocked>171589</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Ben Kelly">ben</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>achristensen</cc>
    
    <cc>ap</cc>
    
    <cc>beidson</cc>
    
    <cc>cdumez</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1305657</commentid>
    <comment_count>0</comment_count>
    <who name="Ben Kelly">ben</who>
    <bug_when>2017-05-06 19:27:35 -0700</bug_when>
    <thetext>Bug 156511 implemented the latest File interface, but it appears it did not expose File on web workers.  I&apos;d like to try to fix this so that I can reference it in FormData on workers in bug 171589.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1305694</commentid>
    <comment_count>1</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2017-05-07 00:09:31 -0700</bug_when>
    <thetext>I would expect the primary challenge to be making this code thread safe. Not much of WebCore is ready to be run on secondary threads.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1305777</commentid>
    <comment_count>2</comment_count>
    <who name="Ben Kelly">ben</who>
    <bug_when>2017-05-07 17:58:59 -0700</bug_when>
    <thetext>Well, in this case File extends Blob which is already exposed on Workers.  Adding [Exposed=(Worker)] to the idl lets webkit pass this test:

http://w3c-test.org/FileAPI/file/Worker-read-file-constructor.worker.html

That seems too easy, though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1307162</commentid>
    <comment_count>3</comment_count>
      <attachid>309686</attachid>
    <who name="Ben Kelly">ben</who>
    <bug_when>2017-05-10 20:28:58 -0700</bug_when>
    <thetext>Created attachment 309686
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1307163</commentid>
    <comment_count>4</comment_count>
    <who name="Ben Kelly">ben</who>
    <bug_when>2017-05-10 20:29:29 -0700</bug_when>
    <thetext>This patch depends on bug 171960, so I don&apos;t think I can try EWS until that lands.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1308370</commentid>
    <comment_count>5</comment_count>
      <attachid>310045</attachid>
    <who name="Ben Kelly">ben</who>
    <bug_when>2017-05-13 18:33:15 -0700</bug_when>
    <thetext>Created attachment 310045
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1308379</commentid>
    <comment_count>6</comment_count>
      <attachid>310049</attachid>
    <who name="Ben Kelly">ben</who>
    <bug_when>2017-05-13 19:12:46 -0700</bug_when>
    <thetext>Created attachment 310049
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1308516</commentid>
    <comment_count>7</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2017-05-14 12:39:13 -0700</bug_when>
    <thetext>What investigations did you perform to ensure that the newly exposed code is safe to run in workers?

Personally, I don&apos;t know how much has been done for Blobs either, so those might not be very safe.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1308554</commentid>
    <comment_count>8</comment_count>
    <who name="Ben Kelly">ben</who>
    <bug_when>2017-05-14 20:50:54 -0700</bug_when>
    <thetext>(In reply to Alexey Proskuryakov from comment #7)
&gt; What investigations did you perform to ensure that the newly exposed code is
&gt; safe to run in workers?

Currently, File extends Blob and adds three extra parameters:

    String m_path;
    String m_name;
    std::optional&lt;int64_t&gt; m_overrideLastModifiedDate;

AFAICT these are all immutable after construction.  I don&apos;t see anything obviously dangerous with this, assuming the Blob base class is adequately supported on workers.

&gt; Personally, I don&apos;t know how much has been done for Blobs either, so those
&gt; might not be very safe.

I looked at Blob.idl blame and it appears that its been exposed to workers for at least 4 years.  I didn&apos;t try tracing it back further.  Features like IDB depend on Blob as well.

There are a number of worker blob tests cases in:

LayoutTests/fast/files/workers

The tests I&apos;m trying to import in bug 171960 provide a worker test that exercises the File() constructor and its additional getters.

I&apos;ve wondered if there is something I need to do to support structure clone on workers properly.  I haven&apos;t gotten as far as digging into that yet.  Any pointers on how structured clone is implemented are appreciated.

Anything else you recommend investigating?  Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1308665</commentid>
    <comment_count>9</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2017-05-15 09:13:22 -0700</bug_when>
    <thetext>String objects can&apos;t be shared across threads, so any time they are passed over, there needs to be a copy made. More generally, it&apos;s not just about the object data, but also about the implementation. For example, are there are IPC messages sent?

&gt; // FIXME: This should be exposed on Workers as well.

The person who added this FIXME must have expected the effort to be larger than a one line change. Who added it, what does svn blame say?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1308666</commentid>
    <comment_count>10</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-05-15 09:21:35 -0700</bug_when>
    <thetext>(In reply to Alexey Proskuryakov from comment #9)
&gt; String objects can&apos;t be shared across threads, so any time they are passed
&gt; over, there needs to be a copy made. More generally, it&apos;s not just about the
&gt; object data, but also about the implementation. For example, are there are
&gt; IPC messages sent?
&gt; 
&gt; &gt; // FIXME: This should be exposed on Workers as well.
&gt; 
&gt; The person who added this FIXME must have expected the effort to be larger
&gt; than a one line change. Who added it, what does svn blame say?

Sam Weinig.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1308668</commentid>
    <comment_count>11</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-05-15 09:28:02 -0700</bug_when>
    <thetext>(In reply to Alexey Proskuryakov from comment #9)
&gt; String objects can&apos;t be shared across threads, so any time they are passed
&gt; over, there needs to be a copy made. More generally, it&apos;s not just about the
&gt; object data, but also about the implementation. For example, are there are
&gt; IPC messages sent?
&gt; 
&gt; &gt; // FIXME: This should be exposed on Workers as well.
&gt; 
&gt; The person who added this FIXME must have expected the effort to be larger
&gt; than a one line change. Who added it, what does svn blame say?

As long as the File object is not passed across threads, then we&apos;d be fine. I am not super familiar with our current File API implementation but assuming the File object cannot be passed across thread, then it should not matter if we are in a worker thread or the main thread.

It seems File has a constructor and I expect this constructor would just work in a worker thread.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1308688</commentid>
    <comment_count>12</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2017-05-15 09:56:35 -0700</bug_when>
    <thetext>I recall there being quite a bit of IPC, possibly even sync IPC - which is not supported in non-main threads.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1308693</commentid>
    <comment_count>13</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-05-15 10:02:53 -0700</bug_when>
    <thetext>(In reply to Alexey Proskuryakov from comment #12)
&gt; I recall there being quite a bit of IPC, possibly even sync IPC - which is
&gt; not supported in non-main threads.

Yes, I believe there will be IPC in WK2 but it is via ThreadableBlobRegistry::registerFileBlobURL() which properly deals with threads.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1308696</commentid>
    <comment_count>14</comment_count>
    <who name="Ben Kelly">ben</who>
    <bug_when>2017-05-15 10:17:31 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #11)
&gt; It seems File has a constructor and I expect this constructor would just
&gt; work in a worker thread.

The other ways you can produce a File in a worker are at least:

1. postMessage()
2. IDB

Both of these are based on structured clone.  I can write some tests for these, but if anyone has info on how structured clone is implemented for DOM objects in webkit that would be helpful too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1693638</commentid>
    <comment_count>15</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-09-30 20:12:48 -0700</bug_when>
    <thetext>File has been exposed to workers for a while at this point, I don&apos;t think there is anything left to do here.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>309686</attachid>
            <date>2017-05-10 20:28:58 -0700</date>
            <delta_ts>2017-05-13 18:33:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-171781-20170510232856.patch</filename>
            <type>text/plain</type>
            <size>8443</size>
            <attacher name="Ben Kelly">ben</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE2NjQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDFiNzEwNjUxYmIyMWU1
YTIzNDgwYzQ4YzU5NzZmOWZkOGI0YzdjMS4uYmU5ZjU4OWE2ZjVlYWEzYmI2MjIzYWZhOWFkOTdm
OWUwYmJiN2ZmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE3LTA1LTEwICBCZW4g
S2VsbHkgIDxiZW5Ad2FuZGVydmlldy5jb20+CisKKyAgICAgICAgRXhwb3NlIEZpbGUgaW50ZXJm
YWNlIG9uIFdvcmtlciBnbG9iYWxzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTcxNzgxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVGVzdHM6IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvRmls
ZUFQSQorCisgICAgICAgICogZmlsZWFwaS9GaWxlLmlkbDoKKwogMjAxNy0wNS0xMCAgQW5keSBF
c3RlcyAgPGFlc3Rlc0BhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTiAocjE2Nzg0NSk6
IEFTU0VSVCghbV9yZW5kZXJWaWV3Lm5lZWRzTGF5b3V0KCkpIGluIHN2Zy9jdXN0b20vYnVnNzk3
OTguaHRtbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlLmlkbCBiL1Nv
dXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZS5pZGwKaW5kZXggMzcyYmQ4MTU1YmJhYjFiMGRiZTVh
M2NhZGEzZWNiNDk4YTE3YjBmYy4uOGU4Mzc5MTY1OTUzMTg5MjBmOWUwN2E3MzdhMjQxYWVlMGIx
YzAzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlLmlkbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9maWxlYXBpL0ZpbGUuaWRsCkBAIC0yNiwxMSArMjYsMTAgQEAKIHR5cGVk
ZWYgKEFycmF5QnVmZmVyVmlldyBvciBBcnJheUJ1ZmZlcikgQnVmZmVyU291cmNlOwogdHlwZWRl
ZiAoQnVmZmVyU291cmNlIG9yIEJsb2Igb3IgVVNWU3RyaW5nKSBCbG9iUGFydDsKIAotLy8gRklY
TUU6IFRoaXMgc2hvdWxkIGJlIGV4cG9zZWQgb24gV29ya2VycyBhcyB3ZWxsLgogWwogICAgIENv
bnN0cnVjdG9yKHNlcXVlbmNlPEJsb2JQYXJ0PiBmaWxlQml0cywgVVNWU3RyaW5nIGZpbGVOYW1l
LCBvcHRpb25hbCBGaWxlUHJvcGVydHlCYWcgb3B0aW9ucyksCiAgICAgRXhwb3J0TWFjcm89V0VC
Q09SRV9FWFBPUlQsCi0gICAgRXhwb3NlZD0oV2luZG93KSwKKyAgICBFeHBvc2VkPShXaW5kb3cs
V29ya2VyKSwKICAgICBKU0dlbmVyYXRlVG9KU09iamVjdCwKICAgICBKU0dlbmVyYXRlVG9OYXRp
dmVPYmplY3QsCiBdIGludGVyZmFjZSBGaWxlIDogQmxvYiB7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0No
YW5nZUxvZwppbmRleCA1YTJkYjZmYzdlYzVhMzVhNzg0OTZkMzAwMmRiOTU4NjA0ZTUzNzI0Li5h
MGIxNWVmN2M1YzUyNWVlOTQwOTY4ZDE0ZDU5ZDE1YzA0Mzc4NjMyIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9DaGFuZ2VMb2cKQEAgLTEsNSArMSwxNSBAQAogMjAxNy0wNS0xMCAgQmVuIEtlbGx5ICA8
YmVuQHdhbmRlcnZpZXcuY29tPgogCisgICAgICAgIEV4cG9zZSBGaWxlIGludGVyZmFjZSBvbiBX
b3JrZXIgZ2xvYmFscy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE3MTc4MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL0ZpbGVBUEkvZmlsZS9Xb3JrZXItcmVhZC1maWxl
LWNvbnN0cnVjdG9yLndvcmtlci1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL0ZpbGVBUEkvaWRsaGFybmVzcy53b3JrZXItZXhwZWN0ZWQudHh0OgorCisyMDE3LTA1
LTEwICBCZW4gS2VsbHkgIDxiZW5Ad2FuZGVydmlldy5jb20+CisKICAgICAgICAgSW1wb3J0IHRo
ZSBXUFQgRmlsZUFQSSB0ZXN0cy4KICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE3MTk2MAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0ZpbGVBUEkvZmlsZS9Xb3JrZXItcmVhZC1maWxlLWNvbnN0
cnVjdG9yLndvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL0ZpbGVBUEkvZmlsZS9Xb3JrZXItcmVhZC1maWxlLWNvbnN0cnVjdG9y
Lndvcmtlci1leHBlY3RlZC50eHQKaW5kZXggMDhjNmI4ZDJmZDM5YmY5MjUxYWI0NTViZWNmYjA0
ZmI2NTQxNWY3ZS4uYTdmOGJlZmMwNjEzYTZkZDY4NjAwZDUyYjYzOTQ3NmYzNzZjODAzYiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9GaWxl
QVBJL2ZpbGUvV29ya2VyLXJlYWQtZmlsZS1jb25zdHJ1Y3Rvci53b3JrZXItZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvRmlsZUFQ
SS9maWxlL1dvcmtlci1yZWFkLWZpbGUtY29uc3RydWN0b3Iud29ya2VyLWV4cGVjdGVkLnR4dApA
QCAtMSwzICsxLDMgQEAKIAotRkFJTCBGaWxlUmVhZGVyIGluIFdvcmtlciBDYW4ndCBmaW5kIHZh
cmlhYmxlOiBGaWxlCitQQVNTIEZpbGVSZWFkZXIgaW4gV29ya2VyIAogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0ZpbGVBUEkvaWRsaGFy
bmVzcy53b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9GaWxlQVBJL2lkbGhhcm5lc3Mud29ya2VyLWV4cGVjdGVkLnR4dAppbmRl
eCA0Yjk3ZDM3NzNmNjI4ODQ4MThmMTQ2ZjVlZWNiZWIxNWNlZTM1YjFiLi4zODQ5NzJkZjNmYTM1
NWVmZjU5NGRlNjc0YjdkZTQ3MTgxYmQwOTY3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0ZpbGVBUEkvaWRsaGFybmVzcy53b3JrZXItZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvRmlsZUFQSS9pZGxoYXJuZXNzLndvcmtlci1leHBlY3RlZC50eHQKQEAgLTIwLDIxICsyMCwy
MSBAQCBQQVNTIEJsb2IgaW50ZXJmYWNlOiBuZXcgQmxvYihbIlRFU1QiXSkgbXVzdCBpbmhlcml0
IHByb3BlcnR5ICJzaXplIiB3aXRoIHRoZSBwcgogUEFTUyBCbG9iIGludGVyZmFjZTogbmV3IEJs
b2IoWyJURVNUIl0pIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAidHlwZSIgd2l0aCB0aGUgcHJvcGVy
IHR5cGUgKDEpIAogUEFTUyBCbG9iIGludGVyZmFjZTogbmV3IEJsb2IoWyJURVNUIl0pIG11c3Qg
aW5oZXJpdCBwcm9wZXJ0eSAic2xpY2UiIHdpdGggdGhlIHByb3BlciB0eXBlICgyKSAKIFBBU1Mg
QmxvYiBpbnRlcmZhY2U6IGNhbGxpbmcgc2xpY2UobG9uZyBsb25nLGxvbmcgbG9uZyxET01TdHJp
bmcpIG9uIG5ldyBCbG9iKFsiVEVTVCJdKSB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhy
b3cgVHlwZUVycm9yIAotRkFJTCBGaWxlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0
aWVzIG9mIGludGVyZmFjZSBvYmplY3QgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5v
dCBoYXZlIG93biBwcm9wZXJ0eSAiRmlsZSIgZXhwZWN0ZWQgcHJvcGVydHkgIkZpbGUiIG1pc3Np
bmcKLUZBSUwgRmlsZSBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCBhc3NlcnRfb3duX3Byb3BlcnR5
OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJGaWxlIiBleHBlY3RlZCBwcm9wZXJ0
eSAiRmlsZSIgbWlzc2luZwotRkFJTCBGaWxlIGludGVyZmFjZSBvYmplY3QgbmFtZSBhc3NlcnRf
b3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJGaWxlIiBleHBl
Y3RlZCBwcm9wZXJ0eSAiRmlsZSIgbWlzc2luZwotRkFJTCBGaWxlIGludGVyZmFjZTogZXhpc3Rl
bmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IGFzc2VydF9v
d25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkZpbGUiIGV4cGVj
dGVkIHByb3BlcnR5ICJGaWxlIiBtaXNzaW5nCi1GQUlMIEZpbGUgaW50ZXJmYWNlOiBleGlzdGVu
Y2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3Ry
dWN0b3IiIHByb3BlcnR5IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBv
d24gcHJvcGVydHkgIkZpbGUiIGV4cGVjdGVkIHByb3BlcnR5ICJGaWxlIiBtaXNzaW5nCi1GQUlM
IEZpbGUgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgbmFtZSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxm
IGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJGaWxlIiBleHBlY3RlZCBwcm9wZXJ0eSAiRmls
ZSIgbWlzc2luZwotRkFJTCBGaWxlIGludGVyZmFjZTogYXR0cmlidXRlIGxhc3RNb2RpZmllZCBh
c3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJGaWxl
IiBleHBlY3RlZCBwcm9wZXJ0eSAiRmlsZSIgbWlzc2luZwotRkFJTCBGaWxlIG11c3QgYmUgcHJp
bWFyeSBpbnRlcmZhY2Ugb2YgbmV3IEZpbGUoWyJteUZpbGVCaXRzIl0sICJteUZpbGVOYW1lIikg
YXNzZXJ0X2VxdWFsczogVW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBldmFsdWF0aW5nIG9iamVj
dCBleHBlY3RlZCBudWxsIGJ1dCBnb3Qgb2JqZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmlu
ZCB2YXJpYWJsZTogRmlsZSIKLUZBSUwgU3RyaW5naWZpY2F0aW9uIG9mIG5ldyBGaWxlKFsibXlG
aWxlQml0cyJdLCAibXlGaWxlTmFtZSIpIGFzc2VydF9lcXVhbHM6IFVuZXhwZWN0ZWQgZXhjZXB0
aW9uIHdoZW4gZXZhbHVhdGluZyBvYmplY3QgZXhwZWN0ZWQgbnVsbCBidXQgZ290IG9iamVjdCAi
UmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IEZpbGUiCi1GQUlMIEZpbGUgaW50
ZXJmYWNlOiBuZXcgRmlsZShbIm15RmlsZUJpdHMiXSwgIm15RmlsZU5hbWUiKSBtdXN0IGluaGVy
aXQgcHJvcGVydHkgIm5hbWUiIHdpdGggdGhlIHByb3BlciB0eXBlICgwKSBhc3NlcnRfZXF1YWxz
OiBVbmV4cGVjdGVkIGV4Y2VwdGlvbiB3aGVuIGV2YWx1YXRpbmcgb2JqZWN0IGV4cGVjdGVkIG51
bGwgYnV0IGdvdCBvYmplY3QgIlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBG
aWxlIgotRkFJTCBGaWxlIGludGVyZmFjZTogbmV3IEZpbGUoWyJteUZpbGVCaXRzIl0sICJteUZp
bGVOYW1lIikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJsYXN0TW9kaWZpZWQiIHdpdGggdGhlIHBy
b3BlciB0eXBlICgxKSBhc3NlcnRfZXF1YWxzOiBVbmV4cGVjdGVkIGV4Y2VwdGlvbiB3aGVuIGV2
YWx1YXRpbmcgb2JqZWN0IGV4cGVjdGVkIG51bGwgYnV0IGdvdCBvYmplY3QgIlJlZmVyZW5jZUVy
cm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBGaWxlIgotRkFJTCBCbG9iIGludGVyZmFjZTogbmV3
IEZpbGUoWyJteUZpbGVCaXRzIl0sICJteUZpbGVOYW1lIikgbXVzdCBpbmhlcml0IHByb3BlcnR5
ICJzaXplIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMCkgYXNzZXJ0X2VxdWFsczogVW5leHBlY3Rl
ZCBleGNlcHRpb24gd2hlbiBldmFsdWF0aW5nIG9iamVjdCBleHBlY3RlZCBudWxsIGJ1dCBnb3Qg
b2JqZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogRmlsZSIKLUZBSUwg
QmxvYiBpbnRlcmZhY2U6IG5ldyBGaWxlKFsibXlGaWxlQml0cyJdLCAibXlGaWxlTmFtZSIpIG11
c3QgaW5oZXJpdCBwcm9wZXJ0eSAidHlwZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDEpIGFzc2Vy
dF9lcXVhbHM6IFVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZXZhbHVhdGluZyBvYmplY3QgZXhw
ZWN0ZWQgbnVsbCBidXQgZ290IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFy
aWFibGU6IEZpbGUiCi1GQUlMIEJsb2IgaW50ZXJmYWNlOiBuZXcgRmlsZShbIm15RmlsZUJpdHMi
XSwgIm15RmlsZU5hbWUiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgInNsaWNlIiB3aXRoIHRoZSBw
cm9wZXIgdHlwZSAoMikgYXNzZXJ0X2VxdWFsczogVW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBl
dmFsdWF0aW5nIG9iamVjdCBleHBlY3RlZCBudWxsIGJ1dCBnb3Qgb2JqZWN0ICJSZWZlcmVuY2VF
cnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogRmlsZSIKLUZBSUwgQmxvYiBpbnRlcmZhY2U6IGNh
bGxpbmcgc2xpY2UobG9uZyBsb25nLGxvbmcgbG9uZyxET01TdHJpbmcpIG9uIG5ldyBGaWxlKFsi
bXlGaWxlQml0cyJdLCAibXlGaWxlTmFtZSIpIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0
aHJvdyBUeXBlRXJyb3IgYXNzZXJ0X2VxdWFsczogVW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBl
dmFsdWF0aW5nIG9iamVjdCBleHBlY3RlZCBudWxsIGJ1dCBnb3Qgb2JqZWN0ICJSZWZlcmVuY2VF
cnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogRmlsZSIKK1BBU1MgRmlsZSBpbnRlcmZhY2U6IGV4
aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAorUEFTUyBGaWxlIGlu
dGVyZmFjZSBvYmplY3QgbGVuZ3RoIAorUEFTUyBGaWxlIGludGVyZmFjZSBvYmplY3QgbmFtZSAK
K1BBU1MgRmlsZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZh
Y2UgcHJvdG90eXBlIG9iamVjdCAKK1BBU1MgRmlsZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQg
cHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIg
cHJvcGVydHkgCitQQVNTIEZpbGUgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgbmFtZSAKK1BBU1MgRmls
ZSBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBsYXN0TW9kaWZpZWQgCitQQVNTIEZpbGUgbXVzdCBiZSBw
cmltYXJ5IGludGVyZmFjZSBvZiBuZXcgRmlsZShbIm15RmlsZUJpdHMiXSwgIm15RmlsZU5hbWUi
KSAKK1BBU1MgU3RyaW5naWZpY2F0aW9uIG9mIG5ldyBGaWxlKFsibXlGaWxlQml0cyJdLCAibXlG
aWxlTmFtZSIpIAorUEFTUyBGaWxlIGludGVyZmFjZTogbmV3IEZpbGUoWyJteUZpbGVCaXRzIl0s
ICJteUZpbGVOYW1lIikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJuYW1lIiB3aXRoIHRoZSBwcm9w
ZXIgdHlwZSAoMCkgCitQQVNTIEZpbGUgaW50ZXJmYWNlOiBuZXcgRmlsZShbIm15RmlsZUJpdHMi
XSwgIm15RmlsZU5hbWUiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImxhc3RNb2RpZmllZCIgd2l0
aCB0aGUgcHJvcGVyIHR5cGUgKDEpIAorUEFTUyBCbG9iIGludGVyZmFjZTogbmV3IEZpbGUoWyJt
eUZpbGVCaXRzIl0sICJteUZpbGVOYW1lIikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJzaXplIiB3
aXRoIHRoZSBwcm9wZXIgdHlwZSAoMCkgCitQQVNTIEJsb2IgaW50ZXJmYWNlOiBuZXcgRmlsZShb
Im15RmlsZUJpdHMiXSwgIm15RmlsZU5hbWUiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgInR5cGUi
IHdpdGggdGhlIHByb3BlciB0eXBlICgxKSAKK1BBU1MgQmxvYiBpbnRlcmZhY2U6IG5ldyBGaWxl
KFsibXlGaWxlQml0cyJdLCAibXlGaWxlTmFtZSIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAic2xp
Y2UiIHdpdGggdGhlIHByb3BlciB0eXBlICgyKSAKK1BBU1MgQmxvYiBpbnRlcmZhY2U6IGNhbGxp
bmcgc2xpY2UobG9uZyBsb25nLGxvbmcgbG9uZyxET01TdHJpbmcpIG9uIG5ldyBGaWxlKFsibXlG
aWxlQml0cyJdLCAibXlGaWxlTmFtZSIpIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJv
dyBUeXBlRXJyb3IgCiBGQUlMIEZpbGVMaXN0IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9w
ZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2Vz
IG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiRmlsZUxpc3QiIGV4cGVjdGVkIHByb3BlcnR5ICJGaWxl
TGlzdCIgbWlzc2luZwogRkFJTCBGaWxlTGlzdCBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCBhc3Nl
cnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJGaWxlTGlz
dCIgZXhwZWN0ZWQgcHJvcGVydHkgIkZpbGVMaXN0IiBtaXNzaW5nCiBGQUlMIEZpbGVMaXN0IGlu
dGVyZmFjZSBvYmplY3QgbmFtZSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhh
dmUgb3duIHByb3BlcnR5ICJGaWxlTGlzdCIgZXhwZWN0ZWQgcHJvcGVydHkgIkZpbGVMaXN0IiBt
aXNzaW5nCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>310045</attachid>
            <date>2017-05-13 18:33:15 -0700</date>
            <delta_ts>2017-05-13 19:12:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-171781-20170513213313.patch</filename>
            <type>text/plain</type>
            <size>8579</size>
            <attacher name="Ben Kelly">ben</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE2ODIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTRiMzcwNjA5ZDRmZTli
NDdmMGE4OTkzMDNiMWNjNGEwODliZTM4NS4uMWMzNTkyOWM0MmViNTEwNGQ5ZDQ1Y2VhNWJjMDE0
NzNiMTViNGNlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE3LTA1LTEzICBCZW4g
S2VsbHkgIDxiZW5Ad2FuZGVydmlldy5jb20+CisKKyAgICAgICAgRXhwb3NlIHRoZSBGaWxlIGlu
dGVyZmFjZSB0byB3ZWIgd29ya2VyIGdsb2JhbHMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzE3ODEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0czogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9GaWxlQVBJL2ZpbGUvV29ya2VyLXJlYWQtZmlsZS1jb25zdHJ1Y3Rv
ci53b3JrZXIuaHRtbAorICAgICAgICAgICAgICAgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9GaWxlQVBJL2lkbGhhcm5lc3Mud29ya2VyLmh0bWwKKworICAgICAg
ICAqIGZpbGVhcGkvRmlsZS5pZGw6CisKIDIwMTctMDUtMTIgIFNhbSBXZWluaWcgIDxzYW1Ad2Vi
a2l0Lm9yZz4KIAogICAgICAgICBbV2ViSURMXSBSZW1vdmUgbmVlZCBmb3IgY3VzdG9tIGJpbmRp
bmcgZm9yIFdvcmtlciBjb25zdHJ1Y3RvcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZmls
ZWFwaS9GaWxlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZS5pZGwKaW5kZXggMzcy
YmQ4MTU1YmJhYjFiMGRiZTVhM2NhZGEzZWNiNDk4YTE3YjBmYy4uOGU4Mzc5MTY1OTUzMTg5MjBm
OWUwN2E3MzdhMjQxYWVlMGIxYzAzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZmlsZWFw
aS9GaWxlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0ZpbGUuaWRsCkBAIC0yNiwx
MSArMjYsMTAgQEAKIHR5cGVkZWYgKEFycmF5QnVmZmVyVmlldyBvciBBcnJheUJ1ZmZlcikgQnVm
ZmVyU291cmNlOwogdHlwZWRlZiAoQnVmZmVyU291cmNlIG9yIEJsb2Igb3IgVVNWU3RyaW5nKSBC
bG9iUGFydDsKIAotLy8gRklYTUU6IFRoaXMgc2hvdWxkIGJlIGV4cG9zZWQgb24gV29ya2VycyBh
cyB3ZWxsLgogWwogICAgIENvbnN0cnVjdG9yKHNlcXVlbmNlPEJsb2JQYXJ0PiBmaWxlQml0cywg
VVNWU3RyaW5nIGZpbGVOYW1lLCBvcHRpb25hbCBGaWxlUHJvcGVydHlCYWcgb3B0aW9ucyksCiAg
ICAgRXhwb3J0TWFjcm89V0VCQ09SRV9FWFBPUlQsCi0gICAgRXhwb3NlZD0oV2luZG93KSwKKyAg
ICBFeHBvc2VkPShXaW5kb3csV29ya2VyKSwKICAgICBKU0dlbmVyYXRlVG9KU09iamVjdCwKICAg
ICBKU0dlbmVyYXRlVG9OYXRpdmVPYmplY3QsCiBdIGludGVyZmFjZSBGaWxlIDogQmxvYiB7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCAxMDMxMzc5OTk5Yjg2MjQ5YjA2ODYxYmMx
ZTgxMTU5MmJiNmE3YTkyLi5mMThhMjQ3NGRiZGI5OTBjNTk0MjVkN2JiNjBhMTVhZjQ5YTkxNmE4
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsNSArMSwxNSBAQAogMjAxNy0w
NS0xMyAgQmVuIEtlbGx5ICA8YmVuQHdhbmRlcnZpZXcuY29tPgogCisgICAgICAgIEV4cG9zZSB0
aGUgRmlsZSBpbnRlcmZhY2UgdG8gd2ViIHdvcmtlciBnbG9iYWxzLgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcxNzgxCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvRmls
ZUFQSS9maWxlL1dvcmtlci1yZWFkLWZpbGUtY29uc3RydWN0b3Iud29ya2VyLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvRmlsZUFQSS9pZGxoYXJuZXNzLndvcmtl
ci1leHBlY3RlZC50eHQ6CisKKzIwMTctMDUtMTMgIEJlbiBLZWxseSAgPGJlbkB3YW5kZXJ2aWV3
LmNvbT4KKwogICAgICAgICBJbXBvcnQgRmlsZUFQSSBXUFQgdGVzdHMuCiAgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzE5NjAKIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9GaWxlQVBJL2ZpbGUv
V29ya2VyLXJlYWQtZmlsZS1jb25zdHJ1Y3Rvci53b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9GaWxlQVBJL2ZpbGUvV29ya2Vy
LXJlYWQtZmlsZS1jb25zdHJ1Y3Rvci53b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IDA4YzZiOGQy
ZmQzOWJmOTI1MWFiNDU1YmVjZmIwNGZiNjU0MTVmN2UuLmE3ZjhiZWZjMDYxM2E2ZGQ2ODYwMGQ1
MmI2Mzk0NzZmMzc2YzgwM2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvRmlsZUFQSS9maWxlL1dvcmtlci1yZWFkLWZpbGUtY29uc3RydWN0
b3Iud29ya2VyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL0ZpbGVBUEkvZmlsZS9Xb3JrZXItcmVhZC1maWxlLWNvbnN0cnVjdG9y
Lndvcmtlci1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLUZBSUwgRmlsZVJlYWRlciBp
biBXb3JrZXIgQ2FuJ3QgZmluZCB2YXJpYWJsZTogRmlsZQorUEFTUyBGaWxlUmVhZGVyIGluIFdv
cmtlciAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9GaWxlQVBJL2lkbGhhcm5lc3Mud29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvRmlsZUFQSS9pZGxoYXJuZXNzLndv
cmtlci1leHBlY3RlZC50eHQKaW5kZXggNGI5N2QzNzczZjYyODg0ODE4ZjE0NmY1ZWVjYmViMTVj
ZWUzNWIxYi4uMzg0OTcyZGYzZmEzNTVlZmY1OTRkZTY3NGI3ZGU0NzE4MWJkMDk2NyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9GaWxlQVBJ
L2lkbGhhcm5lc3Mud29ya2VyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0ZpbGVBUEkvaWRsaGFybmVzcy53b3JrZXItZXhwZWN0
ZWQudHh0CkBAIC0yMCwyMSArMjAsMjEgQEAgUEFTUyBCbG9iIGludGVyZmFjZTogbmV3IEJsb2Io
WyJURVNUIl0pIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAic2l6ZSIgd2l0aCB0aGUgcHIKIFBBU1Mg
QmxvYiBpbnRlcmZhY2U6IG5ldyBCbG9iKFsiVEVTVCJdKSBtdXN0IGluaGVyaXQgcHJvcGVydHkg
InR5cGUiIHdpdGggdGhlIHByb3BlciB0eXBlICgxKSAKIFBBU1MgQmxvYiBpbnRlcmZhY2U6IG5l
dyBCbG9iKFsiVEVTVCJdKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgInNsaWNlIiB3aXRoIHRoZSBw
cm9wZXIgdHlwZSAoMikgCiBQQVNTIEJsb2IgaW50ZXJmYWNlOiBjYWxsaW5nIHNsaWNlKGxvbmcg
bG9uZyxsb25nIGxvbmcsRE9NU3RyaW5nKSBvbiBuZXcgQmxvYihbIlRFU1QiXSkgd2l0aCB0b28g
ZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAKLUZBSUwgRmlsZSBpbnRlcmZhY2U6
IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IGFzc2VydF9vd25f
cHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkZpbGUiIGV4cGVjdGVk
IHByb3BlcnR5ICJGaWxlIiBtaXNzaW5nCi1GQUlMIEZpbGUgaW50ZXJmYWNlIG9iamVjdCBsZW5n
dGggYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAi
RmlsZSIgZXhwZWN0ZWQgcHJvcGVydHkgIkZpbGUiIG1pc3NpbmcKLUZBSUwgRmlsZSBpbnRlcmZh
Y2Ugb2JqZWN0IG5hbWUgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93
biBwcm9wZXJ0eSAiRmlsZSIgZXhwZWN0ZWQgcHJvcGVydHkgIkZpbGUiIG1pc3NpbmcKLUZBSUwg
RmlsZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJv
dG90eXBlIG9iamVjdCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3du
IHByb3BlcnR5ICJGaWxlIiBleHBlY3RlZCBwcm9wZXJ0eSAiRmlsZSIgbWlzc2luZwotRkFJTCBG
aWxlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90
b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSBhc3NlcnRfb3duX3Byb3BlcnR5
OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJGaWxlIiBleHBlY3RlZCBwcm9wZXJ0
eSAiRmlsZSIgbWlzc2luZwotRkFJTCBGaWxlIGludGVyZmFjZTogYXR0cmlidXRlIG5hbWUgYXNz
ZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiRmlsZSIg
ZXhwZWN0ZWQgcHJvcGVydHkgIkZpbGUiIG1pc3NpbmcKLUZBSUwgRmlsZSBpbnRlcmZhY2U6IGF0
dHJpYnV0ZSBsYXN0TW9kaWZpZWQgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBo
YXZlIG93biBwcm9wZXJ0eSAiRmlsZSIgZXhwZWN0ZWQgcHJvcGVydHkgIkZpbGUiIG1pc3NpbmcK
LUZBSUwgRmlsZSBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIG5ldyBGaWxlKFsibXlGaWxl
Qml0cyJdLCAibXlGaWxlTmFtZSIpIGFzc2VydF9lcXVhbHM6IFVuZXhwZWN0ZWQgZXhjZXB0aW9u
IHdoZW4gZXZhbHVhdGluZyBvYmplY3QgZXhwZWN0ZWQgbnVsbCBidXQgZ290IG9iamVjdCAiUmVm
ZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IEZpbGUiCi1GQUlMIFN0cmluZ2lmaWNh
dGlvbiBvZiBuZXcgRmlsZShbIm15RmlsZUJpdHMiXSwgIm15RmlsZU5hbWUiKSBhc3NlcnRfZXF1
YWxzOiBVbmV4cGVjdGVkIGV4Y2VwdGlvbiB3aGVuIGV2YWx1YXRpbmcgb2JqZWN0IGV4cGVjdGVk
IG51bGwgYnV0IGdvdCBvYmplY3QgIlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxl
OiBGaWxlIgotRkFJTCBGaWxlIGludGVyZmFjZTogbmV3IEZpbGUoWyJteUZpbGVCaXRzIl0sICJt
eUZpbGVOYW1lIikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJuYW1lIiB3aXRoIHRoZSBwcm9wZXIg
dHlwZSAoMCkgYXNzZXJ0X2VxdWFsczogVW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBldmFsdWF0
aW5nIG9iamVjdCBleHBlY3RlZCBudWxsIGJ1dCBnb3Qgb2JqZWN0ICJSZWZlcmVuY2VFcnJvcjog
Q2FuJ3QgZmluZCB2YXJpYWJsZTogRmlsZSIKLUZBSUwgRmlsZSBpbnRlcmZhY2U6IG5ldyBGaWxl
KFsibXlGaWxlQml0cyJdLCAibXlGaWxlTmFtZSIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAibGFz
dE1vZGlmaWVkIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMSkgYXNzZXJ0X2VxdWFsczogVW5leHBl
Y3RlZCBleGNlcHRpb24gd2hlbiBldmFsdWF0aW5nIG9iamVjdCBleHBlY3RlZCBudWxsIGJ1dCBn
b3Qgb2JqZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogRmlsZSIKLUZB
SUwgQmxvYiBpbnRlcmZhY2U6IG5ldyBGaWxlKFsibXlGaWxlQml0cyJdLCAibXlGaWxlTmFtZSIp
IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAic2l6ZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDApIGFz
c2VydF9lcXVhbHM6IFVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZXZhbHVhdGluZyBvYmplY3Qg
ZXhwZWN0ZWQgbnVsbCBidXQgZ290IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQg
dmFyaWFibGU6IEZpbGUiCi1GQUlMIEJsb2IgaW50ZXJmYWNlOiBuZXcgRmlsZShbIm15RmlsZUJp
dHMiXSwgIm15RmlsZU5hbWUiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgInR5cGUiIHdpdGggdGhl
IHByb3BlciB0eXBlICgxKSBhc3NlcnRfZXF1YWxzOiBVbmV4cGVjdGVkIGV4Y2VwdGlvbiB3aGVu
IGV2YWx1YXRpbmcgb2JqZWN0IGV4cGVjdGVkIG51bGwgYnV0IGdvdCBvYmplY3QgIlJlZmVyZW5j
ZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBGaWxlIgotRkFJTCBCbG9iIGludGVyZmFjZTog
bmV3IEZpbGUoWyJteUZpbGVCaXRzIl0sICJteUZpbGVOYW1lIikgbXVzdCBpbmhlcml0IHByb3Bl
cnR5ICJzbGljZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDIpIGFzc2VydF9lcXVhbHM6IFVuZXhw
ZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZXZhbHVhdGluZyBvYmplY3QgZXhwZWN0ZWQgbnVsbCBidXQg
Z290IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IEZpbGUiCi1G
QUlMIEJsb2IgaW50ZXJmYWNlOiBjYWxsaW5nIHNsaWNlKGxvbmcgbG9uZyxsb25nIGxvbmcsRE9N
U3RyaW5nKSBvbiBuZXcgRmlsZShbIm15RmlsZUJpdHMiXSwgIm15RmlsZU5hbWUiKSB3aXRoIHRv
byBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIGFzc2VydF9lcXVhbHM6IFVuZXhw
ZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZXZhbHVhdGluZyBvYmplY3QgZXhwZWN0ZWQgbnVsbCBidXQg
Z290IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IEZpbGUiCitQ
QVNTIEZpbGUgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNl
IG9iamVjdCAKK1BBU1MgRmlsZSBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCAKK1BBU1MgRmlsZSBp
bnRlcmZhY2Ugb2JqZWN0IG5hbWUgCitQQVNTIEZpbGUgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5k
IHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgCitQQVNTIEZpbGUgaW50
ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBv
YmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5IAorUEFTUyBGaWxlIGludGVyZmFjZTogYXR0
cmlidXRlIG5hbWUgCitQQVNTIEZpbGUgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgbGFzdE1vZGlmaWVk
IAorUEFTUyBGaWxlIG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgbmV3IEZpbGUoWyJteUZp
bGVCaXRzIl0sICJteUZpbGVOYW1lIikgCitQQVNTIFN0cmluZ2lmaWNhdGlvbiBvZiBuZXcgRmls
ZShbIm15RmlsZUJpdHMiXSwgIm15RmlsZU5hbWUiKSAKK1BBU1MgRmlsZSBpbnRlcmZhY2U6IG5l
dyBGaWxlKFsibXlGaWxlQml0cyJdLCAibXlGaWxlTmFtZSIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0
eSAibmFtZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDApIAorUEFTUyBGaWxlIGludGVyZmFjZTog
bmV3IEZpbGUoWyJteUZpbGVCaXRzIl0sICJteUZpbGVOYW1lIikgbXVzdCBpbmhlcml0IHByb3Bl
cnR5ICJsYXN0TW9kaWZpZWQiIHdpdGggdGhlIHByb3BlciB0eXBlICgxKSAKK1BBU1MgQmxvYiBp
bnRlcmZhY2U6IG5ldyBGaWxlKFsibXlGaWxlQml0cyJdLCAibXlGaWxlTmFtZSIpIG11c3QgaW5o
ZXJpdCBwcm9wZXJ0eSAic2l6ZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDApIAorUEFTUyBCbG9i
IGludGVyZmFjZTogbmV3IEZpbGUoWyJteUZpbGVCaXRzIl0sICJteUZpbGVOYW1lIikgbXVzdCBp
bmhlcml0IHByb3BlcnR5ICJ0eXBlIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMSkgCitQQVNTIEJs
b2IgaW50ZXJmYWNlOiBuZXcgRmlsZShbIm15RmlsZUJpdHMiXSwgIm15RmlsZU5hbWUiKSBtdXN0
IGluaGVyaXQgcHJvcGVydHkgInNsaWNlIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMikgCitQQVNT
IEJsb2IgaW50ZXJmYWNlOiBjYWxsaW5nIHNsaWNlKGxvbmcgbG9uZyxsb25nIGxvbmcsRE9NU3Ry
aW5nKSBvbiBuZXcgRmlsZShbIm15RmlsZUJpdHMiXSwgIm15RmlsZU5hbWUiKSB3aXRoIHRvbyBm
ZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIAogRkFJTCBGaWxlTGlzdCBpbnRlcmZh
Y2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IGFzc2VydF9v
d25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkZpbGVMaXN0IiBl
eHBlY3RlZCBwcm9wZXJ0eSAiRmlsZUxpc3QiIG1pc3NpbmcKIEZBSUwgRmlsZUxpc3QgaW50ZXJm
YWNlIG9iamVjdCBsZW5ndGggYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZl
IG93biBwcm9wZXJ0eSAiRmlsZUxpc3QiIGV4cGVjdGVkIHByb3BlcnR5ICJGaWxlTGlzdCIgbWlz
c2luZwogRkFJTCBGaWxlTGlzdCBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgYXNzZXJ0X293bl9wcm9w
ZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiRmlsZUxpc3QiIGV4cGVjdGVk
IHByb3BlcnR5ICJGaWxlTGlzdCIgbWlzc2luZwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>310049</attachid>
            <date>2017-05-13 19:12:46 -0700</date>
            <delta_ts>2017-05-13 19:12:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-171781-20170513221245.patch</filename>
            <type>text/plain</type>
            <size>10779</size>
            <attacher name="Ben Kelly">ben</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE2ODIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTRiMzcwNjA5ZDRmZTli
NDdmMGE4OTkzMDNiMWNjNGEwODliZTM4NS4uMWMzNTkyOWM0MmViNTEwNGQ5ZDQ1Y2VhNWJjMDE0
NzNiMTViNGNlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE3LTA1LTEzICBCZW4g
S2VsbHkgIDxiZW5Ad2FuZGVydmlldy5jb20+CisKKyAgICAgICAgRXhwb3NlIHRoZSBGaWxlIGlu
dGVyZmFjZSB0byB3ZWIgd29ya2VyIGdsb2JhbHMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzE3ODEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0czogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9GaWxlQVBJL2ZpbGUvV29ya2VyLXJlYWQtZmlsZS1jb25zdHJ1Y3Rv
ci53b3JrZXIuaHRtbAorICAgICAgICAgICAgICAgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9GaWxlQVBJL2lkbGhhcm5lc3Mud29ya2VyLmh0bWwKKworICAgICAg
ICAqIGZpbGVhcGkvRmlsZS5pZGw6CisKIDIwMTctMDUtMTIgIFNhbSBXZWluaWcgIDxzYW1Ad2Vi
a2l0Lm9yZz4KIAogICAgICAgICBbV2ViSURMXSBSZW1vdmUgbmVlZCBmb3IgY3VzdG9tIGJpbmRp
bmcgZm9yIFdvcmtlciBjb25zdHJ1Y3RvcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZmls
ZWFwaS9GaWxlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZS5pZGwKaW5kZXggMzcy
YmQ4MTU1YmJhYjFiMGRiZTVhM2NhZGEzZWNiNDk4YTE3YjBmYy4uOGU4Mzc5MTY1OTUzMTg5MjBm
OWUwN2E3MzdhMjQxYWVlMGIxYzAzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZmlsZWFw
aS9GaWxlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0ZpbGUuaWRsCkBAIC0yNiwx
MSArMjYsMTAgQEAKIHR5cGVkZWYgKEFycmF5QnVmZmVyVmlldyBvciBBcnJheUJ1ZmZlcikgQnVm
ZmVyU291cmNlOwogdHlwZWRlZiAoQnVmZmVyU291cmNlIG9yIEJsb2Igb3IgVVNWU3RyaW5nKSBC
bG9iUGFydDsKIAotLy8gRklYTUU6IFRoaXMgc2hvdWxkIGJlIGV4cG9zZWQgb24gV29ya2VycyBh
cyB3ZWxsLgogWwogICAgIENvbnN0cnVjdG9yKHNlcXVlbmNlPEJsb2JQYXJ0PiBmaWxlQml0cywg
VVNWU3RyaW5nIGZpbGVOYW1lLCBvcHRpb25hbCBGaWxlUHJvcGVydHlCYWcgb3B0aW9ucyksCiAg
ICAgRXhwb3J0TWFjcm89V0VCQ09SRV9FWFBPUlQsCi0gICAgRXhwb3NlZD0oV2luZG93KSwKKyAg
ICBFeHBvc2VkPShXaW5kb3csV29ya2VyKSwKICAgICBKU0dlbmVyYXRlVG9KU09iamVjdCwKICAg
ICBKU0dlbmVyYXRlVG9OYXRpdmVPYmplY3QsCiBdIGludGVyZmFjZSBGaWxlIDogQmxvYiB7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
aW5kZXggNzkzZGEwZDA4ZjdiODA1ZGVhNDMxNTM4MzkxNTUwODRlYmY3YjgzOC4uNDkwYTkwNThm
ZGUwNzUxNTZhYzZhZjZlY2JjNzg4Yzc5NWJjMjA0ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE0IEBACiAy
MDE3LTA1LTEzICBCZW4gS2VsbHkgIDxiZW5Ad2FuZGVydmlldy5jb20+CiAKKyAgICAgICAgRXhw
b3NlIHRoZSBGaWxlIGludGVyZmFjZSB0byB3ZWIgd29ya2VyIGdsb2JhbHMuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzE3ODEKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGpzL2RvbS9nbG9iYWwtY29u
c3RydWN0b3JzLWF0dHJpYnV0ZXMtZGVkaWNhdGVkLXdvcmtlci1leHBlY3RlZC50eHQ6CisKKzIw
MTctMDUtMTMgIEJlbiBLZWxseSAgPGJlbkB3YW5kZXJ2aWV3LmNvbT4KKwogICAgICAgICBJbXBv
cnQgRmlsZUFQSSBXUFQgdGVzdHMuCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNzE5NjAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXgg
MTAzMTM3OTk5OWI4NjI0OWIwNjg2MWJjMWU4MTE1OTJiYjZhN2E5Mi4uZjE4YTI0NzRkYmRiOTkw
YzU5NDI1ZDdiYjYwYTE1YWY0OWE5MTZhOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9n
CkBAIC0xLDUgKzEsMTUgQEAKIDIwMTctMDUtMTMgIEJlbiBLZWxseSAgPGJlbkB3YW5kZXJ2aWV3
LmNvbT4KIAorICAgICAgICBFeHBvc2UgdGhlIEZpbGUgaW50ZXJmYWNlIHRvIHdlYiB3b3JrZXIg
Z2xvYmFscy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE3MTc4MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL0ZpbGVBUEkvZmlsZS9Xb3JrZXItcmVhZC1maWxlLWNvbnN0
cnVjdG9yLndvcmtlci1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L0ZpbGVBUEkvaWRsaGFybmVzcy53b3JrZXItZXhwZWN0ZWQudHh0OgorCisyMDE3LTA1LTEzICBC
ZW4gS2VsbHkgIDxiZW5Ad2FuZGVydmlldy5jb20+CisKICAgICAgICAgSW1wb3J0IEZpbGVBUEkg
V1BUIHRlc3RzLgogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTcxOTYwCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvRmlsZUFQSS9maWxlL1dvcmtlci1yZWFkLWZpbGUtY29uc3RydWN0b3Iud29y
a2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvRmlsZUFQSS9maWxlL1dvcmtlci1yZWFkLWZpbGUtY29uc3RydWN0b3Iud29ya2VyLWV4
cGVjdGVkLnR4dAppbmRleCAwOGM2YjhkMmZkMzliZjkyNTFhYjQ1NWJlY2ZiMDRmYjY1NDE1Zjdl
Li5hN2Y4YmVmYzA2MTNhNmRkNjg2MDBkNTJiNjM5NDc2ZjM3NmM4MDNiIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0ZpbGVBUEkvZmlsZS9X
b3JrZXItcmVhZC1maWxlLWNvbnN0cnVjdG9yLndvcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9GaWxlQVBJL2ZpbGUvV29y
a2VyLXJlYWQtZmlsZS1jb25zdHJ1Y3Rvci53b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEs
MyBAQAogCi1GQUlMIEZpbGVSZWFkZXIgaW4gV29ya2VyIENhbid0IGZpbmQgdmFyaWFibGU6IEZp
bGUKK1BBU1MgRmlsZVJlYWRlciBpbiBXb3JrZXIgCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvRmlsZUFQSS9pZGxoYXJuZXNzLndvcmtl
ci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL0ZpbGVBUEkvaWRsaGFybmVzcy53b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IDRiOTdkMzc3
M2Y2Mjg4NDgxOGYxNDZmNWVlY2JlYjE1Y2VlMzViMWIuLjM4NDk3MmRmM2ZhMzU1ZWZmNTk0ZGU2
NzRiN2RlNDcxODFiZDA5NjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvRmlsZUFQSS9pZGxoYXJuZXNzLndvcmtlci1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9GaWxlQVBJ
L2lkbGhhcm5lc3Mud29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMjAsMjEgKzIwLDIxIEBAIFBBU1Mg
QmxvYiBpbnRlcmZhY2U6IG5ldyBCbG9iKFsiVEVTVCJdKSBtdXN0IGluaGVyaXQgcHJvcGVydHkg
InNpemUiIHdpdGggdGhlIHByCiBQQVNTIEJsb2IgaW50ZXJmYWNlOiBuZXcgQmxvYihbIlRFU1Qi
XSkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJ0eXBlIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMSkg
CiBQQVNTIEJsb2IgaW50ZXJmYWNlOiBuZXcgQmxvYihbIlRFU1QiXSkgbXVzdCBpbmhlcml0IHBy
b3BlcnR5ICJzbGljZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDIpIAogUEFTUyBCbG9iIGludGVy
ZmFjZTogY2FsbGluZyBzbGljZShsb25nIGxvbmcsbG9uZyBsb25nLERPTVN0cmluZykgb24gbmV3
IEJsb2IoWyJURVNUIl0pIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJy
b3IgCi1GQUlMIEZpbGUgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50
ZXJmYWNlIG9iamVjdCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3du
IHByb3BlcnR5ICJGaWxlIiBleHBlY3RlZCBwcm9wZXJ0eSAiRmlsZSIgbWlzc2luZwotRkFJTCBG
aWxlIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9l
cyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkZpbGUiIGV4cGVjdGVkIHByb3BlcnR5ICJGaWxlIiBt
aXNzaW5nCi1GQUlMIEZpbGUgaW50ZXJmYWNlIG9iamVjdCBuYW1lIGFzc2VydF9vd25fcHJvcGVy
dHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkZpbGUiIGV4cGVjdGVkIHByb3Bl
cnR5ICJGaWxlIiBtaXNzaW5nCi1GQUlMIEZpbGUgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHBy
b3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgYXNzZXJ0X293bl9wcm9wZXJ0
eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiRmlsZSIgZXhwZWN0ZWQgcHJvcGVy
dHkgIkZpbGUiIG1pc3NpbmcKLUZBSUwgRmlsZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJv
cGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJv
cGVydHkgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0
eSAiRmlsZSIgZXhwZWN0ZWQgcHJvcGVydHkgIkZpbGUiIG1pc3NpbmcKLUZBSUwgRmlsZSBpbnRl
cmZhY2U6IGF0dHJpYnV0ZSBuYW1lIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3Qg
aGF2ZSBvd24gcHJvcGVydHkgIkZpbGUiIGV4cGVjdGVkIHByb3BlcnR5ICJGaWxlIiBtaXNzaW5n
Ci1GQUlMIEZpbGUgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgbGFzdE1vZGlmaWVkIGFzc2VydF9vd25f
cHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkZpbGUiIGV4cGVjdGVk
IHByb3BlcnR5ICJGaWxlIiBtaXNzaW5nCi1GQUlMIEZpbGUgbXVzdCBiZSBwcmltYXJ5IGludGVy
ZmFjZSBvZiBuZXcgRmlsZShbIm15RmlsZUJpdHMiXSwgIm15RmlsZU5hbWUiKSBhc3NlcnRfZXF1
YWxzOiBVbmV4cGVjdGVkIGV4Y2VwdGlvbiB3aGVuIGV2YWx1YXRpbmcgb2JqZWN0IGV4cGVjdGVk
IG51bGwgYnV0IGdvdCBvYmplY3QgIlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxl
OiBGaWxlIgotRkFJTCBTdHJpbmdpZmljYXRpb24gb2YgbmV3IEZpbGUoWyJteUZpbGVCaXRzIl0s
ICJteUZpbGVOYW1lIikgYXNzZXJ0X2VxdWFsczogVW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBl
dmFsdWF0aW5nIG9iamVjdCBleHBlY3RlZCBudWxsIGJ1dCBnb3Qgb2JqZWN0ICJSZWZlcmVuY2VF
cnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogRmlsZSIKLUZBSUwgRmlsZSBpbnRlcmZhY2U6IG5l
dyBGaWxlKFsibXlGaWxlQml0cyJdLCAibXlGaWxlTmFtZSIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0
eSAibmFtZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDApIGFzc2VydF9lcXVhbHM6IFVuZXhwZWN0
ZWQgZXhjZXB0aW9uIHdoZW4gZXZhbHVhdGluZyBvYmplY3QgZXhwZWN0ZWQgbnVsbCBidXQgZ290
IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IEZpbGUiCi1GQUlM
IEZpbGUgaW50ZXJmYWNlOiBuZXcgRmlsZShbIm15RmlsZUJpdHMiXSwgIm15RmlsZU5hbWUiKSBt
dXN0IGluaGVyaXQgcHJvcGVydHkgImxhc3RNb2RpZmllZCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUg
KDEpIGFzc2VydF9lcXVhbHM6IFVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZXZhbHVhdGluZyBv
YmplY3QgZXhwZWN0ZWQgbnVsbCBidXQgZ290IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6IENhbid0
IGZpbmQgdmFyaWFibGU6IEZpbGUiCi1GQUlMIEJsb2IgaW50ZXJmYWNlOiBuZXcgRmlsZShbIm15
RmlsZUJpdHMiXSwgIm15RmlsZU5hbWUiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgInNpemUiIHdp
dGggdGhlIHByb3BlciB0eXBlICgwKSBhc3NlcnRfZXF1YWxzOiBVbmV4cGVjdGVkIGV4Y2VwdGlv
biB3aGVuIGV2YWx1YXRpbmcgb2JqZWN0IGV4cGVjdGVkIG51bGwgYnV0IGdvdCBvYmplY3QgIlJl
ZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBGaWxlIgotRkFJTCBCbG9iIGludGVy
ZmFjZTogbmV3IEZpbGUoWyJteUZpbGVCaXRzIl0sICJteUZpbGVOYW1lIikgbXVzdCBpbmhlcml0
IHByb3BlcnR5ICJ0eXBlIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMSkgYXNzZXJ0X2VxdWFsczog
VW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBldmFsdWF0aW5nIG9iamVjdCBleHBlY3RlZCBudWxs
IGJ1dCBnb3Qgb2JqZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogRmls
ZSIKLUZBSUwgQmxvYiBpbnRlcmZhY2U6IG5ldyBGaWxlKFsibXlGaWxlQml0cyJdLCAibXlGaWxl
TmFtZSIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAic2xpY2UiIHdpdGggdGhlIHByb3BlciB0eXBl
ICgyKSBhc3NlcnRfZXF1YWxzOiBVbmV4cGVjdGVkIGV4Y2VwdGlvbiB3aGVuIGV2YWx1YXRpbmcg
b2JqZWN0IGV4cGVjdGVkIG51bGwgYnV0IGdvdCBvYmplY3QgIlJlZmVyZW5jZUVycm9yOiBDYW4n
dCBmaW5kIHZhcmlhYmxlOiBGaWxlIgotRkFJTCBCbG9iIGludGVyZmFjZTogY2FsbGluZyBzbGlj
ZShsb25nIGxvbmcsbG9uZyBsb25nLERPTVN0cmluZykgb24gbmV3IEZpbGUoWyJteUZpbGVCaXRz
Il0sICJteUZpbGVOYW1lIikgd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVF
cnJvciBhc3NlcnRfZXF1YWxzOiBVbmV4cGVjdGVkIGV4Y2VwdGlvbiB3aGVuIGV2YWx1YXRpbmcg
b2JqZWN0IGV4cGVjdGVkIG51bGwgYnV0IGdvdCBvYmplY3QgIlJlZmVyZW5jZUVycm9yOiBDYW4n
dCBmaW5kIHZhcmlhYmxlOiBGaWxlIgorUEFTUyBGaWxlIGludGVyZmFjZTogZXhpc3RlbmNlIGFu
ZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCitQQVNTIEZpbGUgaW50ZXJmYWNlIG9i
amVjdCBsZW5ndGggCitQQVNTIEZpbGUgaW50ZXJmYWNlIG9iamVjdCBuYW1lIAorUEFTUyBGaWxl
IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5
cGUgb2JqZWN0IAorUEFTUyBGaWxlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVz
IG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSAK
K1BBU1MgRmlsZSBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBuYW1lIAorUEFTUyBGaWxlIGludGVyZmFj
ZTogYXR0cmlidXRlIGxhc3RNb2RpZmllZCAKK1BBU1MgRmlsZSBtdXN0IGJlIHByaW1hcnkgaW50
ZXJmYWNlIG9mIG5ldyBGaWxlKFsibXlGaWxlQml0cyJdLCAibXlGaWxlTmFtZSIpIAorUEFTUyBT
dHJpbmdpZmljYXRpb24gb2YgbmV3IEZpbGUoWyJteUZpbGVCaXRzIl0sICJteUZpbGVOYW1lIikg
CitQQVNTIEZpbGUgaW50ZXJmYWNlOiBuZXcgRmlsZShbIm15RmlsZUJpdHMiXSwgIm15RmlsZU5h
bWUiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm5hbWUiIHdpdGggdGhlIHByb3BlciB0eXBlICgw
KSAKK1BBU1MgRmlsZSBpbnRlcmZhY2U6IG5ldyBGaWxlKFsibXlGaWxlQml0cyJdLCAibXlGaWxl
TmFtZSIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAibGFzdE1vZGlmaWVkIiB3aXRoIHRoZSBwcm9w
ZXIgdHlwZSAoMSkgCitQQVNTIEJsb2IgaW50ZXJmYWNlOiBuZXcgRmlsZShbIm15RmlsZUJpdHMi
XSwgIm15RmlsZU5hbWUiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgInNpemUiIHdpdGggdGhlIHBy
b3BlciB0eXBlICgwKSAKK1BBU1MgQmxvYiBpbnRlcmZhY2U6IG5ldyBGaWxlKFsibXlGaWxlQml0
cyJdLCAibXlGaWxlTmFtZSIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAidHlwZSIgd2l0aCB0aGUg
cHJvcGVyIHR5cGUgKDEpIAorUEFTUyBCbG9iIGludGVyZmFjZTogbmV3IEZpbGUoWyJteUZpbGVC
aXRzIl0sICJteUZpbGVOYW1lIikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJzbGljZSIgd2l0aCB0
aGUgcHJvcGVyIHR5cGUgKDIpIAorUEFTUyBCbG9iIGludGVyZmFjZTogY2FsbGluZyBzbGljZShs
b25nIGxvbmcsbG9uZyBsb25nLERPTVN0cmluZykgb24gbmV3IEZpbGUoWyJteUZpbGVCaXRzIl0s
ICJteUZpbGVOYW1lIikgd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJv
ciAKIEZBSUwgRmlsZUxpc3QgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2Yg
aW50ZXJmYWNlIG9iamVjdCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUg
b3duIHByb3BlcnR5ICJGaWxlTGlzdCIgZXhwZWN0ZWQgcHJvcGVydHkgIkZpbGVMaXN0IiBtaXNz
aW5nCiBGQUlMIEZpbGVMaXN0IGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIGFzc2VydF9vd25fcHJv
cGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkZpbGVMaXN0IiBleHBlY3Rl
ZCBwcm9wZXJ0eSAiRmlsZUxpc3QiIG1pc3NpbmcKIEZBSUwgRmlsZUxpc3QgaW50ZXJmYWNlIG9i
amVjdCBuYW1lIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJv
cGVydHkgIkZpbGVMaXN0IiBleHBlY3RlZCBwcm9wZXJ0eSAiRmlsZUxpc3QiIG1pc3NpbmcKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL2RvbS9nbG9iYWwtY29uc3RydWN0b3JzLWF0dHJpYnV0
ZXMtZGVkaWNhdGVkLXdvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9qcy9kb20vZ2xv
YmFsLWNvbnN0cnVjdG9ycy1hdHRyaWJ1dGVzLWRlZGljYXRlZC13b3JrZXItZXhwZWN0ZWQudHh0
CmluZGV4IDFmNjc3MjYxNTgwODMxYTk3NmIzN2Y3OTg3YzRiZjVjMTAxODY0YWYuLmY0YTYyODJl
YmQ2YjkwYmRmNWM4ZWNjZjA4NTE1ZjA0MmI0M2Y1OTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2pzL2RvbS9nbG9iYWwtY29uc3RydWN0b3JzLWF0dHJpYnV0ZXMtZGVkaWNhdGVkLXdvcmtlci1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvanMvZG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMt
YXR0cmlidXRlcy1kZWRpY2F0ZWQtd29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMTE0LDYgKzExNCwx
MSBAQCBQQVNTIFtXb3JrZXJdIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFs
LCAnRXZlbnRUYXJnZXQnKS5oYXNPd25Qcm9wZQogUEFTUyBbV29ya2VyXSBPYmplY3QuZ2V0T3du
UHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ0V2ZW50VGFyZ2V0JykuaGFzT3duUHJvcGVydHko
J3NldCcpIGlzIGZhbHNlCiBQQVNTIFtXb3JrZXJdIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2Ny
aXB0b3IoZ2xvYmFsLCAnRXZlbnRUYXJnZXQnKS5lbnVtZXJhYmxlIGlzIGZhbHNlCiBQQVNTIFtX
b3JrZXJdIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnRXZlbnRUYXJn
ZXQnKS5jb25maWd1cmFibGUgaXMgdHJ1ZQorUEFTUyBbV29ya2VyXSBPYmplY3QuZ2V0T3duUHJv
cGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ0ZpbGUnKS52YWx1ZSBpcyBGaWxlCitQQVNTIFtXb3Jr
ZXJdIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnRmlsZScpLmhhc093
blByb3BlcnR5KCdnZXQnKSBpcyBmYWxzZQorUEFTUyBbV29ya2VyXSBPYmplY3QuZ2V0T3duUHJv
cGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ0ZpbGUnKS5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgaXMg
ZmFsc2UKK1BBU1MgW1dvcmtlcl0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9i
YWwsICdGaWxlJykuZW51bWVyYWJsZSBpcyBmYWxzZQorUEFTUyBbV29ya2VyXSBPYmplY3QuZ2V0
T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ0ZpbGUnKS5jb25maWd1cmFibGUgaXMgdHJ1
ZQogUEFTUyBbV29ya2VyXSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwg
J0ZpbGVSZWFkZXInKS52YWx1ZSBpcyBGaWxlUmVhZGVyCiBQQVNTIFtXb3JrZXJdIE9iamVjdC5n
ZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnRmlsZVJlYWRlcicpLmhhc093blByb3Bl
cnR5KCdnZXQnKSBpcyBmYWxzZQogUEFTUyBbV29ya2VyXSBPYmplY3QuZ2V0T3duUHJvcGVydHlE
ZXNjcmlwdG9yKGdsb2JhbCwgJ0ZpbGVSZWFkZXInKS5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgaXMg
ZmFsc2UK
</data>

          </attachment>
      

    </bug>

</bugzilla>