<?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>155187</bug_id>
          
          <creation_ts>2016-03-08 13:25:03 -0800</creation_ts>
          <short_desc>Speculative disk cache resource revalidations are sometimes wasted</short_desc>
          <delta_ts>2016-03-09 14:02:54 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=155254</see_also>
          <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>aestes</cc>
    
    <cc>cgarcia</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>1172165</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-03-08 13:25:03 -0800</bug_when>
    <thetext>Speculative disk cache resource revalidations are sometimes wasted. We sometimes successfully revalidate a resource but the NetworkResourceLoader then either:
1. Fails to reuse the speculatively validated entry
2. Reuses the speculatively validated entry but validates it again</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1172167</commentid>
    <comment_count>1</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-03-08 13:25:35 -0800</bug_when>
    <thetext>rdar://problem/25032905</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1172173</commentid>
    <comment_count>2</comment_count>
      <attachid>273323</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-03-08 13:38:19 -0800</bug_when>
    <thetext>Created attachment 273323
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1172215</commentid>
    <comment_count>3</comment_count>
      <attachid>273339</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-03-08 14:04:59 -0800</bug_when>
    <thetext>Created attachment 273339
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1172217</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-03-08 14:05:44 -0800</bug_when>
    <thetext>We don&apos;t currently have an easy way to write a test for speculative revalidation but I will work on adding test support for this in a follow-up patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1172341</commentid>
    <comment_count>5</comment_count>
      <attachid>273371</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-03-08 18:54:50 -0800</bug_when>
    <thetext>Created attachment 273371
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1172712</commentid>
    <comment_count>6</comment_count>
      <attachid>273371</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2016-03-09 13:16:53 -0800</bug_when>
    <thetext>Comment on attachment 273371
Patch

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

&gt; Source/WebKit2/NetworkProcess/cache/NetworkCacheEntry.cpp:193
&gt; +    m_response.setSource(value ? WebCore::ResourceResponse::Source::DiskCacheAfterValidation : WebCore::ResourceResponse::Source::DiskCache);

Not from this patch but it is bit strange that we use these source values as needsValidation bit. This would be clearer if the authoritative data was an actual bool member, response source could be updated as a side effect.

&gt; Source/WebKit2/NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp:90
&gt; +#if ENABLE(CACHE_PARTITIONING)

Should really kill these ifdefs at some point. Platforms that don&apos;t want partition should just use a fixed partition name.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1172715</commentid>
    <comment_count>7</comment_count>
      <attachid>273371</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-03-09 13:22:24 -0800</bug_when>
    <thetext>Comment on attachment 273371
Patch

Clearing flags on attachment: 273371

Committed r197879: &lt;http://trac.webkit.org/changeset/197879&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1172716</commentid>
    <comment_count>8</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-03-09 13:22:29 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1172719</commentid>
    <comment_count>9</comment_count>
      <attachid>273371</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-03-09 13:25:23 -0800</bug_when>
    <thetext>Comment on attachment 273371
Patch

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

&gt;&gt; Source/WebKit2/NetworkProcess/cache/NetworkCacheEntry.cpp:193
&gt;&gt; +    m_response.setSource(value ? WebCore::ResourceResponse::Source::DiskCacheAfterValidation : WebCore::ResourceResponse::Source::DiskCache);
&gt; 
&gt; Not from this patch but it is bit strange that we use these source values as needsValidation bit. This would be clearer if the authoritative data was an actual bool member, response source could be updated as a side effect.

I agree, I&apos;ll take a look at this in a follow-up.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>273323</attachid>
            <date>2016-03-08 13:38:19 -0800</date>
            <delta_ts>2016-03-08 14:04:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-155187-20160308133806.patch</filename>
            <type>text/plain</type>
            <size>7111</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk3Nzg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYTk5ODE2NGMxZGMxYTVk
MjNhNDIwYTFkYzFmZjYyMjYxYjhlYzc2NS4uMjYxZjM5OTQwY2UzNDViMjVmNmI0MzFkNWNiMzdj
ZDgwMjlmNTE3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ3IEBACisyMDE2LTAzLTA4ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgU3BlY3VsYXRpdmUgZGlzayBj
YWNoZSByZXNvdXJjZSByZXZhbGlkYXRpb25zIGFyZSBzb21ldGltZXMgd2FzdGVkCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTUxODcKKyAgICAgICAg
PHJkYXI6Ly9wcm9ibGVtLzI1MDMyOTA1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFNwZWN1bGF0aXZlIGRpc2sgY2FjaGUgcmVzb3VyY2UgcmV2YWxp
ZGF0aW9ucyBhcmUgc29tZXRpbWVzIHdhc3RlZC4KKworICAgICAgICBXZSB3b3VsZCBzb21ldGlt
ZXMgY29ycmVjdGx5IHJldmFsaWRhdGUgYSByZXNvdXJjZSBidXQgdGhlCisgICAgICAgIE5ldHdv
cmtSZXNvdXJjZUxvYWRlciB0aGVuIGVpdGhlcjoKKyAgICAgICAgMS4gRmFpbCB0byByZXVzZSB0
aGUgc3BlY3VsYXRpdmVseSB2YWxpZGF0ZWQgZW50cnkKKyAgICAgICAgMi4gUmV1c2UgdGhlIHNw
ZWN1bGF0aXZlbHkgdmFsaWRhdGVkIGVudHJ5IGJ1dCB2YWxpZGF0ZXMgaXQgYWdhaW4KKworICAg
ICAgICBCdWcgMSB3YXMgY2F1c2VkIGJ5IG5vdCBzZXR0aW5nIHRoZSBjYWNoZVBhcnRpdGlvbiBv
biB0aGUKKyAgICAgICAgcmV2YWxpZGF0aW9uIHJlcXVlc3QuIEFzIGEgcmVzdWx0LCB3aGVuIHdl
IHdvdWxkIHRoZW4gY29uc3RydWN0CisgICAgICAgIGEgTmV0d29ya0NhY2hlIEtleSBmcm9tIHRo
YXQgcmVxdWVzdCBpbiBOZXR3b3JrQ2FjaGU6OnN0b3JlKCksIHdlCisgICAgICAgIHdvdWxkIGJl
IG1pc3NpbmcgdGhlIGNhY2hlUGFydGl0aW9uLiBUaGVyZWZvcmUsIHRoZSBrZXkgd291bGQgbm90
CisgICAgICAgIG1hdGNoIHRoZSBsYXRlciBrZXkgY29uc3RydWN0ZWQgZnJvbSB0aGUgV2ViQ29y
ZSBSZXNvdXJjZVJlcXVlc3QKKyAgICAgICAgYW5kIHdvdWxkIG5vdCBub3QgcmV1c2UgdGhlIGVu
dHJ5LgorCisgICAgICAgIEJ1ZyAyIHdhcyBjYXVzZWQgYnkgdXMgbWFya2luZyBhIHNwZWN1bGF0
aXZlbHkgcmV2YWxpZGF0ZWQgZW50cnkKKyAgICAgICAgYXMgIm5vdCBuZWVkaW5nIHJldmFsaWRh
dGluZyIgb25seSBpbiBDYWNoZTo6dXBkYXRlKCkuIENhY2hlOjp1cGRhdGUoKQorICAgICAgICBp
cyBvbmx5IGNhbGxlZCBpbiB0aGUgY2FzZSB0aGUgcmV2YWxpZGF0aW9uIHdhcyBzdWNjZXNzZnVs
IChzZXJ2ZXIKKyAgICAgICAgcmV0dXJuZWQgYSAzMDQpLiBJZiByZXZhbGlkYXRpb24gd2FzIG5v
dCBzdWNjZXNzZnVsLCBDYWNoZTo6c3RvcmUoKQorICAgICAgICB3b3VsZCBiZSBjYWxsZWQgaW5z
dGVhZCB3YXMgd2Ugd291bGQgZmFpbCB0byB1cGRhdGUgdGhlCisgICAgICAgIG5lZWRzUmV2YWxp
ZGF0aW9uIGZsYWcuIE5ldHdvcmtSZXNvdXJjZUxvYWRlciB3b3VsZCB0aGVuIHZhbGlkYXRlCisg
ICAgICAgIGFnYWluIHRoZSByZXNvdXJjZSB0aGF0IHdhcyBhbHJlYWR5IHNwZWN1bGF0aXZlbHkg
cmV2YWxpZGF0ZWQuCisgICAgICAgIFRvIGFkZHJlc3MgdGhlIHByb2JsZW0sIHdlIG5vdyB1cGRh
dGUgdGhlICduZWVkc1JldmFsaWRhdGlvbicgZmxhZworICAgICAgICBhcyBzb29uIGFzIHRoZSBz
cGVjdWxhdGl2ZSByZXZhbGlkYXRpb24gY29tcGxldGVzLCBpbgorICAgICAgICBTcGVjdWxhdGl2
ZUxvYWQ6OmRpZENvbXBsZXRlKCkuCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9O
ZXR3b3JrQ2FjaGUuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OkNhY2hlOjpy
ZXRyaWV2ZSk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6Q2FjaGU6OnVwZGF0ZSk6
IERlbGV0ZWQuCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlRW50
cnkuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OkVudHJ5OjpzZXROZWVkc1Zh
bGlkYXRpb24pOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZUVu
dHJ5Lmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3Vs
YXRpdmVMb2FkLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpTcGVjdWxhdGl2
ZUxvYWQ6OmRpZENvbXBsZXRlKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3
b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0
d29ya0NhY2hlOjpjb25zdHJ1Y3RSZXZhbGlkYXRpb25SZXF1ZXN0KToKKwogMjAxNi0wMy0wOCAg
VGltb3RoeSBIYXRjaGVyICA8dGltb3RoeUBhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3Bl
Y3RvcjogQWRkIGF1dG9tYXRpb24gcHJvdG9jb2wgbWV0aG9kcyBmb3IgbmF2aWdhdGlvbgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hl
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5j
cHAKaW5kZXggMjczMTc4MGViNmQ4OWRlYTZjNjM1YjU3Njc1MGRmNjY5MGRiNWMzNi4uYjNiZDE4
YzRhNWYwMjNkOTY0ZWZjZGMzZGYwM2E3YjZiODBhNTI3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGUuY3BwCkBAIC00MDIsNyAr
NDAyLDcgQEAgdm9pZCBDYWNoZTo6cmV0cmlldmUoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1
ZXN0JiByZXF1ZXN0LCBjb25zdCBHbG9iYWxGcmFtZUkKICAgICAgICAgY2FzZSBVc2VEZWNpc2lv
bjo6VXNlOgogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgVXNlRGVjaXNpb246OlZh
bGlkYXRlOgotICAgICAgICAgICAgZW50cnktPnNldE5lZWRzVmFsaWRhdGlvbigpOworICAgICAg
ICAgICAgZW50cnktPnNldE5lZWRzVmFsaWRhdGlvbih0cnVlKTsKICAgICAgICAgICAgIGJyZWFr
OwogICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgZW50cnkgPSBudWxscHRyOwpAQCAtNDk1
LDcgKzQ5NSw2IEBAIHN0ZDo6dW5pcXVlX3B0cjxFbnRyeT4gQ2FjaGU6OnVwZGF0ZShjb25zdCBX
ZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIG9yaWdpbmFsUmVxCiAKICAgICBXZWJDb3JlOjpSZXNv
dXJjZVJlc3BvbnNlIHJlc3BvbnNlID0gZXhpc3RpbmdFbnRyeS5yZXNwb25zZSgpOwogICAgIFdl
YkNvcmU6OnVwZGF0ZVJlc3BvbnNlSGVhZGVyc0FmdGVyUmV2YWxpZGF0aW9uKHJlc3BvbnNlLCB2
YWxpZGF0aW5nUmVzcG9uc2UpOwotICAgIHJlc3BvbnNlLnNldFNvdXJjZShXZWJDb3JlOjpSZXNv
dXJjZVJlc3BvbnNlOjpTb3VyY2U6OkRpc2tDYWNoZSk7CiAKICAgICBhdXRvIHVwZGF0ZUVudHJ5
ID0gc3RkOjptYWtlX3VuaXF1ZTxFbnRyeT4oZXhpc3RpbmdFbnRyeS5rZXkoKSwgcmVzcG9uc2Us
IGV4aXN0aW5nRW50cnkuYnVmZmVyKCksIGNvbGxlY3RWYXJ5aW5nUmVxdWVzdEhlYWRlcnMob3Jp
Z2luYWxSZXF1ZXN0LCByZXNwb25zZSkpOwogICAgIGF1dG8gdXBkYXRlUmVjb3JkID0gdXBkYXRl
RW50cnktPmVuY29kZUFzU3RvcmFnZVJlY29yZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlRW50cnkuY3BwIGIvU291cmNlL1dl
YktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlRW50cnkuY3BwCmluZGV4IGZh
YTRmMDRkMTgzMjBkYzdkZmEzMjllOTkyNDRlODgzNTcyNWU0YjUuLmY3NGNlY2ZmZmFiZWViODQ0
ZTBhMjY0MThhZmI2MTljYzUwYzMzOTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdv
cmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZUVudHJ5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVFbnRyeS5jcHAKQEAgLTE4OCwxMCAr
MTg4LDkgQEAgYm9vbCBFbnRyeTo6bmVlZHNWYWxpZGF0aW9uKCkgY29uc3QKICAgICByZXR1cm4g
bV9yZXNwb25zZS5zb3VyY2UoKSA9PSBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlOjpTb3VyY2U6
OkRpc2tDYWNoZUFmdGVyVmFsaWRhdGlvbjsKIH0KIAotdm9pZCBFbnRyeTo6c2V0TmVlZHNWYWxp
ZGF0aW9uKCkKK3ZvaWQgRW50cnk6OnNldE5lZWRzVmFsaWRhdGlvbihib29sIHZhbHVlKQogewot
ICAgIEFTU0VSVChtX3Jlc3BvbnNlLnNvdXJjZSgpID09IFdlYkNvcmU6OlJlc291cmNlUmVzcG9u
c2U6OlNvdXJjZTo6RGlza0NhY2hlKTsKLSAgICBtX3Jlc3BvbnNlLnNldFNvdXJjZShXZWJDb3Jl
OjpSZXNvdXJjZVJlc3BvbnNlOjpTb3VyY2U6OkRpc2tDYWNoZUFmdGVyVmFsaWRhdGlvbik7Cisg
ICAgbV9yZXNwb25zZS5zZXRTb3VyY2UodmFsdWUgPyBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNl
OjpTb3VyY2U6OkRpc2tDYWNoZUFmdGVyVmFsaWRhdGlvbiA6IFdlYkNvcmU6OlJlc291cmNlUmVz
cG9uc2U6OlNvdXJjZTo6RGlza0NhY2hlKTsKIH0KIAogdm9pZCBFbnRyeTo6YXNKU09OKFN0cmlu
Z0J1aWxkZXImIGpzb24sIGNvbnN0IFN0b3JhZ2U6OlJlY29yZEluZm8mIGluZm8pIGNvbnN0CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2Fj
aGVFbnRyeS5oIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0Nh
Y2hlRW50cnkuaAppbmRleCAwODU1YTRlZmUyNDhjZDQ1NGE1MmYzNmNhZTlmODdjZWI0NTRkNzg2
Li4xNDFlNWNkNDkxM2Q1YTlmNDE2NjczMTI4MjExZjFkNjAyYmM0MTNlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVFbnRyeS5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZUVudHJ5
LmgKQEAgLTY2LDcgKzY2LDcgQEAgcHVibGljOgogI2VuZGlmCiAKICAgICBib29sIG5lZWRzVmFs
aWRhdGlvbigpIGNvbnN0OwotICAgIHZvaWQgc2V0TmVlZHNWYWxpZGF0aW9uKCk7CisgICAgdm9p
ZCBzZXROZWVkc1ZhbGlkYXRpb24oYm9vbCk7CiAKICAgICBjb25zdCBTdG9yYWdlOjpSZWNvcmQm
IHNvdXJjZVN0b3JhZ2VSZWNvcmQoKSBjb25zdCB7IHJldHVybiBtX3NvdXJjZVN0b3JhZ2VSZWNv
cmQ7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUv
TmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkLmNwcCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQ
cm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZC5jcHAKaW5kZXggZjZmNTk0
MDMwMDQyZmVhZWZjYzEwYmQ4YzRiYTc0NjQ0NWZjNmRlOS4uOWI5M2ZiNWE5MzY5YzRkNGFhYWRl
YzgxNTk3MGJmZGY2ODVhMjEzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1By
b2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWQu
Y3BwCkBAIC0xMzksNiArMTM5LDEwIEBAIHZvaWQgU3BlY3VsYXRpdmVMb2FkOjpkaWRDb21wbGV0
ZSgpCiAKICAgICBtX25ldHdvcmtMb2FkID0gbnVsbHB0cjsKIAorICAgIC8vIE1ha2Ugc3VyZSBz
cGVjdWxhdGl2ZWx5IHJldmFsaWRhdGVkIHJlc291cmNlcyBkbyBub3QgZ2V0IHZhbGlkYXRlZCBi
eSB0aGUgTmV0d29ya1Jlc291cmNlTG9hZGVyIGFnYWluLgorICAgIGlmIChtX2NhY2hlRW50cnlG
b3JWYWxpZGF0aW9uKQorICAgICAgICBtX2NhY2hlRW50cnlGb3JWYWxpZGF0aW9uLT5zZXROZWVk
c1ZhbGlkYXRpb24oZmFsc2UpOworCiAgICAgbV9jb21wbGV0aW9uSGFuZGxlcihXVEZNb3ZlKG1f
Y2FjaGVFbnRyeUZvclZhbGlkYXRpb24pKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkTWFuYWdl
ci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVT
cGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmNwcAppbmRleCAwMjc1OTExMDAzMjE2NTM4NTA2ZTI5Y2Iz
M2Q5MzBiZDAwYmYwNzkxLi4yZGVmN2NjYzVlOTU1ZjhjZjZlMGJkNTFjNzJlMDM0ZjM4NjkzN2Nh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3Jr
Q2FjaGVTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3
b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmNwcApA
QCAtODcsNiArODcsOSBAQCBzdGF0aWMgaW5saW5lIEtleSBtYWtlU3VicmVzb3VyY2VzS2V5KGNv
bnN0IEtleSYgcmVzb3VyY2VLZXkpCiBzdGF0aWMgaW5saW5lIFJlc291cmNlUmVxdWVzdCBjb25z
dHJ1Y3RSZXZhbGlkYXRpb25SZXF1ZXN0KGNvbnN0IEVudHJ5JiBlbnRyeSkKIHsKICAgICBSZXNv
dXJjZVJlcXVlc3QgcmV2YWxpZGF0aW9uUmVxdWVzdChlbnRyeS5rZXkoKS5pZGVudGlmaWVyKCkp
OworI2lmIEVOQUJMRShDQUNIRV9QQVJUSVRJT05JTkcpCisgICAgcmV2YWxpZGF0aW9uUmVxdWVz
dC5zZXRDYWNoZVBhcnRpdGlvbihlbnRyeS5rZXkoKS5wYXJ0aXRpb24oKSk7CisjZW5kaWYKIAog
ICAgIFN0cmluZyBlVGFnID0gZW50cnkucmVzcG9uc2UoKS5odHRwSGVhZGVyRmllbGQoSFRUUEhl
YWRlck5hbWU6OkVUYWcpOwogICAgIGlmICghZVRhZy5pc0VtcHR5KCkpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>273339</attachid>
            <date>2016-03-08 14:04:59 -0800</date>
            <delta_ts>2016-03-08 17:03:58 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-155187-20160308140445.patch</filename>
            <type>text/plain</type>
            <size>7451</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk3Nzg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYTk5ODE2NGMxZGMxYTVk
MjNhNDIwYTFkYzFmZjYyMjYxYjhlYzc2NS4uMjYxZjM5OTQwY2UzNDViMjVmNmI0MzFkNWNiMzdj
ZDgwMjlmNTE3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ3IEBACisyMDE2LTAzLTA4ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgU3BlY3VsYXRpdmUgZGlzayBj
YWNoZSByZXNvdXJjZSByZXZhbGlkYXRpb25zIGFyZSBzb21ldGltZXMgd2FzdGVkCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTUxODcKKyAgICAgICAg
PHJkYXI6Ly9wcm9ibGVtLzI1MDMyOTA1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFNwZWN1bGF0aXZlIGRpc2sgY2FjaGUgcmVzb3VyY2UgcmV2YWxp
ZGF0aW9ucyBhcmUgc29tZXRpbWVzIHdhc3RlZC4KKworICAgICAgICBXZSB3b3VsZCBzb21ldGlt
ZXMgY29ycmVjdGx5IHJldmFsaWRhdGUgYSByZXNvdXJjZSBidXQgdGhlCisgICAgICAgIE5ldHdv
cmtSZXNvdXJjZUxvYWRlciB0aGVuIGVpdGhlcjoKKyAgICAgICAgMS4gRmFpbCB0byByZXVzZSB0
aGUgc3BlY3VsYXRpdmVseSB2YWxpZGF0ZWQgZW50cnkKKyAgICAgICAgMi4gUmV1c2UgdGhlIHNw
ZWN1bGF0aXZlbHkgdmFsaWRhdGVkIGVudHJ5IGJ1dCB2YWxpZGF0ZXMgaXQgYWdhaW4KKworICAg
ICAgICBCdWcgMSB3YXMgY2F1c2VkIGJ5IG5vdCBzZXR0aW5nIHRoZSBjYWNoZVBhcnRpdGlvbiBv
biB0aGUKKyAgICAgICAgcmV2YWxpZGF0aW9uIHJlcXVlc3QuIEFzIGEgcmVzdWx0LCB3aGVuIHdl
IHdvdWxkIHRoZW4gY29uc3RydWN0CisgICAgICAgIGEgTmV0d29ya0NhY2hlIEtleSBmcm9tIHRo
YXQgcmVxdWVzdCBpbiBOZXR3b3JrQ2FjaGU6OnN0b3JlKCksIHdlCisgICAgICAgIHdvdWxkIGJl
IG1pc3NpbmcgdGhlIGNhY2hlUGFydGl0aW9uLiBUaGVyZWZvcmUsIHRoZSBrZXkgd291bGQgbm90
CisgICAgICAgIG1hdGNoIHRoZSBsYXRlciBrZXkgY29uc3RydWN0ZWQgZnJvbSB0aGUgV2ViQ29y
ZSBSZXNvdXJjZVJlcXVlc3QKKyAgICAgICAgYW5kIHdvdWxkIG5vdCBub3QgcmV1c2UgdGhlIGVu
dHJ5LgorCisgICAgICAgIEJ1ZyAyIHdhcyBjYXVzZWQgYnkgdXMgbWFya2luZyBhIHNwZWN1bGF0
aXZlbHkgcmV2YWxpZGF0ZWQgZW50cnkKKyAgICAgICAgYXMgIm5vdCBuZWVkaW5nIHJldmFsaWRh
dGluZyIgb25seSBpbiBDYWNoZTo6dXBkYXRlKCkuIENhY2hlOjp1cGRhdGUoKQorICAgICAgICBp
cyBvbmx5IGNhbGxlZCBpbiB0aGUgY2FzZSB0aGUgcmV2YWxpZGF0aW9uIHdhcyBzdWNjZXNzZnVs
IChzZXJ2ZXIKKyAgICAgICAgcmV0dXJuZWQgYSAzMDQpLiBJZiByZXZhbGlkYXRpb24gd2FzIG5v
dCBzdWNjZXNzZnVsLCBDYWNoZTo6c3RvcmUoKQorICAgICAgICB3b3VsZCBiZSBjYWxsZWQgaW5z
dGVhZCB3YXMgd2Ugd291bGQgZmFpbCB0byB1cGRhdGUgdGhlCisgICAgICAgIG5lZWRzUmV2YWxp
ZGF0aW9uIGZsYWcuIE5ldHdvcmtSZXNvdXJjZUxvYWRlciB3b3VsZCB0aGVuIHZhbGlkYXRlCisg
ICAgICAgIGFnYWluIHRoZSByZXNvdXJjZSB0aGF0IHdhcyBhbHJlYWR5IHNwZWN1bGF0aXZlbHkg
cmV2YWxpZGF0ZWQuCisgICAgICAgIFRvIGFkZHJlc3MgdGhlIHByb2JsZW0sIHdlIG5vdyB1cGRh
dGUgdGhlICduZWVkc1JldmFsaWRhdGlvbicgZmxhZworICAgICAgICBhcyBzb29uIGFzIHRoZSBz
cGVjdWxhdGl2ZSByZXZhbGlkYXRpb24gY29tcGxldGVzLCBpbgorICAgICAgICBTcGVjdWxhdGl2
ZUxvYWQ6OmRpZENvbXBsZXRlKCkuCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9O
ZXR3b3JrQ2FjaGUuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OkNhY2hlOjpy
ZXRyaWV2ZSk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6Q2FjaGU6OnVwZGF0ZSk6
IERlbGV0ZWQuCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlRW50
cnkuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OkVudHJ5OjpzZXROZWVkc1Zh
bGlkYXRpb24pOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZUVu
dHJ5Lmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3Vs
YXRpdmVMb2FkLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpTcGVjdWxhdGl2
ZUxvYWQ6OmRpZENvbXBsZXRlKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3
b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0
d29ya0NhY2hlOjpjb25zdHJ1Y3RSZXZhbGlkYXRpb25SZXF1ZXN0KToKKwogMjAxNi0wMy0wOCAg
VGltb3RoeSBIYXRjaGVyICA8dGltb3RoeUBhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3Bl
Y3RvcjogQWRkIGF1dG9tYXRpb24gcHJvdG9jb2wgbWV0aG9kcyBmb3IgbmF2aWdhdGlvbgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hl
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5j
cHAKaW5kZXggMjczMTc4MGViNmQ4OWRlYTZjNjM1YjU3Njc1MGRmNjY5MGRiNWMzNi4uYjNiZDE4
YzRhNWYwMjNkOTY0ZWZjZGMzZGYwM2E3YjZiODBhNTI3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGUuY3BwCkBAIC00MDIsNyAr
NDAyLDcgQEAgdm9pZCBDYWNoZTo6cmV0cmlldmUoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1
ZXN0JiByZXF1ZXN0LCBjb25zdCBHbG9iYWxGcmFtZUkKICAgICAgICAgY2FzZSBVc2VEZWNpc2lv
bjo6VXNlOgogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgVXNlRGVjaXNpb246OlZh
bGlkYXRlOgotICAgICAgICAgICAgZW50cnktPnNldE5lZWRzVmFsaWRhdGlvbigpOworICAgICAg
ICAgICAgZW50cnktPnNldE5lZWRzVmFsaWRhdGlvbih0cnVlKTsKICAgICAgICAgICAgIGJyZWFr
OwogICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgZW50cnkgPSBudWxscHRyOwpAQCAtNDk1
LDcgKzQ5NSw2IEBAIHN0ZDo6dW5pcXVlX3B0cjxFbnRyeT4gQ2FjaGU6OnVwZGF0ZShjb25zdCBX
ZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIG9yaWdpbmFsUmVxCiAKICAgICBXZWJDb3JlOjpSZXNv
dXJjZVJlc3BvbnNlIHJlc3BvbnNlID0gZXhpc3RpbmdFbnRyeS5yZXNwb25zZSgpOwogICAgIFdl
YkNvcmU6OnVwZGF0ZVJlc3BvbnNlSGVhZGVyc0FmdGVyUmV2YWxpZGF0aW9uKHJlc3BvbnNlLCB2
YWxpZGF0aW5nUmVzcG9uc2UpOwotICAgIHJlc3BvbnNlLnNldFNvdXJjZShXZWJDb3JlOjpSZXNv
dXJjZVJlc3BvbnNlOjpTb3VyY2U6OkRpc2tDYWNoZSk7CiAKICAgICBhdXRvIHVwZGF0ZUVudHJ5
ID0gc3RkOjptYWtlX3VuaXF1ZTxFbnRyeT4oZXhpc3RpbmdFbnRyeS5rZXkoKSwgcmVzcG9uc2Us
IGV4aXN0aW5nRW50cnkuYnVmZmVyKCksIGNvbGxlY3RWYXJ5aW5nUmVxdWVzdEhlYWRlcnMob3Jp
Z2luYWxSZXF1ZXN0LCByZXNwb25zZSkpOwogICAgIGF1dG8gdXBkYXRlUmVjb3JkID0gdXBkYXRl
RW50cnktPmVuY29kZUFzU3RvcmFnZVJlY29yZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlRW50cnkuY3BwIGIvU291cmNlL1dl
YktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlRW50cnkuY3BwCmluZGV4IGZh
YTRmMDRkMTgzMjBkYzdkZmEzMjllOTkyNDRlODgzNTcyNWU0YjUuLmY3NGNlY2ZmZmFiZWViODQ0
ZTBhMjY0MThhZmI2MTljYzUwYzMzOTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdv
cmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZUVudHJ5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVFbnRyeS5jcHAKQEAgLTE4OCwxMCAr
MTg4LDkgQEAgYm9vbCBFbnRyeTo6bmVlZHNWYWxpZGF0aW9uKCkgY29uc3QKICAgICByZXR1cm4g
bV9yZXNwb25zZS5zb3VyY2UoKSA9PSBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlOjpTb3VyY2U6
OkRpc2tDYWNoZUFmdGVyVmFsaWRhdGlvbjsKIH0KIAotdm9pZCBFbnRyeTo6c2V0TmVlZHNWYWxp
ZGF0aW9uKCkKK3ZvaWQgRW50cnk6OnNldE5lZWRzVmFsaWRhdGlvbihib29sIHZhbHVlKQogewot
ICAgIEFTU0VSVChtX3Jlc3BvbnNlLnNvdXJjZSgpID09IFdlYkNvcmU6OlJlc291cmNlUmVzcG9u
c2U6OlNvdXJjZTo6RGlza0NhY2hlKTsKLSAgICBtX3Jlc3BvbnNlLnNldFNvdXJjZShXZWJDb3Jl
OjpSZXNvdXJjZVJlc3BvbnNlOjpTb3VyY2U6OkRpc2tDYWNoZUFmdGVyVmFsaWRhdGlvbik7Cisg
ICAgbV9yZXNwb25zZS5zZXRTb3VyY2UodmFsdWUgPyBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNl
OjpTb3VyY2U6OkRpc2tDYWNoZUFmdGVyVmFsaWRhdGlvbiA6IFdlYkNvcmU6OlJlc291cmNlUmVz
cG9uc2U6OlNvdXJjZTo6RGlza0NhY2hlKTsKIH0KIAogdm9pZCBFbnRyeTo6YXNKU09OKFN0cmlu
Z0J1aWxkZXImIGpzb24sIGNvbnN0IFN0b3JhZ2U6OlJlY29yZEluZm8mIGluZm8pIGNvbnN0CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2Fj
aGVFbnRyeS5oIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0Nh
Y2hlRW50cnkuaAppbmRleCAwODU1YTRlZmUyNDhjZDQ1NGE1MmYzNmNhZTlmODdjZWI0NTRkNzg2
Li4xNDFlNWNkNDkxM2Q1YTlmNDE2NjczMTI4MjExZjFkNjAyYmM0MTNlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVFbnRyeS5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZUVudHJ5
LmgKQEAgLTY2LDcgKzY2LDcgQEAgcHVibGljOgogI2VuZGlmCiAKICAgICBib29sIG5lZWRzVmFs
aWRhdGlvbigpIGNvbnN0OwotICAgIHZvaWQgc2V0TmVlZHNWYWxpZGF0aW9uKCk7CisgICAgdm9p
ZCBzZXROZWVkc1ZhbGlkYXRpb24oYm9vbCk7CiAKICAgICBjb25zdCBTdG9yYWdlOjpSZWNvcmQm
IHNvdXJjZVN0b3JhZ2VSZWNvcmQoKSBjb25zdCB7IHJldHVybiBtX3NvdXJjZVN0b3JhZ2VSZWNv
cmQ7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUv
TmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkLmNwcCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQ
cm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZC5jcHAKaW5kZXggZjZmNTk0
MDMwMDQyZmVhZWZjYzEwYmQ4YzRiYTc0NjQ0NWZjNmRlOS4uOWI5M2ZiNWE5MzY5YzRkNGFhYWRl
YzgxNTk3MGJmZGY2ODVhMjEzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1By
b2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWQu
Y3BwCkBAIC0xMzksNiArMTM5LDEwIEBAIHZvaWQgU3BlY3VsYXRpdmVMb2FkOjpkaWRDb21wbGV0
ZSgpCiAKICAgICBtX25ldHdvcmtMb2FkID0gbnVsbHB0cjsKIAorICAgIC8vIE1ha2Ugc3VyZSBz
cGVjdWxhdGl2ZWx5IHJldmFsaWRhdGVkIHJlc291cmNlcyBkbyBub3QgZ2V0IHZhbGlkYXRlZCBi
eSB0aGUgTmV0d29ya1Jlc291cmNlTG9hZGVyIGFnYWluLgorICAgIGlmIChtX2NhY2hlRW50cnlG
b3JWYWxpZGF0aW9uKQorICAgICAgICBtX2NhY2hlRW50cnlGb3JWYWxpZGF0aW9uLT5zZXROZWVk
c1ZhbGlkYXRpb24oZmFsc2UpOworCiAgICAgbV9jb21wbGV0aW9uSGFuZGxlcihXVEZNb3ZlKG1f
Y2FjaGVFbnRyeUZvclZhbGlkYXRpb24pKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkTWFuYWdl
ci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVT
cGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmNwcAppbmRleCAwMjc1OTExMDAzMjE2NTM4NTA2ZTI5Y2Iz
M2Q5MzBiZDAwYmYwNzkxLi5hYTMzNTY2NzAxMmYyMGQ2OWM4NDJiOGI1N2EyMzIzNmNjMDY5ZDU4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3Jr
Q2FjaGVTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3
b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmNwcApA
QCAtODcsNiArODcsOSBAQCBzdGF0aWMgaW5saW5lIEtleSBtYWtlU3VicmVzb3VyY2VzS2V5KGNv
bnN0IEtleSYgcmVzb3VyY2VLZXkpCiBzdGF0aWMgaW5saW5lIFJlc291cmNlUmVxdWVzdCBjb25z
dHJ1Y3RSZXZhbGlkYXRpb25SZXF1ZXN0KGNvbnN0IEVudHJ5JiBlbnRyeSkKIHsKICAgICBSZXNv
dXJjZVJlcXVlc3QgcmV2YWxpZGF0aW9uUmVxdWVzdChlbnRyeS5rZXkoKS5pZGVudGlmaWVyKCkp
OworI2lmIEVOQUJMRShDQUNIRV9QQVJUSVRJT05JTkcpCisgICAgcmV2YWxpZGF0aW9uUmVxdWVz
dC5zZXRDYWNoZVBhcnRpdGlvbihlbnRyeS5rZXkoKS5wYXJ0aXRpb24oKSk7CisjZW5kaWYKIAog
ICAgIFN0cmluZyBlVGFnID0gZW50cnkucmVzcG9uc2UoKS5odHRwSGVhZGVyRmllbGQoSFRUUEhl
YWRlck5hbWU6OkVUYWcpOwogICAgIGlmICghZVRhZy5pc0VtcHR5KCkpCkBAIC0zNDQsNyArMzQ3
LDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyOjpyZXRyaWV2ZUVudHJ5RnJvbVN0b3Jh
Z2UoY29uc3QgS2V5JiBrZXksIGNvbnN0IFJldHIKICAgICAgICAgfQogCiAgICAgICAgIGlmIChy
ZXNwb25zZU5lZWRzUmV2YWxpZGF0aW9uKHJlc3BvbnNlLCBlbnRyeS0+dGltZVN0YW1wKCkpKQot
ICAgICAgICAgICAgZW50cnktPnNldE5lZWRzVmFsaWRhdGlvbigpOworICAgICAgICAgICAgZW50
cnktPnNldE5lZWRzVmFsaWRhdGlvbih0cnVlKTsKIAogICAgICAgICBjb21wbGV0aW9uSGFuZGxl
cihXVEZNb3ZlKGVudHJ5KSk7CiAgICAgICAgIHJldHVybiB0cnVlOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>273371</attachid>
            <date>2016-03-08 18:54:50 -0800</date>
            <delta_ts>2016-03-09 13:22:24 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-155187-20160308185438.patch</filename>
            <type>text/plain</type>
            <size>11861</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk3Nzg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYTk5ODE2NGMxZGMxYTVk
MjNhNDIwYTFkYzFmZjYyMjYxYjhlYzc2NS4uYWNjMThiMDNiZmI2M2RlMTRjOTI0YTQxM2U2OWNk
ODc4OTkxZjRkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYxIEBACisyMDE2LTAzLTA4ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgU3BlY3VsYXRpdmUgZGlzayBj
YWNoZSByZXNvdXJjZSByZXZhbGlkYXRpb25zIGFyZSBzb21ldGltZXMgd2FzdGVkCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTUxODcKKyAgICAgICAg
PHJkYXI6Ly9wcm9ibGVtLzI1MDMyOTA1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFNwZWN1bGF0aXZlIGRpc2sgY2FjaGUgcmVzb3VyY2UgcmV2YWxp
ZGF0aW9ucyB3ZXJlIHNvbWV0aW1lcyB3YXN0ZWQuCisKKyAgICAgICAgV2Ugd291bGQgc29tZXRp
bWVzIGNvcnJlY3RseSByZXZhbGlkYXRlIGEgcmVzb3VyY2UgYnV0IHRoZQorICAgICAgICBOZXR3
b3JrUmVzb3VyY2VMb2FkZXIgdGhlbiBlaXRoZXI6CisgICAgICAgIDEuIEZhaWwgdG8gcmV1c2Ug
dGhlIHNwZWN1bGF0aXZlbHkgdmFsaWRhdGVkIGVudHJ5CisgICAgICAgIDIuIFJldXNlIHRoZSBz
cGVjdWxhdGl2ZWx5IHZhbGlkYXRlZCBlbnRyeSBidXQgdGhlbiB2YWxpZGF0ZSBpdCBhZ2Fpbgor
CisgICAgICAgIEJ1ZyAxIHdhcyBjYXVzZWQgYnkgdGhlIHJldmFsaWRhdGVkIGVudHJ5IGtleSBz
b21ldGltZXMgYmVpbmcKKyAgICAgICAgZGlmZmVyZW50IGZyb20gdGhlIGNhY2hlZCBlbnRyeSBr
ZXkuIFRoaXMgY291bGQgaGFwcGVuIHdoZW4KKyAgICAgICAgcmV2YWxpZGF0aW9uIGZhaWxzICh0
aGUgc2VydmVyIGRpZCBub3Qgc2VuZCBiYWNrIGEgMzA0KSBpbgorICAgICAgICB3aGljaCBjYXNl
IHdlIGNhbGwgTmV0d29ya0NhY2hlOjpzdG9yZSgpIHdoaWNoIGNyZWF0ZXMgYSBuZXcKKyAgICAg
ICAgY2FjaGUgRW50cnksIGdlbmVyYXRpbmcgYSBjYWNoZSBrZXkgZnJvbSBvdXIgcmV2YWxpZGF0
aW9uCisgICAgICAgIHJlcXVlc3QuIElmIHRoZSBvcmlnaW5hbCByZXF1ZXN0IGhhcyBhIGNhY2hl
IHBhcnRpdGlvbiBvciBhCisgICAgICAgIHJhbmdlLCB0aGVuIHRoZSBrZXlzIHdvdWxkIG5vdCBt
YXRjaCBiZWNhdXNlIHdlIGRpZCBub3Qgc2V0CisgICAgICAgIHRoZSBjYWNoZSBwYXJ0aXRpb24g
b3IgdGhlIHJhbmdlIG9uIHRoZSByZXZhbGlkYXRpb24gcmVxdWVzdC4KKyAgICAgICAgVGhpcyBo
YXMgYmVlbiBhZGRyZXNzZWQgYnkgc2V0dGluZyB0aGUgY2FjaGUgcGFydGl0aW9uIG9uIHRoZQor
ICAgICAgICByZXZhbGlkYXRpb24gcmVxdWVzdCBpbiBjb25zdHJ1Y3RSZXZhbGlkYXRpb25SZXF1
ZXN0KCkgYW5kIGJ5CisgICAgICAgIG5vdCBkb2luZyByZXZhbGlkYXRpb24gaWYgdGhlIG9yaWdp
bmFsIHJlcXVlc3QgaGFkIGEgJ3JhbmdlJworICAgICAgICBoZWFkZXIuCisKKyAgICAgICAgQnVn
IDIgd2FzIGNhdXNlZCBieSB1cyBtYXJraW5nIGEgc3BlY3VsYXRpdmVseSByZXZhbGlkYXRlZCBl
bnRyeQorICAgICAgICBhcyAibm90IG5lZWRpbmcgcmV2YWxpZGF0aW5nIiBvbmx5IGluIENhY2hl
Ojp1cGRhdGUoKS4gQ2FjaGU6OnVwZGF0ZSgpCisgICAgICAgIGlzIG9ubHkgY2FsbGVkIGluIHRo
ZSBjYXNlIHRoZSByZXZhbGlkYXRpb24gd2FzIHN1Y2Nlc3NmdWwgKHNlcnZlcgorICAgICAgICBy
ZXR1cm5lZCBhIDMwNCkuIElmIHJldmFsaWRhdGlvbiB3YXMgbm90IHN1Y2Nlc3NmdWwsIENhY2hl
OjpzdG9yZSgpCisgICAgICAgIHdvdWxkIGJlIGNhbGxlZCBpbnN0ZWFkIHdhcyB3ZSB3b3VsZCBm
YWlsIHRvIHVwZGF0ZSB0aGUKKyAgICAgICAgbmVlZHNSZXZhbGlkYXRpb24gZmxhZy4gTmV0d29y
a1Jlc291cmNlTG9hZGVyIHdvdWxkIHRoZW4gdmFsaWRhdGUKKyAgICAgICAgYWdhaW4gdGhlIHJl
c291cmNlIHRoYXQgd2FzIGFscmVhZHkgc3BlY3VsYXRpdmVseSByZXZhbGlkYXRlZC4KKyAgICAg
ICAgVG8gYWRkcmVzcyB0aGUgcHJvYmxlbSwgd2Ugbm93IHVwZGF0ZSB0aGUgJ25lZWRzUmV2YWxp
ZGF0aW9uJyBmbGFnCisgICAgICAgIGFzIHNvb24gYXMgdGhlIHNwZWN1bGF0aXZlIHJldmFsaWRh
dGlvbiBjb21wbGV0ZXMsIGluCisgICAgICAgIFNwZWN1bGF0aXZlTG9hZDo6ZGlkQ29tcGxldGUo
KS4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6Q2FjaGU6OnJldHJpZXZlKToKKyAgICAgICAg
KFdlYktpdDo6TmV0d29ya0NhY2hlOjptYWtlQ2FjaGVLZXkpOgorICAgICAgICAoV2ViS2l0OjpO
ZXR3b3JrQ2FjaGU6OkNhY2hlOjp1cGRhdGUpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2Nh
Y2hlL05ldHdvcmtDYWNoZUVudHJ5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hl
OjpFbnRyeTo6c2V0TmVlZHNWYWxpZGF0aW9uKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9j
YWNoZS9OZXR3b3JrQ2FjaGVFbnRyeS5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NhY2hl
L05ldHdvcmtDYWNoZUtleS5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6bm9Q
YXJ0aXRpb25TdHJpbmcpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OktleTo6S2V5
KToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpLZXk6Omhhc1BhcnRpdGlvbik6Cisg
ICAgICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlS2V5Lmg6CisgICAgICAg
ICogTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpTcGVjdWxhdGl2ZUxvYWQ6OmRpZENvbXBs
ZXRlKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxh
dGl2ZUxvYWRNYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpjb25z
dHJ1Y3RSZXZhbGlkYXRpb25SZXF1ZXN0KToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hl
OjpTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyOjpyZXRyaWV2ZUVudHJ5RnJvbVN0b3JhZ2UpOgorICAg
ICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OlNwZWN1bGF0aXZlTG9hZE1hbmFnZXI6OnJldmFs
aWRhdGVFbnRyeSk6CisKIDIwMTYtMDMtMDggIFRpbW90aHkgSGF0Y2hlciAgPHRpbW90aHlAYXBw
bGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IEFkZCBhdXRvbWF0aW9uIHByb3RvY29s
IG1ldGhvZHMgZm9yIG5hdmlnYXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdv
cmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3Jr
UHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGUuY3BwCmluZGV4IDI3MzE3ODBlYjZkODlkZWE2YzYz
NWI1NzY3NTBkZjY2OTBkYjVjMzYuLmM1YjJhMjMwMTQ4ZTkyMDVkMzI3NDY1OWQxMjM5NThmZGMz
ZTAxMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05l
dHdvcmtDYWNoZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUv
TmV0d29ya0NhY2hlLmNwcApAQCAtMTIxLDggKzEyMSw2IEBAIHN0YXRpYyBLZXkgbWFrZUNhY2hl
S2V5KGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCkKICNlbHNlCiAgICAg
U3RyaW5nIHBhcnRpdGlvbjsKICNlbmRpZgotICAgIGlmIChwYXJ0aXRpb24uaXNFbXB0eSgpKQot
ICAgICAgICBwYXJ0aXRpb24gPSBBU0NJSUxpdGVyYWwoIk5vIHBhcnRpdGlvbiIpOwogCiAgICAg
Ly8gRklYTUU6IFRoaXMgaW1wbGVtZW50cyBtaW5pbWFsIFJhbmdlIGhlYWRlciBkaXNrIGNhY2hl
IHN1cHBvcnQuIFdlIGRvbid0IHBhcnNlCiAgICAgLy8gcmFuZ2VzIHNvIG9ubHkgdGhlIHNhbWUg
ZXhhY3QgcmFuZ2UgcmVxdWVzdCB3aWxsIGJlIHNlcnZlZCBmcm9tIHRoZSBjYWNoZS4KQEAgLTQw
Miw3ICs0MDAsNyBAQCB2b2lkIENhY2hlOjpyZXRyaWV2ZShjb25zdCBXZWJDb3JlOjpSZXNvdXJj
ZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IEdsb2JhbEZyYW1lSQogICAgICAgICBjYXNlIFVzZURl
Y2lzaW9uOjpVc2U6CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBVc2VEZWNpc2lv
bjo6VmFsaWRhdGU6Ci0gICAgICAgICAgICBlbnRyeS0+c2V0TmVlZHNWYWxpZGF0aW9uKCk7Cisg
ICAgICAgICAgICBlbnRyeS0+c2V0TmVlZHNWYWxpZGF0aW9uKHRydWUpOwogICAgICAgICAgICAg
YnJlYWs7CiAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICBlbnRyeSA9IG51bGxwdHI7CkBA
IC00OTUsNyArNDkzLDYgQEAgc3RkOjp1bmlxdWVfcHRyPEVudHJ5PiBDYWNoZTo6dXBkYXRlKGNv
bnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYgb3JpZ2luYWxSZXEKIAogICAgIFdlYkNvcmU6
OlJlc291cmNlUmVzcG9uc2UgcmVzcG9uc2UgPSBleGlzdGluZ0VudHJ5LnJlc3BvbnNlKCk7CiAg
ICAgV2ViQ29yZTo6dXBkYXRlUmVzcG9uc2VIZWFkZXJzQWZ0ZXJSZXZhbGlkYXRpb24ocmVzcG9u
c2UsIHZhbGlkYXRpbmdSZXNwb25zZSk7Ci0gICAgcmVzcG9uc2Uuc2V0U291cmNlKFdlYkNvcmU6
OlJlc291cmNlUmVzcG9uc2U6OlNvdXJjZTo6RGlza0NhY2hlKTsKIAogICAgIGF1dG8gdXBkYXRl
RW50cnkgPSBzdGQ6Om1ha2VfdW5pcXVlPEVudHJ5PihleGlzdGluZ0VudHJ5LmtleSgpLCByZXNw
b25zZSwgZXhpc3RpbmdFbnRyeS5idWZmZXIoKSwgY29sbGVjdFZhcnlpbmdSZXF1ZXN0SGVhZGVy
cyhvcmlnaW5hbFJlcXVlc3QsIHJlc3BvbnNlKSk7CiAgICAgYXV0byB1cGRhdGVSZWNvcmQgPSB1
cGRhdGVFbnRyeS0+ZW5jb2RlQXNTdG9yYWdlUmVjb3JkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVFbnRyeS5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVFbnRyeS5jcHAKaW5k
ZXggZmFhNGYwNGQxODMyMGRjN2RmYTMyOWU5OTI0NGU4ODM1NzI1ZTRiNS4uZjc0Y2VjZmZmYWJl
ZWI4NDRlMGEyNjQxOGFmYjYxOWNjNTBjMzM5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
TmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlRW50cnkuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZUVudHJ5LmNwcApAQCAtMTg4
LDEwICsxODgsOSBAQCBib29sIEVudHJ5OjpuZWVkc1ZhbGlkYXRpb24oKSBjb25zdAogICAgIHJl
dHVybiBtX3Jlc3BvbnNlLnNvdXJjZSgpID09IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2U6OlNv
dXJjZTo6RGlza0NhY2hlQWZ0ZXJWYWxpZGF0aW9uOwogfQogCi12b2lkIEVudHJ5OjpzZXROZWVk
c1ZhbGlkYXRpb24oKQordm9pZCBFbnRyeTo6c2V0TmVlZHNWYWxpZGF0aW9uKGJvb2wgdmFsdWUp
CiB7Ci0gICAgQVNTRVJUKG1fcmVzcG9uc2Uuc291cmNlKCkgPT0gV2ViQ29yZTo6UmVzb3VyY2VS
ZXNwb25zZTo6U291cmNlOjpEaXNrQ2FjaGUpOwotICAgIG1fcmVzcG9uc2Uuc2V0U291cmNlKFdl
YkNvcmU6OlJlc291cmNlUmVzcG9uc2U6OlNvdXJjZTo6RGlza0NhY2hlQWZ0ZXJWYWxpZGF0aW9u
KTsKKyAgICBtX3Jlc3BvbnNlLnNldFNvdXJjZSh2YWx1ZSA/IFdlYkNvcmU6OlJlc291cmNlUmVz
cG9uc2U6OlNvdXJjZTo6RGlza0NhY2hlQWZ0ZXJWYWxpZGF0aW9uIDogV2ViQ29yZTo6UmVzb3Vy
Y2VSZXNwb25zZTo6U291cmNlOjpEaXNrQ2FjaGUpOwogfQogCiB2b2lkIEVudHJ5Ojphc0pTT04o
U3RyaW5nQnVpbGRlciYganNvbiwgY29uc3QgU3RvcmFnZTo6UmVjb3JkSW5mbyYgaW5mbykgY29u
c3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdv
cmtDYWNoZUVudHJ5LmggYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3
b3JrQ2FjaGVFbnRyeS5oCmluZGV4IDA4NTVhNGVmZTI0OGNkNDU0YTUyZjM2Y2FlOWY4N2NlYjQ1
NGQ3ODYuLjE0MWU1Y2Q0OTEzZDVhOWY0MTY2NzMxMjgyMTFmMWQ2MDJiYzQxM2UgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZUVudHJ5
LmgKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hl
RW50cnkuaApAQCAtNjYsNyArNjYsNyBAQCBwdWJsaWM6CiAjZW5kaWYKIAogICAgIGJvb2wgbmVl
ZHNWYWxpZGF0aW9uKCkgY29uc3Q7Ci0gICAgdm9pZCBzZXROZWVkc1ZhbGlkYXRpb24oKTsKKyAg
ICB2b2lkIHNldE5lZWRzVmFsaWRhdGlvbihib29sKTsKIAogICAgIGNvbnN0IFN0b3JhZ2U6OlJl
Y29yZCYgc291cmNlU3RvcmFnZVJlY29yZCgpIGNvbnN0IHsgcmV0dXJuIG1fc291cmNlU3RvcmFn
ZVJlY29yZDsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9j
YWNoZS9OZXR3b3JrQ2FjaGVLZXkuY3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mv
Y2FjaGUvTmV0d29ya0NhY2hlS2V5LmNwcAppbmRleCAxZjA2YTY1YmI2ZWY4ZGQzNTAxOTJjNDU4
NjkxZjg4MDk4ZGQ1ZjdiLi5hYjU4Y2E2Y2QyYTc5YWUzZTllODMxZmY0NGI1ODczNDI4ZjRlMDM2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3Jr
Q2FjaGVLZXkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05l
dHdvcmtDYWNoZUtleS5jcHAKQEAgLTMwLDEyICszMCwxOSBAQAogCiAjaW5jbHVkZSAiTmV0d29y
a0NhY2hlQ29kZXJzLmgiCiAjaW5jbHVkZSA8d3RmL0FTQ0lJQ1R5cGUuaD4KKyNpbmNsdWRlIDx3
dGYvTmV2ZXJEZXN0cm95ZWQuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAjaW5j
bHVkZSA8d3RmL3RleHQvU3RyaW5nQnVpbGRlci5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIG5h
bWVzcGFjZSBOZXR3b3JrQ2FjaGUgewogCitzdGF0aWMgY29uc3QgU3RyaW5nJiBub1BhcnRpdGlv
blN0cmluZygpCit7CisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFN0cmluZz4gbm9QYXJ0aXRp
b24oQVNDSUlMaXRlcmFsKCJObyBwYXJ0aXRpb24iKSk7CisgICAgcmV0dXJuIG5vUGFydGl0aW9u
OworfQorCiBLZXk6OktleShjb25zdCBLZXkmIG8pCiAgICAgOiBtX3BhcnRpdGlvbihvLm1fcGFy
dGl0aW9uLmlzb2xhdGVkQ29weSgpKQogICAgICwgbV90eXBlKG8ubV90eXBlLmlzb2xhdGVkQ29w
eSgpKQpAQCAtNDYsNyArNTMsNyBAQCBLZXk6OktleShjb25zdCBLZXkmIG8pCiB9CiAKIEtleTo6
S2V5KGNvbnN0IFN0cmluZyYgcGFydGl0aW9uLCBjb25zdCBTdHJpbmcmIHR5cGUsIGNvbnN0IFN0
cmluZyYgcmFuZ2UsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllcikKLSAgICA6IG1fcGFydGl0aW9u
KHBhcnRpdGlvbi5pc29sYXRlZENvcHkoKSkKKyAgICA6IG1fcGFydGl0aW9uKHBhcnRpdGlvbi5p
c0VtcHR5KCkgPyBub1BhcnRpdGlvblN0cmluZygpLmlzb2xhdGVkQ29weSgpIDogcGFydGl0aW9u
Lmlzb2xhdGVkQ29weSgpKQogICAgICwgbV90eXBlKHR5cGUuaXNvbGF0ZWRDb3B5KCkpCiAgICAg
LCBtX2lkZW50aWZpZXIoaWRlbnRpZmllci5pc29sYXRlZENvcHkoKSkKICAgICAsIG1fcmFuZ2Uo
cmFuZ2UuaXNvbGF0ZWRDb3B5KCkpCkBAIC01OSw2ICs2NiwxMSBAQCBLZXk6OktleShXVEY6Okhh
c2hUYWJsZURlbGV0ZWRWYWx1ZVR5cGUpCiB7CiB9CiAKK2Jvb2wgS2V5OjpoYXNQYXJ0aXRpb24o
KSBjb25zdAoreworICAgIHJldHVybiBtX3BhcnRpdGlvbiAhPSBub1BhcnRpdGlvblN0cmluZygp
OworfQorCiBLZXkmIEtleTo6b3BlcmF0b3I9KGNvbnN0IEtleSYgb3RoZXIpCiB7CiAgICAgbV9w
YXJ0aXRpb24gPSBvdGhlci5tX3BhcnRpdGlvbi5pc29sYXRlZENvcHkoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZUtleS5oIGIv
U291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlS2V5LmgKaW5k
ZXggMTJhNzAwN2ZkMjFhZTM1NWExMjk2MTEzNDNhZDE4ZmExMWQxYmRjMy4uZDFmZjRkNzEwNTUw
YjdmNmU3N2E0MDQ3MDE5MDMwMzgwZjQwMzM1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
TmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlS2V5LmgKKysrIGIvU291cmNlL1dlYktp
dDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlS2V5LmgKQEAgLTU0LDYgKzU0LDcg
QEAgcHVibGljOgogCiAgICAgYm9vbCBpc051bGwoKSBjb25zdCB7IHJldHVybiBtX2lkZW50aWZp
ZXIuaXNOdWxsKCk7IH0KIAorICAgIGJvb2wgaGFzUGFydGl0aW9uKCkgY29uc3Q7CiAgICAgY29u
c3QgU3RyaW5nJiBwYXJ0aXRpb24oKSBjb25zdCB7IHJldHVybiBtX3BhcnRpdGlvbjsgfQogICAg
IGNvbnN0IFN0cmluZyYgaWRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIG1faWRlbnRpZmllcjsg
fQogICAgIGNvbnN0IFN0cmluZyYgdHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZTsgfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hl
U3BlY3VsYXRpdmVMb2FkLmNwcCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hl
L05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZC5jcHAKaW5kZXggZjZmNTk0MDMwMDQyZmVhZWZj
YzEwYmQ4YzRiYTc0NjQ0NWZjNmRlOS4uOWI5M2ZiNWE5MzY5YzRkNGFhYWRlYzgxNTk3MGJmZGY2
ODVhMjEzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUv
TmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3
b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWQuY3BwCkBAIC0xMzks
NiArMTM5LDEwIEBAIHZvaWQgU3BlY3VsYXRpdmVMb2FkOjpkaWRDb21wbGV0ZSgpCiAKICAgICBt
X25ldHdvcmtMb2FkID0gbnVsbHB0cjsKIAorICAgIC8vIE1ha2Ugc3VyZSBzcGVjdWxhdGl2ZWx5
IHJldmFsaWRhdGVkIHJlc291cmNlcyBkbyBub3QgZ2V0IHZhbGlkYXRlZCBieSB0aGUgTmV0d29y
a1Jlc291cmNlTG9hZGVyIGFnYWluLgorICAgIGlmIChtX2NhY2hlRW50cnlGb3JWYWxpZGF0aW9u
KQorICAgICAgICBtX2NhY2hlRW50cnlGb3JWYWxpZGF0aW9uLT5zZXROZWVkc1ZhbGlkYXRpb24o
ZmFsc2UpOworCiAgICAgbV9jb21wbGV0aW9uSGFuZGxlcihXVEZNb3ZlKG1fY2FjaGVFbnRyeUZv
clZhbGlkYXRpb24pKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1By
b2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkTWFuYWdlci5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxv
YWRNYW5hZ2VyLmNwcAppbmRleCAwMjc1OTExMDAzMjE2NTM4NTA2ZTI5Y2IzM2Q5MzBiZDAwYmYw
NzkxLi5mYWQyNTE1MDg3ZWU3NmQxOTc2ZWUxMWRkMjI2MWJjN2YyOTg1MDlkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxh
dGl2ZUxvYWRNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9j
YWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmNwcApAQCAtODcsNiArODcs
MTEgQEAgc3RhdGljIGlubGluZSBLZXkgbWFrZVN1YnJlc291cmNlc0tleShjb25zdCBLZXkmIHJl
c291cmNlS2V5KQogc3RhdGljIGlubGluZSBSZXNvdXJjZVJlcXVlc3QgY29uc3RydWN0UmV2YWxp
ZGF0aW9uUmVxdWVzdChjb25zdCBFbnRyeSYgZW50cnkpCiB7CiAgICAgUmVzb3VyY2VSZXF1ZXN0
IHJldmFsaWRhdGlvblJlcXVlc3QoZW50cnkua2V5KCkuaWRlbnRpZmllcigpKTsKKyNpZiBFTkFC
TEUoQ0FDSEVfUEFSVElUSU9OSU5HKQorICAgIGlmIChlbnRyeS5rZXkoKS5oYXNQYXJ0aXRpb24o
KSkKKyAgICAgICAgcmV2YWxpZGF0aW9uUmVxdWVzdC5zZXRDYWNoZVBhcnRpdGlvbihlbnRyeS5r
ZXkoKS5wYXJ0aXRpb24oKSk7CisjZW5kaWYKKyAgICBBU1NFUlRfV0lUSF9NRVNTQUdFKGVudHJ5
LmtleSgpLnJhbmdlKCkuaXNFbXB0eSgpLCAicmFuZ2UgaXMgbm90IHN1cHBvcnRlZCIpOwogCiAg
ICAgU3RyaW5nIGVUYWcgPSBlbnRyeS5yZXNwb25zZSgpLmh0dHBIZWFkZXJGaWVsZChIVFRQSGVh
ZGVyTmFtZTo6RVRhZyk7CiAgICAgaWYgKCFlVGFnLmlzRW1wdHkoKSkKQEAgLTM0NCw3ICszNDks
NyBAQCB2b2lkIFNwZWN1bGF0aXZlTG9hZE1hbmFnZXI6OnJldHJpZXZlRW50cnlGcm9tU3RvcmFn
ZShjb25zdCBLZXkmIGtleSwgY29uc3QgUmV0cgogICAgICAgICB9CiAKICAgICAgICAgaWYgKHJl
c3BvbnNlTmVlZHNSZXZhbGlkYXRpb24ocmVzcG9uc2UsIGVudHJ5LT50aW1lU3RhbXAoKSkpCi0g
ICAgICAgICAgICBlbnRyeS0+c2V0TmVlZHNWYWxpZGF0aW9uKCk7CisgICAgICAgICAgICBlbnRy
eS0+c2V0TmVlZHNWYWxpZGF0aW9uKHRydWUpOwogCiAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVy
KFdURk1vdmUoZW50cnkpKTsKICAgICAgICAgcmV0dXJuIHRydWU7CkBAIC0zNjksOSArMzc0LDE2
IEBAIHZvaWQgU3BlY3VsYXRpdmVMb2FkTWFuYWdlcjo6cmV2YWxpZGF0ZUVudHJ5KHN0ZDo6dW5p
cXVlX3B0cjxFbnRyeT4gZW50cnksIGNvbnN0CiAgICAgQVNTRVJUKGVudHJ5LT5uZWVkc1ZhbGlk
YXRpb24oKSk7CiAKICAgICBhdXRvIGtleSA9IGVudHJ5LT5rZXkoKTsKKworICAgIC8vIFJhbmdl
IGlzIG5vdCBzdXBwb3J0ZWQuCisgICAgaWYgKCFrZXkucmFuZ2UoKS5pc0VtcHR5KCkpCisgICAg
ICAgIHJldHVybjsKKwogICAgIExPRyhOZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZVByZWxvYWRpbmcs
ICIoTmV0d29ya1Byb2Nlc3MpIFNwZWN1bGF0aXZlbHkgcmV2YWxpZGF0aW5nICclcyc6Iiwga2V5
LmlkZW50aWZpZXIoKS51dGY4KCkuZGF0YSgpKTsKICAgICBhdXRvIHJldmFsaWRhdG9yID0gc3Rk
OjptYWtlX3VuaXF1ZTxTcGVjdWxhdGl2ZUxvYWQ+KGZyYW1lSUQsIGNvbnN0cnVjdFJldmFsaWRh
dGlvblJlcXVlc3QoKmVudHJ5KSwgV1RGTW92ZShlbnRyeSksIFt0aGlzLCBrZXksIGZyYW1lSURd
KHN0ZDo6dW5pcXVlX3B0cjxFbnRyeT4gcmV2YWxpZGF0ZWRFbnRyeSkgewogICAgICAgICBBU1NF
UlQoIXJldmFsaWRhdGVkRW50cnkgfHwgIXJldmFsaWRhdGVkRW50cnktPm5lZWRzVmFsaWRhdGlv
bigpKTsKKyAgICAgICAgQVNTRVJUKCFyZXZhbGlkYXRlZEVudHJ5IHx8IHJldmFsaWRhdGVkRW50
cnktPmtleSgpID09IGtleSk7CisKICAgICAgICAgYXV0byBwcm90ZWN0UmV2YWxpZGF0b3IgPSBt
X3BlbmRpbmdQcmVsb2Fkcy50YWtlKGtleSk7CiAgICAgICAgIExPRyhOZXR3b3JrQ2FjaGVTcGVj
dWxhdGl2ZVByZWxvYWRpbmcsICIoTmV0d29ya1Byb2Nlc3MpIFNwZWN1bGF0aXZlIHJldmFsaWRh
dGlvbiBjb21wbGV0ZWQgZm9yICclcyc6Iiwga2V5LmlkZW50aWZpZXIoKS51dGY4KCkuZGF0YSgp
KTsKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>