<?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>173972</bug_id>
          
          <creation_ts>2017-06-29 09:58:42 -0700</creation_ts>
          <short_desc>Avoid copying ResourceLoadStatistics objects</short_desc>
          <delta_ts>2017-06-29 16:07:54 -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>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>buildbot</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>ggaren</cc>
    
    <cc>japhet</cc>
    
    <cc>wilander</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1323968</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-06-29 09:58:42 -0700</bug_when>
    <thetext>Avoid copying ResourceLoadStatistics objects given that they are big. Make the type move-only to avoid such mistakes in the future.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1323970</commentid>
    <comment_count>1</comment_count>
      <attachid>314139</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-06-29 10:04:04 -0700</bug_when>
    <thetext>Created attachment 314139
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1323971</commentid>
    <comment_count>2</comment_count>
      <attachid>314139</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-06-29 10:05:38 -0700</bug_when>
    <thetext>Comment on attachment 314139
Patch

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

&gt; Source/WebCore/loader/ResourceLoadObserver.cpp:-155
&gt; -        auto targetStatistics = m_store-&gt;ensureResourceStatisticsForPrimaryDomain(targetPrimaryDomain);

Note that I stopped calling ensureResourceStatisticsForPrimaryDomain() here. Instead, I merely construct a ResourceLoadStatistics...

&gt; Source/WebCore/loader/ResourceLoadObserver.cpp:204
&gt; +            m_store-&gt;setResourceStatisticsForPrimaryDomain(targetPrimaryDomain, WTFMove(targetStatistics));

... which gets inserted here.

This avoids copying the statistics object and I don&apos;t think the call to ensureResourceStatisticsForPrimaryDomain() was really required here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1323976</commentid>
    <comment_count>3</comment_count>
      <attachid>314139</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2017-06-29 10:26:58 -0700</bug_when>
    <thetext>Comment on attachment 314139
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1323996</commentid>
    <comment_count>4</comment_count>
      <attachid>314139</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-06-29 10:58:33 -0700</bug_when>
    <thetext>Comment on attachment 314139
Patch

Clearing flags on attachment: 314139

Committed r218944: &lt;http://trac.webkit.org/changeset/218944&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1323997</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-06-29 10:58:35 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1324029</commentid>
    <comment_count>6</comment_count>
      <attachid>314139</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2017-06-29 11:59:13 -0700</bug_when>
    <thetext>Comment on attachment 314139
Patch

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

&gt;&gt; Source/WebCore/loader/ResourceLoadObserver.cpp:-155
&gt;&gt; -        auto targetStatistics = m_store-&gt;ensureResourceStatisticsForPrimaryDomain(targetPrimaryDomain);
&gt; 
&gt; Note that I stopped calling ensureResourceStatisticsForPrimaryDomain() here. Instead, I merely construct a ResourceLoadStatistics...

&apos;ensureResourceStatisticsForPrimaryDomain()&apos; only returned a new ResourceLoadStatistics if it didn&apos;t already exist.

I think your revised code prevents us from properly counting, because we never retrieve an existing ResourceLoadStatistic object for a domain so that we can update its counts.

Looks like we don&apos;t have a good test for that behavior!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1324040</commentid>
    <comment_count>7</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-06-29 12:24:56 -0700</bug_when>
    <thetext>Reverted r218944 for reason:

Optimization is incorrect

Committed r218955: &lt;http://trac.webkit.org/changeset/218955&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1324057</commentid>
    <comment_count>8</comment_count>
      <attachid>314154</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-06-29 12:53:06 -0700</bug_when>
    <thetext>Created attachment 314154
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1324122</commentid>
    <comment_count>9</comment_count>
      <attachid>314154</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2017-06-29 15:40:22 -0700</bug_when>
    <thetext>Comment on attachment 314154
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1324130</commentid>
    <comment_count>10</comment_count>
      <attachid>314154</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-06-29 16:07:52 -0700</bug_when>
    <thetext>Comment on attachment 314154
Patch

Clearing flags on attachment: 314154

Committed r218966: &lt;http://trac.webkit.org/changeset/218966&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1324131</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-06-29 16:07:54 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>314139</attachid>
            <date>2017-06-29 10:04:04 -0700</date>
            <delta_ts>2017-06-29 12:53:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-173972-20170629100404.patch</filename>
            <type>text/plain</type>
            <size>8107</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE4OTIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2ViNDVjZTA2N2ZhMjNl
NjdmNzNhY2M3ZTE1ZjUyMTZlZDk0ZjBhMS4uNjQxN2QwNzk1N2Y0ZmYzY2E5MTQyMWI3MGY5NmFk
ZjM4NjdlYWRkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE3LTA2LTI5ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQXZvaWQgY29weWluZyBSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzIG9iamVjdHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE3Mzk3MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEF2b2lkIGNvcHlpbmcgUmVzb3VyY2VMb2FkU3RhdGlzdGljcyBv
YmplY3RzIGdpdmVuIHRoYXQgdGhleSBhcmUgYmlnLiBNYWtlIHRoZSB0eXBlIG1vdmUtb25seQor
ICAgICAgICB0byBhdm9pZCBzdWNoIG1pc3Rha2VzIGluIHRoZSBmdXR1cmUuCisKKyAgICAgICAg
KiBsb2FkZXIvUmVzb3VyY2VMb2FkT2JzZXJ2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVz
b3VyY2VMb2FkT2JzZXJ2ZXI6OmxvZ0ZyYW1lTmF2aWdhdGlvbik6CisgICAgICAgICogbG9hZGVy
L1Jlc291cmNlTG9hZFN0YXRpc3RpY3MuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlTG9h
ZFN0YXRpc3RpY3M6OlJlc291cmNlTG9hZFN0YXRpc3RpY3MpOgorCiAyMDE3LTA2LTI4ICBGcmVk
ZXJpYyBXYW5nICA8ZndhbmdAaWdhbGlhLmNvbT4KIAogICAgICAgICBBbGlnbiBEb2N1bWVudDo6
Y2FuTmF2aWdhdGUgb24gdGhlIEhUTTUgc3BlY2lmaWNhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZE9ic2VydmVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9SZXNvdXJjZUxvYWRPYnNlcnZlci5jcHAKaW5kZXggNjMwMjkwOGUyYmUwZmNmMjQ1
NWU5ZjYwMWZhYzY1NWQ2Zjc2YzZkMS4uYmFlZjQ2MTJlZGEzMzdhMmFmYmIxNTA1M2NmNzRhYTJl
N2MwZDdhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZE9i
c2VydmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkT2JzZXJ2
ZXIuY3BwCkBAIC0xNTAsNTkgKzE1MCw1OCBAQCB2b2lkIFJlc291cmNlTG9hZE9ic2VydmVyOjps
b2dGcmFtZU5hdmlnYXRpb24oY29uc3QgRnJhbWUmIGZyYW1lLCBjb25zdCBGcmFtZSYgdAogICAg
ICAgICBib29sIHNob3VsZEZpcmVEYXRhTW9kaWZpY2F0aW9uSGFuZGxlciA9IGZhbHNlOwogICAg
ICAgICAKICAgICAgICAgewotICAgICAgICBhdXRvIGxvY2tlciA9IGhvbGRMb2NrKG1fc3RvcmUt
PnN0YXRpc3RpY3NMb2NrKCkpOwotICAgICAgICAvLyBXZSBtdXN0IG1ha2UgYSBjb3B5IGhlcmUs
IGJlY2F1c2UgbGF0ZXIgY2FsbHMgdG8gJ2Vuc3VyZVJlc291cmNlU3RhdGlzdGljc0ZvclByaW1h
cnlEb21haW4nIHdpbGwgaW52YWxpZGF0ZSB0aGUgcmV0dXJuZWQgcmVmZXJlbmNlOgotICAgICAg
ICBhdXRvIHRhcmdldFN0YXRpc3RpY3MgPSBtX3N0b3JlLT5lbnN1cmVSZXNvdXJjZVN0YXRpc3Rp
Y3NGb3JQcmltYXJ5RG9tYWluKHRhcmdldFByaW1hcnlEb21haW4pOworICAgICAgICAgICAgYXV0
byBsb2NrZXIgPSBob2xkTG9jayhtX3N0b3JlLT5zdGF0aXN0aWNzTG9jaygpKTsKKyAgICAgICAg
ICAgIFJlc291cmNlTG9hZFN0YXRpc3RpY3MgdGFyZ2V0U3RhdGlzdGljcyh0YXJnZXRQcmltYXJ5
RG9tYWluKTsKIAotICAgICAgICAvLyBBbHdheXMgZmlyZSBpZiB3ZSBoYXZlIHByZXZpb3VzbHkg
cmVtb3ZlZCBkYXRhIHJlY29yZHMgZm9yIHRoaXMgZG9tYWluCi0gICAgICAgIHNob3VsZEZpcmVE
YXRhTW9kaWZpY2F0aW9uSGFuZGxlciA9IHRhcmdldFN0YXRpc3RpY3MuZGF0YVJlY29yZHNSZW1v
dmVkID4gMDsKKyAgICAgICAgICAgIC8vIEFsd2F5cyBmaXJlIGlmIHdlIGhhdmUgcHJldmlvdXNs
eSByZW1vdmVkIGRhdGEgcmVjb3JkcyBmb3IgdGhpcyBkb21haW4KKyAgICAgICAgICAgIHNob3Vs
ZEZpcmVEYXRhTW9kaWZpY2F0aW9uSGFuZGxlciA9IHRhcmdldFN0YXRpc3RpY3MuZGF0YVJlY29y
ZHNSZW1vdmVkID4gMDsKIAotICAgICAgICBpZiAoaXNNYWluRnJhbWUpCi0gICAgICAgICAgICB0
YXJnZXRTdGF0aXN0aWNzLnRvcEZyYW1lSGFzQmVlbk5hdmlnYXRlZFRvQmVmb3JlID0gdHJ1ZTsK
LSAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICB0YXJnZXRTdGF0aXN0aWNzLnN1YmZyYW1lSGFz
QmVlbkxvYWRlZEJlZm9yZSA9IHRydWU7CisgICAgICAgICAgICBpZiAoaXNNYWluRnJhbWUpCisg
ICAgICAgICAgICAgICAgdGFyZ2V0U3RhdGlzdGljcy50b3BGcmFtZUhhc0JlZW5OYXZpZ2F0ZWRU
b0JlZm9yZSA9IHRydWU7CisgICAgICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgICAgICB0YXJn
ZXRTdGF0aXN0aWNzLnN1YmZyYW1lSGFzQmVlbkxvYWRlZEJlZm9yZSA9IHRydWU7CiAKLSAgICAg
ICAgICAgIGF1dG8gc3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luc1Jlc3VsdCA9IHRhcmdldFN0
YXRpc3RpY3Muc3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2lucy5hZGQobWFpbkZyYW1lUHJpbWFy
eURvbWFpbik7Ci0gICAgICAgICAgICBpZiAoc3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luc1Jl
c3VsdC5pc05ld0VudHJ5KQotICAgICAgICAgICAgICAgIHNob3VsZEZpcmVEYXRhTW9kaWZpY2F0
aW9uSGFuZGxlciA9IHRydWU7Ci0gICAgICAgIH0KLSAgICAgICAgCi0gICAgICAgIGlmIChpc1Jl
ZGlyZWN0KSB7Ci0gICAgICAgICAgICBhdXRvJiByZWRpcmVjdGluZ09yaWdpblJlc291cmNlU3Rh
dGlzdGljcyA9IG1fc3RvcmUtPmVuc3VyZVJlc291cmNlU3RhdGlzdGljc0ZvclByaW1hcnlEb21h
aW4oc291cmNlUHJpbWFyeURvbWFpbik7Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIGlmICht
X3N0b3JlLT5pc1ByZXZhbGVudFJlc291cmNlKHRhcmdldFByaW1hcnlEb21haW4pKQotICAgICAg
ICAgICAgICAgIHJlZGlyZWN0aW5nT3JpZ2luUmVzb3VyY2VTdGF0aXN0aWNzLnJlZGlyZWN0ZWRU
b090aGVyUHJldmFsZW50UmVzb3VyY2VPcmlnaW5zLmFkZCh0YXJnZXRQcmltYXJ5RG9tYWluKTsK
LSAgICAgICAgICAgIAotICAgICAgICAgICAgaWYgKGlzTWFpbkZyYW1lKSB7Ci0gICAgICAgICAg
ICAgICAgKyt0YXJnZXRTdGF0aXN0aWNzLnRvcEZyYW1lSGFzQmVlblJlZGlyZWN0ZWRUbzsKLSAg
ICAgICAgICAgICAgICArK3JlZGlyZWN0aW5nT3JpZ2luUmVzb3VyY2VTdGF0aXN0aWNzLnRvcEZy
YW1lSGFzQmVlblJlZGlyZWN0ZWRGcm9tOwotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAg
ICAgICAgICArK3RhcmdldFN0YXRpc3RpY3Muc3ViZnJhbWVIYXNCZWVuUmVkaXJlY3RlZFRvOwot
ICAgICAgICAgICAgICAgICsrcmVkaXJlY3RpbmdPcmlnaW5SZXNvdXJjZVN0YXRpc3RpY3Muc3Vi
ZnJhbWVIYXNCZWVuUmVkaXJlY3RlZEZyb207Ci0gICAgICAgICAgICAgICAgcmVkaXJlY3RpbmdP
cmlnaW5SZXNvdXJjZVN0YXRpc3RpY3Muc3ViZnJhbWVVbmlxdWVSZWRpcmVjdHNUby5hZGQodGFy
Z2V0UHJpbWFyeURvbWFpbik7Ci0gICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgKyt0
YXJnZXRTdGF0aXN0aWNzLnN1YmZyYW1lU3ViUmVzb3VyY2VDb3VudDsKKyAgICAgICAgICAgICAg
ICBhdXRvIHN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbnNSZXN1bHQgPSB0YXJnZXRTdGF0aXN0
aWNzLnN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbnMuYWRkKG1haW5GcmFtZVByaW1hcnlEb21h
aW4pOworICAgICAgICAgICAgICAgIGlmIChzdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW5zUmVz
dWx0LmlzTmV3RW50cnkpCisgICAgICAgICAgICAgICAgICAgIHNob3VsZEZpcmVEYXRhTW9kaWZp
Y2F0aW9uSGFuZGxlciA9IHRydWU7CiAgICAgICAgICAgICB9Ci0gICAgICAgIH0gZWxzZSB7Ci0g
ICAgICAgICAgICBpZiAoc291cmNlUHJpbWFyeURvbWFpbi5pc051bGwoKSB8fCBzb3VyY2VQcmlt
YXJ5RG9tYWluLmlzRW1wdHkoKSB8fCBzb3VyY2VQcmltYXJ5RG9tYWluID09ICJudWxsT3JpZ2lu
IikgewotICAgICAgICAgICAgICAgIGlmIChpc01haW5GcmFtZSkKLSAgICAgICAgICAgICAgICAg
ICAgKyt0YXJnZXRTdGF0aXN0aWNzLnRvcEZyYW1lSW5pdGlhbExvYWRDb3VudDsKLSAgICAgICAg
ICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgICsrdGFyZ2V0U3RhdGlzdGljcy5zdWJm
cmFtZVN1YlJlc291cmNlQ291bnQ7Ci0gICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAg
ICAgIGF1dG8mIHNvdXJjZU9yaWdpblJlc291cmNlU3RhdGlzdGljcyA9IG1fc3RvcmUtPmVuc3Vy
ZVJlc291cmNlU3RhdGlzdGljc0ZvclByaW1hcnlEb21haW4oc291cmNlUHJpbWFyeURvbWFpbik7
CisKKyAgICAgICAgICAgIGlmIChpc1JlZGlyZWN0KSB7CisgICAgICAgICAgICAgICAgYXV0byYg
cmVkaXJlY3RpbmdPcmlnaW5SZXNvdXJjZVN0YXRpc3RpY3MgPSBtX3N0b3JlLT5lbnN1cmVSZXNv
dXJjZVN0YXRpc3RpY3NGb3JQcmltYXJ5RG9tYWluKHNvdXJjZVByaW1hcnlEb21haW4pOworCisg
ICAgICAgICAgICAgICAgaWYgKG1fc3RvcmUtPmlzUHJldmFsZW50UmVzb3VyY2UodGFyZ2V0UHJp
bWFyeURvbWFpbikpCisgICAgICAgICAgICAgICAgICAgIHJlZGlyZWN0aW5nT3JpZ2luUmVzb3Vy
Y2VTdGF0aXN0aWNzLnJlZGlyZWN0ZWRUb090aGVyUHJldmFsZW50UmVzb3VyY2VPcmlnaW5zLmFk
ZCh0YXJnZXRQcmltYXJ5RG9tYWluKTsKIAogICAgICAgICAgICAgICAgIGlmIChpc01haW5GcmFt
ZSkgewotICAgICAgICAgICAgICAgICAgICArK3NvdXJjZU9yaWdpblJlc291cmNlU3RhdGlzdGlj
cy50b3BGcmFtZUhhc0JlZW5OYXZpZ2F0ZWRGcm9tOwotICAgICAgICAgICAgICAgICAgICArK3Rh
cmdldFN0YXRpc3RpY3MudG9wRnJhbWVIYXNCZWVuTmF2aWdhdGVkVG87CisgICAgICAgICAgICAg
ICAgICAgICsrdGFyZ2V0U3RhdGlzdGljcy50b3BGcmFtZUhhc0JlZW5SZWRpcmVjdGVkVG87Cisg
ICAgICAgICAgICAgICAgICAgICsrcmVkaXJlY3RpbmdPcmlnaW5SZXNvdXJjZVN0YXRpc3RpY3Mu
dG9wRnJhbWVIYXNCZWVuUmVkaXJlY3RlZEZyb207CisgICAgICAgICAgICAgICAgfSBlbHNlIHsK
KyAgICAgICAgICAgICAgICAgICAgKyt0YXJnZXRTdGF0aXN0aWNzLnN1YmZyYW1lSGFzQmVlblJl
ZGlyZWN0ZWRUbzsKKyAgICAgICAgICAgICAgICAgICAgKytyZWRpcmVjdGluZ09yaWdpblJlc291
cmNlU3RhdGlzdGljcy5zdWJmcmFtZUhhc0JlZW5SZWRpcmVjdGVkRnJvbTsKKyAgICAgICAgICAg
ICAgICAgICAgcmVkaXJlY3RpbmdPcmlnaW5SZXNvdXJjZVN0YXRpc3RpY3Muc3ViZnJhbWVVbmlx
dWVSZWRpcmVjdHNUby5hZGQodGFyZ2V0UHJpbWFyeURvbWFpbik7CisKKyAgICAgICAgICAgICAg
ICAgICAgKyt0YXJnZXRTdGF0aXN0aWNzLnN1YmZyYW1lU3ViUmVzb3VyY2VDb3VudDsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIGlmIChz
b3VyY2VQcmltYXJ5RG9tYWluLmlzTnVsbCgpIHx8IHNvdXJjZVByaW1hcnlEb21haW4uaXNFbXB0
eSgpIHx8IHNvdXJjZVByaW1hcnlEb21haW4gPT0gIm51bGxPcmlnaW4iKSB7CisgICAgICAgICAg
ICAgICAgICAgIGlmIChpc01haW5GcmFtZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICsrdGFy
Z2V0U3RhdGlzdGljcy50b3BGcmFtZUluaXRpYWxMb2FkQ291bnQ7CisgICAgICAgICAgICAgICAg
ICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgICAgICsrdGFyZ2V0U3RhdGlzdGljcy5zdWJm
cmFtZVN1YlJlc291cmNlQ291bnQ7CiAgICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAg
ICAgICAgICAgICAgKytzb3VyY2VPcmlnaW5SZXNvdXJjZVN0YXRpc3RpY3Muc3ViZnJhbWVIYXNC
ZWVuTmF2aWdhdGVkRnJvbTsKLSAgICAgICAgICAgICAgICAgICAgKyt0YXJnZXRTdGF0aXN0aWNz
LnN1YmZyYW1lSGFzQmVlbk5hdmlnYXRlZFRvOworICAgICAgICAgICAgICAgICAgICBhdXRvJiBz
b3VyY2VPcmlnaW5SZXNvdXJjZVN0YXRpc3RpY3MgPSBtX3N0b3JlLT5lbnN1cmVSZXNvdXJjZVN0
YXRpc3RpY3NGb3JQcmltYXJ5RG9tYWluKHNvdXJjZVByaW1hcnlEb21haW4pOworCisgICAgICAg
ICAgICAgICAgICAgIGlmIChpc01haW5GcmFtZSkgeworICAgICAgICAgICAgICAgICAgICAgICAg
Kytzb3VyY2VPcmlnaW5SZXNvdXJjZVN0YXRpc3RpY3MudG9wRnJhbWVIYXNCZWVuTmF2aWdhdGVk
RnJvbTsKKyAgICAgICAgICAgICAgICAgICAgICAgICsrdGFyZ2V0U3RhdGlzdGljcy50b3BGcmFt
ZUhhc0JlZW5OYXZpZ2F0ZWRUbzsKKyAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICsrc291cmNlT3JpZ2luUmVzb3VyY2VTdGF0aXN0aWNzLnN1YmZy
YW1lSGFzQmVlbk5hdmlnYXRlZEZyb207CisgICAgICAgICAgICAgICAgICAgICAgICArK3Rhcmdl
dFN0YXRpc3RpY3Muc3ViZnJhbWVIYXNCZWVuTmF2aWdhdGVkVG87CisgICAgICAgICAgICAgICAg
ICAgIH0KICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICAg
ICAgICAgIAotICAgICAgICBtX3N0b3JlLT5zZXRSZXNvdXJjZVN0YXRpc3RpY3NGb3JQcmltYXJ5
RG9tYWluKHRhcmdldFByaW1hcnlEb21haW4sIFdURk1vdmUodGFyZ2V0U3RhdGlzdGljcykpOwor
CisgICAgICAgICAgICBtX3N0b3JlLT5zZXRSZXNvdXJjZVN0YXRpc3RpY3NGb3JQcmltYXJ5RG9t
YWluKHRhcmdldFByaW1hcnlEb21haW4sIFdURk1vdmUodGFyZ2V0U3RhdGlzdGljcykpOwogICAg
ICAgICB9IC8vIFJlbGVhc2UgbG9jawogICAgICAgICAKICAgICAgICAgaWYgKHNob3VsZEZpcmVE
YXRhTW9kaWZpY2F0aW9uSGFuZGxlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy5oCmluZGV4IGM0ODc1NzUxMTA2MjY1NGVjNzM5OGZiNjg2MWY1YWY5
NjEzMGQzNTQuLmYxYTY5MWQ0YzMwNTA0ODI3MmU0NGYxOGY0MWRkODFjM2I1OWI2MzEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3MuaApAQCAtMzYs
MTMgKzM2LDE4IEBAIGNsYXNzIEtleWVkRGVjb2RlcjsKIGNsYXNzIEtleWVkRW5jb2RlcjsKIAog
c3RydWN0IFJlc291cmNlTG9hZFN0YXRpc3RpY3MgewotICAgIFJlc291cmNlTG9hZFN0YXRpc3Rp
Y3MoY29uc3QgU3RyaW5nJiBwcmltYXJ5RG9tYWluKQorICAgIGV4cGxpY2l0IFJlc291cmNlTG9h
ZFN0YXRpc3RpY3MoY29uc3QgU3RyaW5nJiBwcmltYXJ5RG9tYWluKQogICAgICAgICA6IGhpZ2hM
ZXZlbERvbWFpbihwcmltYXJ5RG9tYWluKQogICAgIHsKICAgICB9CiAKICAgICBSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzKCkgPSBkZWZhdWx0OwogCisgICAgUmVzb3VyY2VMb2FkU3RhdGlzdGljcyhj
b25zdCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzJikgPSBkZWxldGU7CisgICAgUmVzb3VyY2VMb2Fk
U3RhdGlzdGljcyYgb3BlcmF0b3I9KGNvbnN0IFJlc291cmNlTG9hZFN0YXRpc3RpY3MmKSA9IGRl
bGV0ZTsKKyAgICBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzKFJlc291cmNlTG9hZFN0YXRpc3RpY3Mm
JikgPSBkZWZhdWx0OworICAgIFJlc291cmNlTG9hZFN0YXRpc3RpY3MmIG9wZXJhdG9yPShSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzJiYpID0gZGVmYXVsdDsKKwogICAgIHZvaWQgZW5jb2RlKEtleWVk
RW5jb2RlciYpIGNvbnN0OwogICAgIGJvb2wgZGVjb2RlKEtleWVkRGVjb2RlciYsIHVuc2lnbmVk
IHZlcnNpb24pOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>314154</attachid>
            <date>2017-06-29 12:53:06 -0700</date>
            <delta_ts>2017-06-29 16:07:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-173972-20170629125305.patch</filename>
            <type>text/plain</type>
            <size>9955</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE4OTU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWQwNmFiMGQ1Y2M1MGJh
N2ExYTE2YTUzZTQ2ZmVjY2FkM2UyOWU1MS4uNDgxYjdiY2M0ZmI1MWM4YWJhMzJiOWIzOThmNmM3
NDQxNjIxOTlkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIwIEBACiAyMDE3LTA2LTI5ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKKyAgICAgICAgQXZvaWQgY29weWluZyBSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzIG9iamVjdHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE3Mzk3MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEF2b2lkIGNvcHlpbmcgUmVzb3VyY2VMb2FkU3RhdGlzdGljcyBv
YmplY3RzIGdpdmVuIHRoYXQgdGhleSBhcmUgYmlnLiBNYWtlIHRoZSB0eXBlIG1vdmUtb25seQor
ICAgICAgICB0byBhdm9pZCBzdWNoIG1pc3Rha2VzIGluIHRoZSBmdXR1cmUuCisKKyAgICAgICAg
KiBsb2FkZXIvUmVzb3VyY2VMb2FkT2JzZXJ2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVz
b3VyY2VMb2FkT2JzZXJ2ZXI6OmxvZ0ZyYW1lTmF2aWdhdGlvbik6CisgICAgICAgICogbG9hZGVy
L1Jlc291cmNlTG9hZFN0YXRpc3RpY3MuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlTG9h
ZFN0YXRpc3RpY3M6OlJlc291cmNlTG9hZFN0YXRpc3RpY3MpOgorCisyMDE3LTA2LTI5ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGlu
ZyBvdXQgcjIxODk0NC4KIAogICAgICAgICBPcHRpbWl6YXRpb24gaXMgaW5jb3JyZWN0CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkT2JzZXJ2ZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZE9ic2VydmVyLmNwcAppbmRleCA0ZjVh
N2IzN2UyNGM1MDM4NjRkODFlNTQ5MmE4MDliYjZmNjFjZWM0Li5kYzQxNDQ5YTc2NDRkZDZiMWYx
NTYxNDliMmJjNTUxOWIxMWMwOWI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
UmVzb3VyY2VMb2FkT2JzZXJ2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNv
dXJjZUxvYWRPYnNlcnZlci5jcHAKQEAgLTE0OSw1OSArMTQ5LDU4IEBAIHZvaWQgUmVzb3VyY2VM
b2FkT2JzZXJ2ZXI6OmxvZ0ZyYW1lTmF2aWdhdGlvbihjb25zdCBGcmFtZSYgZnJhbWUsIGNvbnN0
IEZyYW1lJiB0CiAgICAgICAgIGJvb2wgc2hvdWxkRmlyZURhdGFNb2RpZmljYXRpb25IYW5kbGVy
ID0gZmFsc2U7CiAgICAgICAgIAogICAgICAgICB7Ci0gICAgICAgIGF1dG8gbG9ja2VyID0gaG9s
ZExvY2sobV9zdG9yZS0+c3RhdGlzdGljc0xvY2soKSk7Ci0gICAgICAgIC8vIFdlIG11c3QgbWFr
ZSBhIGNvcHkgaGVyZSwgYmVjYXVzZSBsYXRlciBjYWxscyB0byAnZW5zdXJlUmVzb3VyY2VTdGF0
aXN0aWNzRm9yUHJpbWFyeURvbWFpbicgd2lsbCBpbnZhbGlkYXRlIHRoZSByZXR1cm5lZCByZWZl
cmVuY2U6Ci0gICAgICAgIGF1dG8gdGFyZ2V0U3RhdGlzdGljcyA9IG1fc3RvcmUtPmVuc3VyZVJl
c291cmNlU3RhdGlzdGljc0ZvclByaW1hcnlEb21haW4odGFyZ2V0UHJpbWFyeURvbWFpbik7Cisg
ICAgICAgICAgICBhdXRvIGxvY2tlciA9IGhvbGRMb2NrKG1fc3RvcmUtPnN0YXRpc3RpY3NMb2Nr
KCkpOworICAgICAgICAgICAgYXV0byB0YXJnZXRTdGF0aXN0aWNzID0gbV9zdG9yZS0+dGFrZVJl
c291cmNlU3RhdGlzdGljc0ZvclByaW1hcnlEb21haW4odGFyZ2V0UHJpbWFyeURvbWFpbik7CiAK
LSAgICAgICAgLy8gQWx3YXlzIGZpcmUgaWYgd2UgaGF2ZSBwcmV2aW91c2x5IHJlbW92ZWQgZGF0
YSByZWNvcmRzIGZvciB0aGlzIGRvbWFpbgotICAgICAgICBzaG91bGRGaXJlRGF0YU1vZGlmaWNh
dGlvbkhhbmRsZXIgPSB0YXJnZXRTdGF0aXN0aWNzLmRhdGFSZWNvcmRzUmVtb3ZlZCA+IDA7Cisg
ICAgICAgICAgICAvLyBBbHdheXMgZmlyZSBpZiB3ZSBoYXZlIHByZXZpb3VzbHkgcmVtb3ZlZCBk
YXRhIHJlY29yZHMgZm9yIHRoaXMgZG9tYWluCisgICAgICAgICAgICBzaG91bGRGaXJlRGF0YU1v
ZGlmaWNhdGlvbkhhbmRsZXIgPSB0YXJnZXRTdGF0aXN0aWNzLmRhdGFSZWNvcmRzUmVtb3ZlZCA+
IDA7CiAKLSAgICAgICAgaWYgKGlzTWFpbkZyYW1lKQotICAgICAgICAgICAgdGFyZ2V0U3RhdGlz
dGljcy50b3BGcmFtZUhhc0JlZW5OYXZpZ2F0ZWRUb0JlZm9yZSA9IHRydWU7Ci0gICAgICAgIGVs
c2UgewotICAgICAgICAgICAgdGFyZ2V0U3RhdGlzdGljcy5zdWJmcmFtZUhhc0JlZW5Mb2FkZWRC
ZWZvcmUgPSB0cnVlOworICAgICAgICAgICAgaWYgKGlzTWFpbkZyYW1lKQorICAgICAgICAgICAg
ICAgIHRhcmdldFN0YXRpc3RpY3MudG9wRnJhbWVIYXNCZWVuTmF2aWdhdGVkVG9CZWZvcmUgPSB0
cnVlOworICAgICAgICAgICAgZWxzZSB7CisgICAgICAgICAgICAgICAgdGFyZ2V0U3RhdGlzdGlj
cy5zdWJmcmFtZUhhc0JlZW5Mb2FkZWRCZWZvcmUgPSB0cnVlOwogCi0gICAgICAgICAgICBhdXRv
IHN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbnNSZXN1bHQgPSB0YXJnZXRTdGF0aXN0aWNzLnN1
YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbnMuYWRkKG1haW5GcmFtZVByaW1hcnlEb21haW4pOwot
ICAgICAgICAgICAgaWYgKHN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbnNSZXN1bHQuaXNOZXdF
bnRyeSkKLSAgICAgICAgICAgICAgICBzaG91bGRGaXJlRGF0YU1vZGlmaWNhdGlvbkhhbmRsZXIg
PSB0cnVlOwotICAgICAgICB9Ci0gICAgICAgIAotICAgICAgICBpZiAoaXNSZWRpcmVjdCkgewot
ICAgICAgICAgICAgYXV0byYgcmVkaXJlY3RpbmdPcmlnaW5SZXNvdXJjZVN0YXRpc3RpY3MgPSBt
X3N0b3JlLT5lbnN1cmVSZXNvdXJjZVN0YXRpc3RpY3NGb3JQcmltYXJ5RG9tYWluKHNvdXJjZVBy
aW1hcnlEb21haW4pOwotICAgICAgICAgICAgCi0gICAgICAgICAgICBpZiAobV9zdG9yZS0+aXNQ
cmV2YWxlbnRSZXNvdXJjZSh0YXJnZXRQcmltYXJ5RG9tYWluKSkKLSAgICAgICAgICAgICAgICBy
ZWRpcmVjdGluZ09yaWdpblJlc291cmNlU3RhdGlzdGljcy5yZWRpcmVjdGVkVG9PdGhlclByZXZh
bGVudFJlc291cmNlT3JpZ2lucy5hZGQodGFyZ2V0UHJpbWFyeURvbWFpbik7Ci0gICAgICAgICAg
ICAKLSAgICAgICAgICAgIGlmIChpc01haW5GcmFtZSkgewotICAgICAgICAgICAgICAgICsrdGFy
Z2V0U3RhdGlzdGljcy50b3BGcmFtZUhhc0JlZW5SZWRpcmVjdGVkVG87Ci0gICAgICAgICAgICAg
ICAgKytyZWRpcmVjdGluZ09yaWdpblJlc291cmNlU3RhdGlzdGljcy50b3BGcmFtZUhhc0JlZW5S
ZWRpcmVjdGVkRnJvbTsKLSAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgKyt0
YXJnZXRTdGF0aXN0aWNzLnN1YmZyYW1lSGFzQmVlblJlZGlyZWN0ZWRUbzsKLSAgICAgICAgICAg
ICAgICArK3JlZGlyZWN0aW5nT3JpZ2luUmVzb3VyY2VTdGF0aXN0aWNzLnN1YmZyYW1lSGFzQmVl
blJlZGlyZWN0ZWRGcm9tOwotICAgICAgICAgICAgICAgIHJlZGlyZWN0aW5nT3JpZ2luUmVzb3Vy
Y2VTdGF0aXN0aWNzLnN1YmZyYW1lVW5pcXVlUmVkaXJlY3RzVG8uYWRkKHRhcmdldFByaW1hcnlE
b21haW4pOwotICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgICsrdGFyZ2V0U3RhdGlz
dGljcy5zdWJmcmFtZVN1YlJlc291cmNlQ291bnQ7CisgICAgICAgICAgICAgICAgYXV0byBzdWJm
cmFtZVVuZGVyVG9wRnJhbWVPcmlnaW5zUmVzdWx0ID0gdGFyZ2V0U3RhdGlzdGljcy5zdWJmcmFt
ZVVuZGVyVG9wRnJhbWVPcmlnaW5zLmFkZChtYWluRnJhbWVQcmltYXJ5RG9tYWluKTsKKyAgICAg
ICAgICAgICAgICBpZiAoc3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luc1Jlc3VsdC5pc05ld0Vu
dHJ5KQorICAgICAgICAgICAgICAgICAgICBzaG91bGRGaXJlRGF0YU1vZGlmaWNhdGlvbkhhbmRs
ZXIgPSB0cnVlOwogICAgICAgICAgICAgfQotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAg
aWYgKHNvdXJjZVByaW1hcnlEb21haW4uaXNOdWxsKCkgfHwgc291cmNlUHJpbWFyeURvbWFpbi5p
c0VtcHR5KCkgfHwgc291cmNlUHJpbWFyeURvbWFpbiA9PSAibnVsbE9yaWdpbiIpIHsKLSAgICAg
ICAgICAgICAgICBpZiAoaXNNYWluRnJhbWUpCi0gICAgICAgICAgICAgICAgICAgICsrdGFyZ2V0
U3RhdGlzdGljcy50b3BGcmFtZUluaXRpYWxMb2FkQ291bnQ7Ci0gICAgICAgICAgICAgICAgZWxz
ZQotICAgICAgICAgICAgICAgICAgICArK3RhcmdldFN0YXRpc3RpY3Muc3ViZnJhbWVTdWJSZXNv
dXJjZUNvdW50OwotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICBhdXRvJiBz
b3VyY2VPcmlnaW5SZXNvdXJjZVN0YXRpc3RpY3MgPSBtX3N0b3JlLT5lbnN1cmVSZXNvdXJjZVN0
YXRpc3RpY3NGb3JQcmltYXJ5RG9tYWluKHNvdXJjZVByaW1hcnlEb21haW4pOworCisgICAgICAg
ICAgICBpZiAoaXNSZWRpcmVjdCkgeworICAgICAgICAgICAgICAgIGF1dG8mIHJlZGlyZWN0aW5n
T3JpZ2luUmVzb3VyY2VTdGF0aXN0aWNzID0gbV9zdG9yZS0+ZW5zdXJlUmVzb3VyY2VTdGF0aXN0
aWNzRm9yUHJpbWFyeURvbWFpbihzb3VyY2VQcmltYXJ5RG9tYWluKTsKKworICAgICAgICAgICAg
ICAgIGlmIChtX3N0b3JlLT5pc1ByZXZhbGVudFJlc291cmNlKHRhcmdldFByaW1hcnlEb21haW4p
KQorICAgICAgICAgICAgICAgICAgICByZWRpcmVjdGluZ09yaWdpblJlc291cmNlU3RhdGlzdGlj
cy5yZWRpcmVjdGVkVG9PdGhlclByZXZhbGVudFJlc291cmNlT3JpZ2lucy5hZGQodGFyZ2V0UHJp
bWFyeURvbWFpbik7CiAKICAgICAgICAgICAgICAgICBpZiAoaXNNYWluRnJhbWUpIHsKLSAgICAg
ICAgICAgICAgICAgICAgKytzb3VyY2VPcmlnaW5SZXNvdXJjZVN0YXRpc3RpY3MudG9wRnJhbWVI
YXNCZWVuTmF2aWdhdGVkRnJvbTsKLSAgICAgICAgICAgICAgICAgICAgKyt0YXJnZXRTdGF0aXN0
aWNzLnRvcEZyYW1lSGFzQmVlbk5hdmlnYXRlZFRvOworICAgICAgICAgICAgICAgICAgICArK3Rh
cmdldFN0YXRpc3RpY3MudG9wRnJhbWVIYXNCZWVuUmVkaXJlY3RlZFRvOworICAgICAgICAgICAg
ICAgICAgICArK3JlZGlyZWN0aW5nT3JpZ2luUmVzb3VyY2VTdGF0aXN0aWNzLnRvcEZyYW1lSGFz
QmVlblJlZGlyZWN0ZWRGcm9tOworICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAg
ICAgICAgICAgICsrdGFyZ2V0U3RhdGlzdGljcy5zdWJmcmFtZUhhc0JlZW5SZWRpcmVjdGVkVG87
CisgICAgICAgICAgICAgICAgICAgICsrcmVkaXJlY3RpbmdPcmlnaW5SZXNvdXJjZVN0YXRpc3Rp
Y3Muc3ViZnJhbWVIYXNCZWVuUmVkaXJlY3RlZEZyb207CisgICAgICAgICAgICAgICAgICAgIHJl
ZGlyZWN0aW5nT3JpZ2luUmVzb3VyY2VTdGF0aXN0aWNzLnN1YmZyYW1lVW5pcXVlUmVkaXJlY3Rz
VG8uYWRkKHRhcmdldFByaW1hcnlEb21haW4pOworCisgICAgICAgICAgICAgICAgICAgICsrdGFy
Z2V0U3RhdGlzdGljcy5zdWJmcmFtZVN1YlJlc291cmNlQ291bnQ7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBpZiAoc291cmNlUHJpbWFy
eURvbWFpbi5pc051bGwoKSB8fCBzb3VyY2VQcmltYXJ5RG9tYWluLmlzRW1wdHkoKSB8fCBzb3Vy
Y2VQcmltYXJ5RG9tYWluID09ICJudWxsT3JpZ2luIikgeworICAgICAgICAgICAgICAgICAgICBp
ZiAoaXNNYWluRnJhbWUpCisgICAgICAgICAgICAgICAgICAgICAgICArK3RhcmdldFN0YXRpc3Rp
Y3MudG9wRnJhbWVJbml0aWFsTG9hZENvdW50OworICAgICAgICAgICAgICAgICAgICBlbHNlCisg
ICAgICAgICAgICAgICAgICAgICAgICArK3RhcmdldFN0YXRpc3RpY3Muc3ViZnJhbWVTdWJSZXNv
dXJjZUNvdW50OwogICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAg
ICsrc291cmNlT3JpZ2luUmVzb3VyY2VTdGF0aXN0aWNzLnN1YmZyYW1lSGFzQmVlbk5hdmlnYXRl
ZEZyb207Ci0gICAgICAgICAgICAgICAgICAgICsrdGFyZ2V0U3RhdGlzdGljcy5zdWJmcmFtZUhh
c0JlZW5OYXZpZ2F0ZWRUbzsKKyAgICAgICAgICAgICAgICAgICAgYXV0byYgc291cmNlT3JpZ2lu
UmVzb3VyY2VTdGF0aXN0aWNzID0gbV9zdG9yZS0+ZW5zdXJlUmVzb3VyY2VTdGF0aXN0aWNzRm9y
UHJpbWFyeURvbWFpbihzb3VyY2VQcmltYXJ5RG9tYWluKTsKKworICAgICAgICAgICAgICAgICAg
ICBpZiAoaXNNYWluRnJhbWUpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICsrc291cmNlT3Jp
Z2luUmVzb3VyY2VTdGF0aXN0aWNzLnRvcEZyYW1lSGFzQmVlbk5hdmlnYXRlZEZyb207CisgICAg
ICAgICAgICAgICAgICAgICAgICArK3RhcmdldFN0YXRpc3RpY3MudG9wRnJhbWVIYXNCZWVuTmF2
aWdhdGVkVG87CisgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAg
ICAgICAgICArK3NvdXJjZU9yaWdpblJlc291cmNlU3RhdGlzdGljcy5zdWJmcmFtZUhhc0JlZW5O
YXZpZ2F0ZWRGcm9tOworICAgICAgICAgICAgICAgICAgICAgICAgKyt0YXJnZXRTdGF0aXN0aWNz
LnN1YmZyYW1lSGFzQmVlbk5hdmlnYXRlZFRvOworICAgICAgICAgICAgICAgICAgICB9CiAgICAg
ICAgICAgICAgICAgfQogICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgICAgICAgICAKLSAg
ICAgICAgbV9zdG9yZS0+c2V0UmVzb3VyY2VTdGF0aXN0aWNzRm9yUHJpbWFyeURvbWFpbih0YXJn
ZXRQcmltYXJ5RG9tYWluLCBXVEZNb3ZlKHRhcmdldFN0YXRpc3RpY3MpKTsKKworICAgICAgICAg
ICAgbV9zdG9yZS0+c2V0UmVzb3VyY2VTdGF0aXN0aWNzRm9yUHJpbWFyeURvbWFpbih0YXJnZXRQ
cmltYXJ5RG9tYWluLCBXVEZNb3ZlKHRhcmdldFN0YXRpc3RpY3MpKTsKICAgICAgICAgfSAvLyBS
ZWxlYXNlIGxvY2sKICAgICAgICAgCiAgICAgICAgIGlmIChzaG91bGRGaXJlRGF0YU1vZGlmaWNh
dGlvbkhhbmRsZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VM
b2FkU3RhdGlzdGljcy5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZFN0YXRp
c3RpY3MuaAppbmRleCBlYTVlMDdkNmIzNmYxNTA5Y2YwNjY4OTMwYzVmODA5NzY2NjdjYzkzLi5l
YmU2ODk1MjQzMWM1YmYwMDQ3OGI4NmE1M2JkNTQyZTRkY2ZkN2M1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljcy5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzLmgKQEAgLTM2LDEzICszNiwxOCBA
QCBjbGFzcyBLZXllZERlY29kZXI7CiBjbGFzcyBLZXllZEVuY29kZXI7CiAKIHN0cnVjdCBSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzIHsKLSAgICBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzKGNvbnN0IFN0
cmluZyYgcHJpbWFyeURvbWFpbikKKyAgICBleHBsaWNpdCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
KGNvbnN0IFN0cmluZyYgcHJpbWFyeURvbWFpbikKICAgICAgICAgOiBoaWdoTGV2ZWxEb21haW4o
cHJpbWFyeURvbWFpbikKICAgICB7CiAgICAgfQogCiAgICAgUmVzb3VyY2VMb2FkU3RhdGlzdGlj
cygpID0gZGVmYXVsdDsKIAorICAgIFJlc291cmNlTG9hZFN0YXRpc3RpY3MoY29uc3QgUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcyYpID0gZGVsZXRlOworICAgIFJlc291cmNlTG9hZFN0YXRpc3RpY3Mm
IG9wZXJhdG9yPShjb25zdCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzJikgPSBkZWxldGU7CisgICAg
UmVzb3VyY2VMb2FkU3RhdGlzdGljcyhSZXNvdXJjZUxvYWRTdGF0aXN0aWNzJiYpID0gZGVmYXVs
dDsKKyAgICBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzJiBvcGVyYXRvcj0oUmVzb3VyY2VMb2FkU3Rh
dGlzdGljcyYmKSA9IGRlZmF1bHQ7CisKICAgICB2b2lkIGVuY29kZShLZXllZEVuY29kZXImKSBj
b25zdDsKICAgICBib29sIGRlY29kZShLZXllZERlY29kZXImLCB1bnNpZ25lZCB2ZXJzaW9uKTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3NTdG9yZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c1N0b3JlLmNwcAppbmRleCA3MjBhOWQxZTUzMjIyMWM5YzM0MjVkNmI4ZDI1NjUyNjcxMjRiMmQ3
Li43NTRmZDgzZTQ0NDFjYzVjN2NkZjY1MTk2MTdiMmY2ZjQ1MjU0YjE1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmNwcApA
QCAtNzEsNiArNzEsMTYgQEAgUmVzb3VyY2VMb2FkU3RhdGlzdGljcyYgUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc1N0b3JlOjplbnN1cmVSZXNvdXJjZVN0YXRpc3RpY3NGb3IKICAgICByZXR1cm4gYWRk
UmVzdWx0Lml0ZXJhdG9yLT52YWx1ZTsKIH0KIAorUmVzb3VyY2VMb2FkU3RhdGlzdGljcyBSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OnRha2VSZXNvdXJjZVN0YXRpc3RpY3NGb3JQcmltYXJ5
RG9tYWluKGNvbnN0IFN0cmluZyYgcHJpbWFyeURvbWFpbikKK3sKKyAgICBBU1NFUlQobV9zdGF0
aXN0aWNzTG9jay5pc0xvY2tlZCgpKTsKKyAgICBhdXRvIHN0YXRpc3Rpc3RpY3MgPSBtX3Jlc291
cmNlU3RhdGlzdGljc01hcC50YWtlKHByaW1hcnlEb21haW4pOworICAgIGlmIChzdGF0aXN0aXN0
aWNzLmhpZ2hMZXZlbERvbWFpbi5pc051bGwoKSkKKyAgICAgICAgc3RhdGlzdGlzdGljcy5oaWdo
TGV2ZWxEb21haW4gPSBwcmltYXJ5RG9tYWluOworICAgIEFTU0VSVChzdGF0aXN0aXN0aWNzLmhp
Z2hMZXZlbERvbWFpbiA9PSBwcmltYXJ5RG9tYWluKTsKKyAgICByZXR1cm4gc3RhdGlzdGlzdGlj
czsKK30KKwogdm9pZCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OnNldFJlc291cmNlU3Rh
dGlzdGljc0ZvclByaW1hcnlEb21haW4oY29uc3QgU3RyaW5nJiBwcmltYXJ5RG9tYWluLCBSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzJiYgc3RhdGlzdGljcykKIHsKICAgICBBU1NFUlQoIWlzTWFpblRo
cmVhZCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRT
dGF0aXN0aWNzU3RvcmUuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRTdGF0
aXN0aWNzU3RvcmUuaAppbmRleCBjYmYyMDM0MjE0MTZhZTQ1MjhiN2RjN2QwMDYzZmQ3MTg5ZGU5
MDAxLi42NWE0ZWFiYzIzMjZmNzRjYmMxOTYxNjg2ZjQ2MjM3YjMxZjEyYjJjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5oCkBA
IC02Niw2ICs2Niw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGNsZWFySW5NZW1vcnlBbmRQZXJzaXN0
ZW50KCk7CiAKICAgICBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzJiBlbnN1cmVSZXNvdXJjZVN0YXRp
c3RpY3NGb3JQcmltYXJ5RG9tYWluKGNvbnN0IFN0cmluZyYpOworICAgIFJlc291cmNlTG9hZFN0
YXRpc3RpY3MgdGFrZVJlc291cmNlU3RhdGlzdGljc0ZvclByaW1hcnlEb21haW4oY29uc3QgU3Ry
aW5nJik7CiAgICAgdm9pZCBzZXRSZXNvdXJjZVN0YXRpc3RpY3NGb3JQcmltYXJ5RG9tYWluKGNv
bnN0IFN0cmluZyYsIFJlc291cmNlTG9hZFN0YXRpc3RpY3MmJik7CiAKICAgICBib29sIGlzUHJl
dmFsZW50UmVzb3VyY2UoY29uc3QgU3RyaW5nJikgY29uc3Q7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>