<?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>143228</bug_id>
          
          <creation_ts>2015-03-30 10:31:47 -0700</creation_ts>
          <short_desc>Cached &quot;Expires&quot; header is not updated upon successful resource revalidation</short_desc>
          <delta_ts>2015-03-30 15:47:58 -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>Page Loading</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</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>barraclough</cc>
    
    <cc>commit-queue</cc>
    
    <cc>koivisto</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1081212</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-03-30 10:31:47 -0700</bug_when>
    <thetext>Cached &quot;Expires&quot; header is not updated upon successful resource revalidation. This affects both our disk cache and our memory cache. This is because we shouldUpdateHeaderAfterRevalidation() in CacheValidation.cpp returns false for the &quot;Expires&quot; header.

HTTP servers such as Apache returns an &quot;Expires&quot; header in their 304 responses and the &quot;Expires&quot; header is potentially a new one. However, our caches ignore it and keep the old one, which means that the cached resource expires sooner than it should.

See the following Apache bugs that explain the issue:
https://bz.apache.org/bugzilla/show_bug.cgi?id=24884
https://bz.apache.org/bugzilla/show_bug.cgi?id=25123

There is a comment in the code that says the list of headers matches Chromium&apos;s net library but that&apos;s not the case, at least not anymore:
http://osxr.org/android/source/external/chromium/net/http/http_response_headers.cc</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1081215</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2015-03-30 10:32:38 -0700</bug_when>
    <thetext>&lt;rdar://problem/20348059&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1081242</commentid>
    <comment_count>2</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2015-03-30 11:15:16 -0700</bug_when>
    <thetext>Good catch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1081297</commentid>
    <comment_count>3</comment_count>
      <attachid>249761</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-03-30 14:25:42 -0700</bug_when>
    <thetext>Created attachment 249761
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1081329</commentid>
    <comment_count>4</comment_count>
      <attachid>249761</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2015-03-30 15:15:17 -0700</bug_when>
    <thetext>Comment on attachment 249761
Patch

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

r=me, nice. We should also add some explicit Expires header tests at some point.

&gt; LayoutTests/http/tests/cache/disk-cache/disk-cache-revalidation-new-expire-header-expected.txt:7
&gt; +response headers: {&quot;Expires&quot;:&quot;now(0)&quot;,&quot;ETag&quot;:&quot;match&quot;}

Would be nice if this printed the expiresInFutureIn304 flag too. The suggestion below would cover that automatically.

&gt; LayoutTests/http/tests/cache/disk-cache/disk-cache-revalidation-new-expire-header.html:8
&gt; + { responseHeaders: {&apos;Expires&apos;: &apos;now(0)&apos;, &apos;ETag&apos;: &apos;match&apos; }, expiresInFutureIn304: true },

Another option would be to add another magical Expires value (nowButUpdateToFuture or something). Don&apos;t know if that is really any better.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1081334</commentid>
    <comment_count>5</comment_count>
      <attachid>249773</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-03-30 15:29:25 -0700</bug_when>
    <thetext>Created attachment 249773
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1081345</commentid>
    <comment_count>6</comment_count>
      <attachid>249773</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-03-30 15:47:52 -0700</bug_when>
    <thetext>Comment on attachment 249773
Patch

Clearing flags on attachment: 249773

Committed r182157: &lt;http://trac.webkit.org/changeset/182157&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1081346</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-03-30 15:47:58 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>249761</attachid>
            <date>2015-03-30 14:25:42 -0700</date>
            <delta_ts>2015-03-30 15:29:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-143228-20150330142459.patch</filename>
            <type>text/plain</type>
            <size>8550</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgyMTUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWNkMGI1NjZlMmI1YmEx
ODc5OTk0YmM2NmJhZWRlYjgxNzEzNzdjYy4uY2E4Y2ZjMzdjZjJkOWQyZTE4NDA1YjczYTQ1ZjFj
MjQyMDY0YTJhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDE1LTAzLTMwICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQ2FjaGVkICJFeHBpcmVzIiBo
ZWFkZXIgaXMgbm90IHVwZGF0ZWQgdXBvbiBzdWNjZXNzZnVsIHJlc291cmNlIHJldmFsaWRhdGlv
bgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQzMjI4
CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yMDM0ODA1OT4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDYWNoZWQgIkV4cGlyZXMiIGhlYWRlciB3YXMg
bm90IHVwZGF0ZWQgdXBvbiBzdWNjZXNzZnVsIHJlc291cmNlCisgICAgICAgIHJldmFsaWRhdGlv
bi4gVGhpcyBhZmZlY3RlZCBib3RoIG91ciBkaXNrIGNhY2hlIGFuZCBvdXIgbWVtb3J5IGNhY2hl
LgorICAgICAgICBUaGlzIHdhcyBjYXVzZWQgYnkgc2hvdWxkVXBkYXRlSGVhZGVyQWZ0ZXJSZXZh
bGlkYXRpb24oKSBpbgorICAgICAgICBDYWNoZVZhbGlkYXRpb24uY3BwIHJldHVybmluZyBmYWxz
ZSBmb3IgdGhlICJFeHBpcmVzIiBoZWFkZXIuCisKKyAgICAgICAgVGhlcmUgaXMgYSBjb21tZW50
IHRoZXJlIHN0YXRpbmcgdGhhdCB0aGUgbGlzdCBvZiBpZ25vcmVkIGhlYWRlcnMKKyAgICAgICAg
bWF0Y2hlcyBDaHJvbWl1bSdzIG5ldCBsaWJyYXJ5IGJ1dCB0aGF0J3Mgbm90IHRoZSBjYXNlLCBh
dCBsZWFzdCBub3QKKyAgICAgICAgYW55bW9yZToKKyAgICAgICAgaHR0cDovL29zeHIub3JnL2Fu
ZHJvaWQvc291cmNlL2V4dGVybmFsL2Nocm9taXVtL25ldC9odHRwL2h0dHBfcmVzcG9uc2VfaGVh
ZGVycy5jYworCisgICAgICAgIEhUVFAgc2VydmVycyBzdWNoIGFzIEFwYWNoZSByZXR1cm4gYW4g
IkV4cGlyZXMiIGhlYWRlciBpbiB0aGVpciAzMDQKKyAgICAgICAgcmVzcG9uc2VzIGFuZCB0aGUg
IkV4cGlyZXMiIGhlYWRlciBpcyBwb3RlbnRpYWxseSBhIG5ldyBvbmUuIEhvd2V2ZXIsCisgICAg
ICAgIG91ciBjYWNoZXMgd2VyZSBpZ25vcmluZyB0aGUgdXBkYXRlZCBleHBpcmF0aW9uIGRhdGUg
YW5kIGtlcHQgdXNpbmcgdGhlCisgICAgICAgIG9sZCBvbmUsIHdoaWNoIG1lYW50IHRoYXQgdGhl
IGNhY2hlZCByZXNvdXJjZSBleHBpcmVkIHNvb25lciB0aGFuIGl0CisgICAgICAgIHNob3VsZCBo
YXZlLgorCisgICAgICAgIFNlZSB0aGUgZm9sbG93aW5nIEFwYWNoZSBidWdzIHRoYXQgZXhwbGFp
biB0aGUgaXNzdWU6CisgICAgICAgIGh0dHBzOi8vYnouYXBhY2hlLm9yZy9idWd6aWxsYS9zaG93
X2J1Zy5jZ2k/aWQ9MjQ4ODQKKyAgICAgICAgaHR0cHM6Ly9iei5hcGFjaGUub3JnL2J1Z3ppbGxh
L3Nob3dfYnVnLmNnaT9pZD0yNTEyMworCisgICAgICAgIFRlc3Q6IGh0dHAvdGVzdHMvY2FjaGUv
ZGlzay1jYWNoZS9kaXNrLWNhY2hlLXJldmFsaWRhdGlvbi1uZXctZXhwaXJlLWhlYWRlci5odG1s
CisKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL0NhY2hlVmFsaWRhdGlvbi5jcHA6CisKIDIw
MTUtMDMtMzAgIEphdmllciBGZXJuYW5kZXogIDxqZmVybmFuZGV6QGlnYWxpYS5jb20+CiAKICAg
ICAgICAgW0NTUyBHcmlkIExheW91dF0gVXBncmFkZSBhbGlnbi1zZWxmIGFuZCBhbGlnbi1pdGVt
cyBwYXJzaW5nIHRvIENTUyAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL0NhY2hlVmFsaWRhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL0NhY2hlVmFsaWRhdGlvbi5jcHAKaW5kZXggZjhiNjYzMzliYzhhNDM3ZTgzM2FjZTBlOTVm
MzlmYjFjOWFkYzMzYy4uM2QxNzI0OGIyNjU4Y2NiMTRiNTVmOTIzNTVhODMxNjgwYjNhMzE5YSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9DYWNoZVZhbGlkYXRp
b24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQ2FjaGVWYWxpZGF0
aW9uLmNwcApAQCAtMzksNyArMzksNiBAQCBjb25zdCBjaGFyKiBjb25zdCBoZWFkZXJzVG9JZ25v
cmVBZnRlclJldmFsaWRhdGlvbltdID0gewogICAgICJhbGxvdyIsCiAgICAgImNvbm5lY3Rpb24i
LAogICAgICJldGFnIiwKLSAgICAiZXhwaXJlcyIsCiAgICAgImtlZXAtYWxpdmUiLAogICAgICJs
YXN0LW1vZGlmaWVkIgogICAgICJwcm94eS1hdXRoZW50aWNhdGUiLApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDY4NmFjNWI5
NWZjZjU3NjdmNmZhYTRkZjRkNzAxMmIzNzA5YTlkNmEuLmViZGM2MDk1ZjI2MGI2YmQyZWU5ZmVl
ZDU2NGRkNjEwN2JkZmMyNjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxNS0wMy0zMCAgQ2hy
aXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIENhY2hlZCAiRXhwaXJlcyIg
aGVhZGVyIGlzIG5vdCB1cGRhdGVkIHVwb24gc3VjY2Vzc2Z1bCByZXNvdXJjZSByZXZhbGlkYXRp
b24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MzIy
OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjAzNDgwNTk+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGxheW91dCB0ZXN0IHRvIGNoZWNrIHRo
YXQgYSBjYWNoZWQgcmVzcG9uc2UncyAiRXhwaXJlcyIgaGVhZGVyIGlzCisgICAgICAgIHVwZGF0
ZWQgZnJvbSB0aGUgMzA0IHJlc3BvbnNlJ3MgaGVhZGVycyB1cG9uIHN1Y2Nlc3NmdWwgcmV2YWxp
ZGF0aW9uLgorCisgICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL2Rpc2stY2Fj
aGUtcmV2YWxpZGF0aW9uLW5ldy1leHBpcmUtaGVhZGVyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL2Rpc2stY2FjaGUtcmV2YWxpZGF0
aW9uLW5ldy1leHBpcmUtaGVhZGVyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMv
Y2FjaGUvZGlzay1jYWNoZS9yZXNvdXJjZXMvY2FjaGUtdGVzdC5qczoKKyAgICAgICAgKGdlbmVy
YXRlVGVzdFVSTCk6CisgICAgICAgIChsb2FkUmVzb3VyY2UpOgorICAgICAgICAqIGh0dHAvdGVz
dHMvY2FjaGUvZGlzay1jYWNoZS9yZXNvdXJjZXMvZ2VuZXJhdGUtcmVzcG9uc2UuY2dpOgorCiAy
MDE1LTAzLTMwICBNYXJjb3MgQ2hhdmFycsOtYSBUZWlqZWlybyAgPGNoYXZhcnJpYTE5OTFAZ21h
aWwuY29tPgogCiAgICAgICAgIFJlYmFzZWxpbmUgYWNjZXNzaWJpbGl0eS9hcmlhLXRvZ2dsZS1i
dXR0b24td2l0aC10aXRsZS5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2NhY2hlL2Rpc2stY2FjaGUvZGlzay1jYWNoZS1yZXZhbGlkYXRpb24tbmV3LWV4cGlyZS1oZWFk
ZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hl
L2Rpc2stY2FjaGUtcmV2YWxpZGF0aW9uLW5ldy1leHBpcmUtaGVhZGVyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xOGVjNjVlYzI2NmY4NTljNmJiOGEyMzEzOGQwNjI1ODVjNzZkMjg4Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL2Rp
c2stY2FjaGUtcmV2YWxpZGF0aW9uLW5ldy1leHBpcmUtaGVhZGVyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDE3IEBACitUZXN0IHRoYXQgdGhlICdFeHBpcmVzJyBoZWFkZXIgaXMgdXBkYXRlZCB1
cG9uIHN1Y2Nlc3NmdWwgdmFsaWRhdGlvbi4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CisKKworcmVzcG9uc2UgaGVhZGVyczogeyJFeHBpcmVzIjoibm93KDApIiwiRVRhZyI6Im1hdGNo
In0KK3Jlc3BvbnNlIHNvdXJjZTogRGlzayBjYWNoZSBhZnRlciB2YWxpZGF0aW9uCisKKzMwNCBy
ZXNwb25zZSBpbmNsdWRlZCBhbiAnRXhwaXJlcycgaGVhZGVyIGluIHRoZSBmdXR1cmUsIHNvIHdl
IHNob3VsZCBub3QgbmVlZCB0byByZXZhbGlkYXRlIHRoaXMgdGltZS4KK3Jlc3BvbnNlIGhlYWRl
cnM6IHsiRXhwaXJlcyI6Im5vdygwKSIsIkVUYWciOiJtYXRjaCJ9CityZXNwb25zZSBzb3VyY2U6
IERpc2sgY2FjaGUKKworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1j
YWNoZS9kaXNrLWNhY2hlLXJldmFsaWRhdGlvbi1uZXctZXhwaXJlLWhlYWRlci5odG1sIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL2Rpc2stY2FjaGUtcmV2YWxpZGF0
aW9uLW5ldy1leHBpcmUtaGVhZGVyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDMzY2EwZmVhMDQzOGEzNDVi
YzZlMDAxY2QwZjM1ZmY5ZjVmMzc0OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9kaXNrLWNhY2hlLXJldmFsaWRhdGlvbi1uZXctZXhw
aXJlLWhlYWRlci5odG1sCkBAIC0wLDAgKzEsMjEgQEAKKzxzY3JpcHQgc3JjPSIvanMtdGVzdC1y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNl
cy9jYWNoZS10ZXN0LmpzIj48L3NjcmlwdD4KKzxib2R5PgorPHNjcmlwdD4KKwordmFyIHRlc3Rz
ID0KK1sKKyB7IHJlc3BvbnNlSGVhZGVyczogeydFeHBpcmVzJzogJ25vdygwKScsICdFVGFnJzog
J21hdGNoJyB9LCBleHBpcmVzSW5GdXR1cmVJbjMwNDogdHJ1ZSB9LAorXTsKKworZGVzY3JpcHRp
b24oIlRlc3QgdGhhdCB0aGUgJ0V4cGlyZXMnIGhlYWRlciBpcyB1cGRhdGVkIHVwb24gc3VjY2Vz
c2Z1bCB2YWxpZGF0aW9uLiIpOworCitkZWJ1ZygiIik7CisKK3J1blRlc3RzKHRlc3RzLCBmdW5j
dGlvbigpIHsKKyAgICBkZWJ1ZygiMzA0IHJlc3BvbnNlIGluY2x1ZGVkIGFuICdFeHBpcmVzJyBo
ZWFkZXIgaW4gdGhlIGZ1dHVyZSwgc28gd2Ugc2hvdWxkIG5vdCBuZWVkIHRvIHJldmFsaWRhdGUg
dGhpcyB0aW1lLiIpOworICAgIHJ1blRlc3RzKHRlc3RzKTsKK30pOworCis8L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9yZXNv
dXJjZXMvY2FjaGUtdGVzdC5qcyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1j
YWNoZS9yZXNvdXJjZXMvY2FjaGUtdGVzdC5qcwppbmRleCAzMTQ2ODliZGY0NmM4NTg3NDg5N2Y1
MTJkNTBlNjUzZTM0N2YyYjRlLi42NmU0NjlmZjI0NTNlYzc1OGE1M2FjNmY5ZmViMDhkZGZkYTM1
MWIyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUv
cmVzb3VyY2VzL2NhY2hlLXRlc3QuanMKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNo
ZS9kaXNrLWNhY2hlL3Jlc291cmNlcy9jYWNoZS10ZXN0LmpzCkBAIC0zOCwxMiArMzgsMTUgQEAg
ZnVuY3Rpb24gbWFrZUhlYWRlclZhbHVlKHZhbHVlKQogICAgIHJldHVybiB2YWx1ZTsKIH0KIAot
ZnVuY3Rpb24gZ2VuZXJhdGVUZXN0VVJMKHRlc3QsIGluY2x1ZGVCb2R5KQorZnVuY3Rpb24gZ2Vu
ZXJhdGVUZXN0VVJMKHRlc3QsIGluY2x1ZGVCb2R5LCBleHBpcmVzSW5GdXR1cmVJbjMwNCkKIHsK
ICAgICBpbmNsdWRlQm9keSA9IHR5cGVvZiBpbmNsdWRlQm9keSAhPT0gJ3VuZGVmaW5lZCcgPyBp
bmNsdWRlQm9keSA6IHRydWU7CisgICAgZXhwaXJlc0luRnV0dXJlSW4zMDQgPSB0eXBlb2YgZXhw
aXJlc0luRnV0dXJlSW4zMDQgIT09ICd1bmRlZmluZWQnID8gZXhwaXJlc0luRnV0dXJlSW4zMDQg
OiBmYWxzZTsKICAgICB2YXIgdW5pcXVlVGVzdElkID0gTWF0aC5mbG9vcigoTWF0aC5yYW5kb20o
KSAqIDEwMDAwMDAwMDAwMDApKTsKLSAgICB2YXIgY2dpX3NjcmlwdCA9ICJyZXNvdXJjZXMvZ2Vu
ZXJhdGUtcmVzcG9uc2UuY2dpP2luY2x1ZGUtYm9keT0iICsgKGluY2x1ZGVCb2R5ID8gIjEiIDog
IjAiKTsKLSAgICB2YXIgdGVzdFVSTCA9IGNnaV9zY3JpcHQgKyAiJnVuaXF1ZUlkPSIgKyB1bmlx
dWVUZXN0SWQrKyArICImQ29udGVudC10eXBlPXRleHQvcGxhaW4iOworICAgIHZhciB0ZXN0VVJM
ID0gInJlc291cmNlcy9nZW5lcmF0ZS1yZXNwb25zZS5jZ2k/aW5jbHVkZS1ib2R5PSIgKyAoaW5j
bHVkZUJvZHkgPyAiMSIgOiAiMCIpOworICAgIGlmIChleHBpcmVzSW5GdXR1cmVJbjMwNCkKKyAg
ICAgICAgdGVzdFVSTCArPSAiJmV4cGlyZXMtaW4tZnV0dXJlLWluLTMwND0xIjsKKyAgICB0ZXN0
VVJMICs9ICImdW5pcXVlSWQ9IiArIHVuaXF1ZVRlc3RJZCsrICsgIiZDb250ZW50LXR5cGU9dGV4
dC9wbGFpbiI7CiAgICAgZm9yICh2YXIgaGVhZGVyIGluIHRlc3QucmVzcG9uc2VIZWFkZXJzKQog
ICAgICAgICB0ZXN0VVJMICs9ICcmJyArIGhlYWRlciArICc9JyArIG1ha2VIZWFkZXJWYWx1ZSh0
ZXN0LnJlc3BvbnNlSGVhZGVyc1toZWFkZXJdKTsKICAgICByZXR1cm4gdGVzdFVSTDsKQEAgLTUy
LDcgKzU1LDcgQEAgZnVuY3Rpb24gZ2VuZXJhdGVUZXN0VVJMKHRlc3QsIGluY2x1ZGVCb2R5KQog
ZnVuY3Rpb24gbG9hZFJlc291cmNlKHRlc3QsIG9ubG9hZCkKIHsKICAgICBpZiAoIXRlc3QudXJs
KQotICAgICAgICB0ZXN0LnVybCA9IGdlbmVyYXRlVGVzdFVSTCh0ZXN0LCB0ZXN0LmluY2x1ZGVC
b2R5KTsKKyAgICAgICAgdGVzdC51cmwgPSBnZW5lcmF0ZVRlc3RVUkwodGVzdCwgdGVzdC5pbmNs
dWRlQm9keSwgdGVzdC5leHBpcmVzSW5GdXR1cmVJbjMwNCk7CiAKICAgICB0ZXN0LnhociA9IG5l
dyBYTUxIdHRwUmVxdWVzdCgpOwogICAgIHRlc3QueGhyLm9ubG9hZCA9IG9ubG9hZDsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9yZXNvdXJjZXMv
Z2VuZXJhdGUtcmVzcG9uc2UuY2dpIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNr
LWNhY2hlL3Jlc291cmNlcy9nZW5lcmF0ZS1yZXNwb25zZS5jZ2kKaW5kZXggY2EwNWZiZmExNjg5
MjU2ZTc4MDRlMDVkNGMzM2VjZWI1ZmMzYTljYi4uMTMwZDQ2ZDkzZDczMTU4YmU3ZjhmMTRlMjYx
MmI3OGU2NWJhNDVmNSAxMDA3NTUKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9k
aXNrLWNhY2hlL3Jlc291cmNlcy9nZW5lcmF0ZS1yZXNwb25zZS5jZ2kKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3Jlc291cmNlcy9nZW5lcmF0ZS1yZXNwb25z
ZS5jZ2kKQEAgLTYsMTcgKzYsMjQgQEAgdXNlIEhUVFA6OkRhdGU7CiBteSAkcXVlcnkgPSBuZXcg
Q0dJOwogQG5hbWVzID0gJHF1ZXJ5LT5wYXJhbTsKIG15ICRpbmNsdWRlQm9keSA9ICRxdWVyeS0+
cGFyYW0oJ2luY2x1ZGUtYm9keScpIHx8IDA7CitteSAkZXhwaXJlc0luRnV0dXJlSW4zMDQgPSAk
cXVlcnktPnBhcmFtKCdleHBpcmVzLWluLWZ1dHVyZS1pbi0zMDQnKSB8fCAwOwogCiBteSAkaGFz
U3RhdHVzQ29kZSA9IDA7CitteSAkaGFzRXhwaXJlc0hlYWRlciA9IDA7CiBpZiAoJHF1ZXJ5LT5o
dHRwICYmICRxdWVyeS0+aHR0cCgiSWYtTm9uZS1NYXRjaCIpIGVxICJtYXRjaCIpIHsKICAgICBw
cmludCAiU3RhdHVzOiAzMDRcbiI7CiAgICAgJGhhc1N0YXR1c0NvZGUgPSAxOworICAgIGlmICgk
ZXhwaXJlc0luRnV0dXJlSW4zMDQpIHsKKyAgICAgICAgcHJpbnQgIkV4cGlyZXM6ICIgLiBIVFRQ
OjpEYXRlOjp0aW1lMnN0cih0aW1lKCkgKyAxMDApIC4gIlxuIjsKKyAgICAgICAgJGhhc0V4cGly
ZXNIZWFkZXIgPSAxOworICAgIH0KIH0KIAogZm9yZWFjaCAoQG5hbWVzKSB7CiAgICAgbmV4dCBp
ZiAoJF8gZXEgInVuaXF1ZUlkIik7CiAgICAgbmV4dCBpZiAoJF8gZXEgImluY2x1ZGUtYm9keSIp
OwogICAgIG5leHQgaWYgKCRfIGVxICJTdGF0dXMiIGFuZCAkaGFzU3RhdHVzQ29kZSk7CisgICAg
bmV4dCBpZiAoJF8gZXEgIkV4cGlyZXMiIGFuZCAkaGFzRXhwaXJlc0hlYWRlcik7CiAgICAgcHJp
bnQgJF8gLiAiOiAiIC4gJHF1ZXJ5LT5wYXJhbSgkXykgLiAiXG4iOwogfQogcHJpbnQgIlxuIjsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>249773</attachid>
            <date>2015-03-30 15:29:25 -0700</date>
            <delta_ts>2015-03-30 15:47:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-143228-20150330152843.patch</filename>
            <type>text/plain</type>
            <size>9209</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgyMTUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWNkMGI1NjZlMmI1YmEx
ODc5OTk0YmM2NmJhZWRlYjgxNzEzNzdjYy4uNjJmMzk5M2I3NDFjMDVkNTViZmE1YzYwOTI4MDhj
NTI1NTVmZWVjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDE1LTAzLTMwICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQ2FjaGVkICJFeHBpcmVzIiBo
ZWFkZXIgaXMgbm90IHVwZGF0ZWQgdXBvbiBzdWNjZXNzZnVsIHJlc291cmNlIHJldmFsaWRhdGlv
bgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQzMjI4
CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yMDM0ODA1OT4KKworICAgICAgICBSZXZpZXdlZCBi
eSBBbnR0aSBLb2l2aXN0by4KKworICAgICAgICBDYWNoZWQgIkV4cGlyZXMiIGhlYWRlciB3YXMg
bm90IHVwZGF0ZWQgdXBvbiBzdWNjZXNzZnVsIHJlc291cmNlCisgICAgICAgIHJldmFsaWRhdGlv
bi4gVGhpcyBhZmZlY3RlZCBib3RoIG91ciBkaXNrIGNhY2hlIGFuZCBvdXIgbWVtb3J5IGNhY2hl
LgorICAgICAgICBUaGlzIHdhcyBjYXVzZWQgYnkgc2hvdWxkVXBkYXRlSGVhZGVyQWZ0ZXJSZXZh
bGlkYXRpb24oKSBpbgorICAgICAgICBDYWNoZVZhbGlkYXRpb24uY3BwIHJldHVybmluZyBmYWxz
ZSBmb3IgdGhlICJFeHBpcmVzIiBoZWFkZXIuCisKKyAgICAgICAgVGhlcmUgaXMgYSBjb21tZW50
IHRoZXJlIHN0YXRpbmcgdGhhdCB0aGUgbGlzdCBvZiBpZ25vcmVkIGhlYWRlcnMKKyAgICAgICAg
bWF0Y2hlcyBDaHJvbWl1bSdzIG5ldCBsaWJyYXJ5IGJ1dCB0aGF0J3Mgbm90IHRoZSBjYXNlLCBh
dCBsZWFzdCBub3QKKyAgICAgICAgYW55bW9yZToKKyAgICAgICAgaHR0cDovL29zeHIub3JnL2Fu
ZHJvaWQvc291cmNlL2V4dGVybmFsL2Nocm9taXVtL25ldC9odHRwL2h0dHBfcmVzcG9uc2VfaGVh
ZGVycy5jYworCisgICAgICAgIEhUVFAgc2VydmVycyBzdWNoIGFzIEFwYWNoZSByZXR1cm4gYW4g
IkV4cGlyZXMiIGhlYWRlciBpbiB0aGVpciAzMDQKKyAgICAgICAgcmVzcG9uc2VzIGFuZCB0aGUg
IkV4cGlyZXMiIGhlYWRlciBpcyBwb3RlbnRpYWxseSBhIG5ldyBvbmUuIEhvd2V2ZXIsCisgICAg
ICAgIG91ciBjYWNoZXMgd2VyZSBpZ25vcmluZyB0aGUgdXBkYXRlZCBleHBpcmF0aW9uIGRhdGUg
YW5kIGtlcHQgdXNpbmcgdGhlCisgICAgICAgIG9sZCBvbmUsIHdoaWNoIG1lYW50IHRoYXQgdGhl
IGNhY2hlZCByZXNvdXJjZSBleHBpcmVkIHNvb25lciB0aGFuIGl0CisgICAgICAgIHNob3VsZCBo
YXZlLgorCisgICAgICAgIFNlZSB0aGUgZm9sbG93aW5nIEFwYWNoZSBidWdzIHRoYXQgZXhwbGFp
biB0aGUgaXNzdWU6CisgICAgICAgIGh0dHBzOi8vYnouYXBhY2hlLm9yZy9idWd6aWxsYS9zaG93
X2J1Zy5jZ2k/aWQ9MjQ4ODQKKyAgICAgICAgaHR0cHM6Ly9iei5hcGFjaGUub3JnL2J1Z3ppbGxh
L3Nob3dfYnVnLmNnaT9pZD0yNTEyMworCisgICAgICAgIFRlc3Q6IGh0dHAvdGVzdHMvY2FjaGUv
ZGlzay1jYWNoZS9kaXNrLWNhY2hlLXJldmFsaWRhdGlvbi1uZXctZXhwaXJlLWhlYWRlci5odG1s
CisKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL0NhY2hlVmFsaWRhdGlvbi5jcHA6CisKIDIw
MTUtMDMtMzAgIEphdmllciBGZXJuYW5kZXogIDxqZmVybmFuZGV6QGlnYWxpYS5jb20+CiAKICAg
ICAgICAgW0NTUyBHcmlkIExheW91dF0gVXBncmFkZSBhbGlnbi1zZWxmIGFuZCBhbGlnbi1pdGVt
cyBwYXJzaW5nIHRvIENTUyAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL0NhY2hlVmFsaWRhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL0NhY2hlVmFsaWRhdGlvbi5jcHAKaW5kZXggZjhiNjYzMzliYzhhNDM3ZTgzM2FjZTBlOTVm
MzlmYjFjOWFkYzMzYy4uM2QxNzI0OGIyNjU4Y2NiMTRiNTVmOTIzNTVhODMxNjgwYjNhMzE5YSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9DYWNoZVZhbGlkYXRp
b24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQ2FjaGVWYWxpZGF0
aW9uLmNwcApAQCAtMzksNyArMzksNiBAQCBjb25zdCBjaGFyKiBjb25zdCBoZWFkZXJzVG9JZ25v
cmVBZnRlclJldmFsaWRhdGlvbltdID0gewogICAgICJhbGxvdyIsCiAgICAgImNvbm5lY3Rpb24i
LAogICAgICJldGFnIiwKLSAgICAiZXhwaXJlcyIsCiAgICAgImtlZXAtYWxpdmUiLAogICAgICJs
YXN0LW1vZGlmaWVkIgogICAgICJwcm94eS1hdXRoZW50aWNhdGUiLApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDY4NmFjNWI5
NWZjZjU3NjdmNmZhYTRkZjRkNzAxMmIzNzA5YTlkNmEuLmQxNzI1ZDllYzc5NWJmOGE4YWY1YThh
NDIxNjk5MDk3N2Q1Njk3NjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxNS0wMy0zMCAgQ2hy
aXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIENhY2hlZCAiRXhwaXJlcyIg
aGVhZGVyIGlzIG5vdCB1cGRhdGVkIHVwb24gc3VjY2Vzc2Z1bCByZXNvdXJjZSByZXZhbGlkYXRp
b24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MzIy
OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjAzNDgwNTk+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgQW50dGkgS29pdmlzdG8uCisKKyAgICAgICAgQWRkIGxheW91dCB0ZXN0IHRvIGNoZWNrIHRo
YXQgYSBjYWNoZWQgcmVzcG9uc2UncyAiRXhwaXJlcyIgaGVhZGVyIGlzCisgICAgICAgIHVwZGF0
ZWQgZnJvbSB0aGUgMzA0IHJlc3BvbnNlJ3MgaGVhZGVycyB1cG9uIHN1Y2Nlc3NmdWwgcmV2YWxp
ZGF0aW9uLgorCisgICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL2Rpc2stY2Fj
aGUtcmV2YWxpZGF0aW9uLW5ldy1leHBpcmUtaGVhZGVyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL2Rpc2stY2FjaGUtcmV2YWxpZGF0
aW9uLW5ldy1leHBpcmUtaGVhZGVyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMv
Y2FjaGUvZGlzay1jYWNoZS9yZXNvdXJjZXMvY2FjaGUtdGVzdC5qczoKKyAgICAgICAgKGdlbmVy
YXRlVGVzdFVSTCk6CisgICAgICAgIChsb2FkUmVzb3VyY2UpOgorICAgICAgICAqIGh0dHAvdGVz
dHMvY2FjaGUvZGlzay1jYWNoZS9yZXNvdXJjZXMvZ2VuZXJhdGUtcmVzcG9uc2UuY2dpOgorCiAy
MDE1LTAzLTMwICBNYXJjb3MgQ2hhdmFycsOtYSBUZWlqZWlybyAgPGNoYXZhcnJpYTE5OTFAZ21h
aWwuY29tPgogCiAgICAgICAgIFJlYmFzZWxpbmUgYWNjZXNzaWJpbGl0eS9hcmlhLXRvZ2dsZS1i
dXR0b24td2l0aC10aXRsZS5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2NhY2hlL2Rpc2stY2FjaGUvZGlzay1jYWNoZS1yZXZhbGlkYXRpb24tbmV3LWV4cGlyZS1oZWFk
ZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hl
L2Rpc2stY2FjaGUtcmV2YWxpZGF0aW9uLW5ldy1leHBpcmUtaGVhZGVyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43NTRmOGNkNTBlM2QzMjM3OTA0OThiNDg4NDI2MmQ4ODI3YzE1NWYyCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL2Rp
c2stY2FjaGUtcmV2YWxpZGF0aW9uLW5ldy1leHBpcmUtaGVhZGVyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDE5IEBACitUZXN0IHRoYXQgdGhlICdFeHBpcmVzJyBoZWFkZXIgaXMgdXBkYXRlZCB1
cG9uIHN1Y2Nlc3NmdWwgdmFsaWRhdGlvbi4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CisKKworcmVzcG9uc2UgaGVhZGVyczogeyJFeHBpcmVzIjoibm93KDApIiwiRVRhZyI6Im1hdGNo
In0KK3Jlc3BvbnNlJ3MgJ0V4cGlyZXMnIGhlYWRlciBpcyBvdmVycmlkZW4gYnkgZnV0dXJlIGRh
dGUgaW4gMzA0IHJlc3BvbnNlCityZXNwb25zZSBzb3VyY2U6IERpc2sgY2FjaGUgYWZ0ZXIgdmFs
aWRhdGlvbgorCiszMDQgcmVzcG9uc2UgaW5jbHVkZWQgYW4gJ0V4cGlyZXMnIGhlYWRlciBpbiB0
aGUgZnV0dXJlLCBzbyB3ZSBzaG91bGQgbm90IG5lZWQgdG8gcmV2YWxpZGF0ZSB0aGlzIHRpbWUu
CityZXNwb25zZSBoZWFkZXJzOiB7IkV4cGlyZXMiOiJub3coMCkiLCJFVGFnIjoibWF0Y2gifQor
cmVzcG9uc2UncyAnRXhwaXJlcycgaGVhZGVyIGlzIG92ZXJyaWRlbiBieSBmdXR1cmUgZGF0ZSBp
biAzMDQgcmVzcG9uc2UKK3Jlc3BvbnNlIHNvdXJjZTogRGlzayBjYWNoZQorCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL2Rpc2stY2FjaGUtcmV2YWxpZGF0
aW9uLW5ldy1leHBpcmUtaGVhZGVyLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hl
L2Rpc2stY2FjaGUvZGlzay1jYWNoZS1yZXZhbGlkYXRpb24tbmV3LWV4cGlyZS1oZWFkZXIuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4wMzNjYTBmZWEwNDM4YTM0NWJjNmUwMDFjZDBmMzVmZjlmNWYzNzQ5Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hl
L2Rpc2stY2FjaGUtcmV2YWxpZGF0aW9uLW5ldy1leHBpcmUtaGVhZGVyLmh0bWwKQEAgLTAsMCAr
MSwyMSBAQAorPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2NhY2hlLXRlc3QuanMiPjwvc2NyaXB0
PgorPGJvZHk+Cis8c2NyaXB0PgorCit2YXIgdGVzdHMgPQorWworIHsgcmVzcG9uc2VIZWFkZXJz
OiB7J0V4cGlyZXMnOiAnbm93KDApJywgJ0VUYWcnOiAnbWF0Y2gnIH0sIGV4cGlyZXNJbkZ1dHVy
ZUluMzA0OiB0cnVlIH0sCitdOworCitkZXNjcmlwdGlvbigiVGVzdCB0aGF0IHRoZSAnRXhwaXJl
cycgaGVhZGVyIGlzIHVwZGF0ZWQgdXBvbiBzdWNjZXNzZnVsIHZhbGlkYXRpb24uIik7CisKK2Rl
YnVnKCIiKTsKKworcnVuVGVzdHModGVzdHMsIGZ1bmN0aW9uKCkgeworICAgIGRlYnVnKCIzMDQg
cmVzcG9uc2UgaW5jbHVkZWQgYW4gJ0V4cGlyZXMnIGhlYWRlciBpbiB0aGUgZnV0dXJlLCBzbyB3
ZSBzaG91bGQgbm90IG5lZWQgdG8gcmV2YWxpZGF0ZSB0aGlzIHRpbWUuIik7CisgICAgcnVuVGVz
dHModGVzdHMpOworfSk7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3Jlc291cmNlcy9jYWNoZS10ZXN0LmpzIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3Jlc291cmNlcy9jYWNoZS10ZXN0
LmpzCmluZGV4IDMxNDY4OWJkZjQ2Yzg1ODc0ODk3ZjUxMmQ1MGU2NTNlMzQ3ZjJiNGUuLjE1MGQ0
OTk3NjY2YTNkMGE1YmVjZTc3MmVlNWJhMmFkNGYxODAwMDggMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9yZXNvdXJjZXMvY2FjaGUtdGVzdC5qcwor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvcmVzb3VyY2VzL2Nh
Y2hlLXRlc3QuanMKQEAgLTM4LDEyICszOCwxNSBAQCBmdW5jdGlvbiBtYWtlSGVhZGVyVmFsdWUo
dmFsdWUpCiAgICAgcmV0dXJuIHZhbHVlOwogfQogCi1mdW5jdGlvbiBnZW5lcmF0ZVRlc3RVUkwo
dGVzdCwgaW5jbHVkZUJvZHkpCitmdW5jdGlvbiBnZW5lcmF0ZVRlc3RVUkwodGVzdCwgaW5jbHVk
ZUJvZHksIGV4cGlyZXNJbkZ1dHVyZUluMzA0KQogewogICAgIGluY2x1ZGVCb2R5ID0gdHlwZW9m
IGluY2x1ZGVCb2R5ICE9PSAndW5kZWZpbmVkJyA/IGluY2x1ZGVCb2R5IDogdHJ1ZTsKKyAgICBl
eHBpcmVzSW5GdXR1cmVJbjMwNCA9IHR5cGVvZiBleHBpcmVzSW5GdXR1cmVJbjMwNCAhPT0gJ3Vu
ZGVmaW5lZCcgPyBleHBpcmVzSW5GdXR1cmVJbjMwNCA6IGZhbHNlOwogICAgIHZhciB1bmlxdWVU
ZXN0SWQgPSBNYXRoLmZsb29yKChNYXRoLnJhbmRvbSgpICogMTAwMDAwMDAwMDAwMCkpOwotICAg
IHZhciBjZ2lfc2NyaXB0ID0gInJlc291cmNlcy9nZW5lcmF0ZS1yZXNwb25zZS5jZ2k/aW5jbHVk
ZS1ib2R5PSIgKyAoaW5jbHVkZUJvZHkgPyAiMSIgOiAiMCIpOwotICAgIHZhciB0ZXN0VVJMID0g
Y2dpX3NjcmlwdCArICImdW5pcXVlSWQ9IiArIHVuaXF1ZVRlc3RJZCsrICsgIiZDb250ZW50LXR5
cGU9dGV4dC9wbGFpbiI7CisgICAgdmFyIHRlc3RVUkwgPSAicmVzb3VyY2VzL2dlbmVyYXRlLXJl
c3BvbnNlLmNnaT9pbmNsdWRlLWJvZHk9IiArIChpbmNsdWRlQm9keSA/ICIxIiA6ICIwIik7Cisg
ICAgaWYgKGV4cGlyZXNJbkZ1dHVyZUluMzA0KQorICAgICAgICB0ZXN0VVJMICs9ICImZXhwaXJl
cy1pbi1mdXR1cmUtaW4tMzA0PTEiOworICAgIHRlc3RVUkwgKz0gIiZ1bmlxdWVJZD0iICsgdW5p
cXVlVGVzdElkKysgKyAiJkNvbnRlbnQtdHlwZT10ZXh0L3BsYWluIjsKICAgICBmb3IgKHZhciBo
ZWFkZXIgaW4gdGVzdC5yZXNwb25zZUhlYWRlcnMpCiAgICAgICAgIHRlc3RVUkwgKz0gJyYnICsg
aGVhZGVyICsgJz0nICsgbWFrZUhlYWRlclZhbHVlKHRlc3QucmVzcG9uc2VIZWFkZXJzW2hlYWRl
cl0pOwogICAgIHJldHVybiB0ZXN0VVJMOwpAQCAtNTIsNyArNTUsNyBAQCBmdW5jdGlvbiBnZW5l
cmF0ZVRlc3RVUkwodGVzdCwgaW5jbHVkZUJvZHkpCiBmdW5jdGlvbiBsb2FkUmVzb3VyY2UodGVz
dCwgb25sb2FkKQogewogICAgIGlmICghdGVzdC51cmwpCi0gICAgICAgIHRlc3QudXJsID0gZ2Vu
ZXJhdGVUZXN0VVJMKHRlc3QsIHRlc3QuaW5jbHVkZUJvZHkpOworICAgICAgICB0ZXN0LnVybCA9
IGdlbmVyYXRlVGVzdFVSTCh0ZXN0LCB0ZXN0LmluY2x1ZGVCb2R5LCB0ZXN0LmV4cGlyZXNJbkZ1
dHVyZUluMzA0KTsKIAogICAgIHRlc3QueGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CiAgICAg
dGVzdC54aHIub25sb2FkID0gb25sb2FkOwpAQCAtODEsNiArODQsOCBAQCBmdW5jdGlvbiBwcmlu
dFJlc3VsdHModGVzdHMpCiAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0ZXN0cy5sZW5ndGg7ICsr
aSkgewogICAgICAgICB2YXIgdGVzdCA9IHRlc3RzW2ldOwogICAgICAgICBkZWJ1ZygicmVzcG9u
c2UgaGVhZGVyczogIiArIEpTT04uc3RyaW5naWZ5KHRlc3QucmVzcG9uc2VIZWFkZXJzKSk7Cisg
ICAgICAgIGlmICh0ZXN0LmV4cGlyZXNJbkZ1dHVyZUluMzA0KQorICAgICAgICAgICAgZGVidWco
InJlc3BvbnNlJ3MgJ0V4cGlyZXMnIGhlYWRlciBpcyBvdmVycmlkZW4gYnkgZnV0dXJlIGRhdGUg
aW4gMzA0IHJlc3BvbnNlIik7CiAgICAgICAgIGlmICh0ZXN0LnJlcXVlc3RIZWFkZXJzKQogICAg
ICAgICAgICAgZGVidWcoInJlcXVlc3QgaGVhZGVyczogIiArIEpTT04uc3RyaW5naWZ5KHRlc3Qu
cmVxdWVzdEhlYWRlcnMpKTsKICAgICAgICAgcmVzcG9uc2VTb3VyY2UgPSBpbnRlcm5hbHMueGhy
UmVzcG9uc2VTb3VyY2UodGVzdC54aHIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3Jlc291cmNlcy9nZW5lcmF0ZS1yZXNwb25zZS5jZ2kgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvcmVzb3VyY2VzL2dlbmVyYXRl
LXJlc3BvbnNlLmNnaQppbmRleCBjYTA1ZmJmYTE2ODkyNTZlNzgwNGUwNWQ0YzMzZWNlYjVmYzNh
OWNiLi4xMzBkNDZkOTNkNzMxNThiZTdmOGYxNGUyNjEyYjc4ZTY1YmE0NWY1IDEwMDc1NQotLS0g
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvcmVzb3VyY2VzL2dlbmVy
YXRlLXJlc3BvbnNlLmNnaQorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2st
Y2FjaGUvcmVzb3VyY2VzL2dlbmVyYXRlLXJlc3BvbnNlLmNnaQpAQCAtNiwxNyArNiwyNCBAQCB1
c2UgSFRUUDo6RGF0ZTsKIG15ICRxdWVyeSA9IG5ldyBDR0k7CiBAbmFtZXMgPSAkcXVlcnktPnBh
cmFtOwogbXkgJGluY2x1ZGVCb2R5ID0gJHF1ZXJ5LT5wYXJhbSgnaW5jbHVkZS1ib2R5JykgfHwg
MDsKK215ICRleHBpcmVzSW5GdXR1cmVJbjMwNCA9ICRxdWVyeS0+cGFyYW0oJ2V4cGlyZXMtaW4t
ZnV0dXJlLWluLTMwNCcpIHx8IDA7CiAKIG15ICRoYXNTdGF0dXNDb2RlID0gMDsKK215ICRoYXNF
eHBpcmVzSGVhZGVyID0gMDsKIGlmICgkcXVlcnktPmh0dHAgJiYgJHF1ZXJ5LT5odHRwKCJJZi1O
b25lLU1hdGNoIikgZXEgIm1hdGNoIikgewogICAgIHByaW50ICJTdGF0dXM6IDMwNFxuIjsKICAg
ICAkaGFzU3RhdHVzQ29kZSA9IDE7CisgICAgaWYgKCRleHBpcmVzSW5GdXR1cmVJbjMwNCkgewor
ICAgICAgICBwcmludCAiRXhwaXJlczogIiAuIEhUVFA6OkRhdGU6OnRpbWUyc3RyKHRpbWUoKSAr
IDEwMCkgLiAiXG4iOworICAgICAgICAkaGFzRXhwaXJlc0hlYWRlciA9IDE7CisgICAgfQogfQog
CiBmb3JlYWNoIChAbmFtZXMpIHsKICAgICBuZXh0IGlmICgkXyBlcSAidW5pcXVlSWQiKTsKICAg
ICBuZXh0IGlmICgkXyBlcSAiaW5jbHVkZS1ib2R5Iik7CiAgICAgbmV4dCBpZiAoJF8gZXEgIlN0
YXR1cyIgYW5kICRoYXNTdGF0dXNDb2RlKTsKKyAgICBuZXh0IGlmICgkXyBlcSAiRXhwaXJlcyIg
YW5kICRoYXNFeHBpcmVzSGVhZGVyKTsKICAgICBwcmludCAkXyAuICI6ICIgLiAkcXVlcnktPnBh
cmFtKCRfKSAuICJcbiI7CiB9CiBwcmludCAiXG4iOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>