<?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>173748</bug_id>
          
          <creation_ts>2017-06-22 16:58:56 -0700</creation_ts>
          <short_desc>Avoid moving the same vector multiple times</short_desc>
          <delta_ts>2017-06-23 11:05:24 -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>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>
          
          
          <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="Brent Fulgham">bfulgham</reporter>
          <assigned_to name="Brent Fulgham">bfulgham</assigned_to>
          <cc>beidson</cc>
    
    <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>darin</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1322132</commentid>
    <comment_count>0</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2017-06-22 16:58:56 -0700</bug_when>
    <thetext>Code inspection revealed that a Vector of String was being WTFMove&apos;d multiple times in a loop. Don&apos;t do that!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1322133</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-06-22 16:59:20 -0700</bug_when>
    <thetext>&lt;rdar://problem/32936804&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1322134</commentid>
    <comment_count>2</comment_count>
      <attachid>313675</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2017-06-22 17:04:21 -0700</bug_when>
    <thetext>Created attachment 313675
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1322156</commentid>
    <comment_count>3</comment_count>
      <attachid>313675</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-06-22 18:38:38 -0700</bug_when>
    <thetext>Comment on attachment 313675
Patch

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

&gt; Source/WebKit2/UIProcess/WebProcessProxy.cpp:261
&gt; +        Vector&lt;String&gt; topDomains = topPrivatelyControlledDomains;

Brady or Darin may have a better idea. Personally, I would pass the Vector as a const Vector&amp; until it actually needs copying (inside WebsiteDataStore::fetchDataForTopPrivatelyControlledDomains()).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1322316</commentid>
    <comment_count>4</comment_count>
      <attachid>313675</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2017-06-23 09:34:38 -0700</bug_when>
    <thetext>Comment on attachment 313675
Patch

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

&gt;&gt; Source/WebKit2/UIProcess/WebProcessProxy.cpp:261
&gt;&gt; +        Vector&lt;String&gt; topDomains = topPrivatelyControlledDomains;
&gt; 
&gt; Brady or Darin may have a better idea. Personally, I would pass the Vector as a const Vector&amp; until it actually needs copying (inside WebsiteDataStore::fetchDataForTopPrivatelyControlledDomains()).

OK. That will make the patch bigger, but might avoid a number of copies if the lowest level of the &apos;fetch&apos; algorithm skip this work for some reason. I&apos;ll try that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1322326</commentid>
    <comment_count>5</comment_count>
      <attachid>313726</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2017-06-23 10:15:02 -0700</bug_when>
    <thetext>Created attachment 313726
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1322334</commentid>
    <comment_count>6</comment_count>
      <attachid>313726</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-06-23 10:34:55 -0700</bug_when>
    <thetext>Comment on attachment 313726
Patch

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

&gt; Source/WebKit2/UIProcess/WebsiteData/WebsiteDataStore.cpp:516
&gt; +            for (const auto&amp; topPrivatelyControlledDomain : topPrivatelyControlledDomains) {

I think we prefer just &quot;auto&amp;&quot; without const.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1322350</commentid>
    <comment_count>7</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2017-06-23 11:05:24 -0700</bug_when>
    <thetext>Committed r218753: &lt;http://trac.webkit.org/changeset/218753&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>313675</attachid>
            <date>2017-06-22 17:04:21 -0700</date>
            <delta_ts>2017-06-23 10:15:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-173748-20170622170421.patch</filename>
            <type>text/plain</type>
            <size>1940</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxODcyOCkKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDE3LTA2LTIyICBCcmVudCBG
dWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIEF2b2lkIG1vdmluZyB0aGUg
c2FtZSB2ZWN0b3IgbXVsdGlwbGUgdGltZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE3Mzc0OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzI5MzY4
MDQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2Ug
ZGlzY292ZXJlZCB0aGF0IGEgVmVjdG9yPFN0cmluZz4gd2FzIGJlaW5nIG1vdmVkIGluc2lkZSBh
IGxvb3AsIGNhdXNpbmcgaXQgdG8gYmUgbW92ZWQgbW9yZSB0aGFuIG9uY2UuCisgICAgICAgIFdl
IHNob3VsZCBuZXZlciBkbyB0aGlzIQorCisgICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQ
cm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6ZGVsZXRlV2Vic2l0
ZURhdGFGb3JUb3BQcml2YXRlbHlDb250cm9sbGVkRG9tYWluc0luQWxsUGVyc2lzdGVudERhdGFT
dG9yZXMpOgorCiAyMDE3LTA2LTIyICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUu
Y29tPgogCiAgICAgICAgIFtpT1MgRG5EXSBbV0syXSBFbmFibGUgaW4tYXBwIGRyYWdnaW5nIGZy
b20gV0tXZWJWaWV3IG9uIHRoZSBwaG9uZQpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYlByb2Nlc3NQcm94eS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAJKHJldmlzaW9uIDIxODU5MikKKysrIFNvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNTcs
NyArMjU3LDkgQEAgdm9pZCBXZWJQcm9jZXNzUHJveHk6OmRlbGV0ZVdlYnNpdGVEYXRhRgogICAg
ICAgICAgICAgY29udGludWU7CiAgICAgICAgIHZpc2l0ZWRTZXNzaW9uSURzLmFkZChkYXRhU3Rv
cmUuc2Vzc2lvbklEKCkpOwogICAgICAgICBjYWxsYmFja0FnZ3JlZ2F0b3ItPmFkZFBlbmRpbmdD
YWxsYmFjaygpOwotICAgICAgICBkYXRhU3RvcmUucmVtb3ZlRGF0YUZvclRvcFByaXZhdGVseUNv
bnRyb2xsZWREb21haW5zKGRhdGFUeXBlcywgeyB9LCBXVEZNb3ZlKHRvcFByaXZhdGVseUNvbnRy
b2xsZWREb21haW5zKSwgW2NhbGxiYWNrQWdncmVnYXRvciwgc2hvdWxkTm90aWZ5UGFnZSwgcGFn
ZV0oVmVjdG9yPFN0cmluZz4mJiBkb21haW5zV2l0aERlbGV0ZWRXZWJzaXRlRGF0YSkgeworCisg
ICAgICAgIFZlY3RvcjxTdHJpbmc+IHRvcERvbWFpbnMgPSB0b3BQcml2YXRlbHlDb250cm9sbGVk
RG9tYWluczsKKyAgICAgICAgZGF0YVN0b3JlLnJlbW92ZURhdGFGb3JUb3BQcml2YXRlbHlDb250
cm9sbGVkRG9tYWlucyhkYXRhVHlwZXMsIHsgfSwgV1RGTW92ZSh0b3BEb21haW5zKSwgW2NhbGxi
YWNrQWdncmVnYXRvciwgc2hvdWxkTm90aWZ5UGFnZSwgcGFnZV0oVmVjdG9yPFN0cmluZz4mJiBk
b21haW5zV2l0aERlbGV0ZWRXZWJzaXRlRGF0YSkgewogICAgICAgICAgICAgLy8gV2hlbiBjb21w
bGV0aW5nIHRoZSB0YXNrLCB3ZSBzaG91bGQgYmUgZ2V0dGluZyBjYWxsZWQgb24gdGhlIG1haW4g
dGhyZWFkLgogICAgICAgICAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKICAgICAgICAgICAg
IAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>313726</attachid>
            <date>2017-06-23 10:15:02 -0700</date>
            <delta_ts>2017-06-23 10:34:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-173748-20170623101502.patch</filename>
            <type>text/plain</type>
            <size>8051</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxODc0OCkKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBACisyMDE3LTA2LTIzICBCcmVudCBG
dWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIEF2b2lkIG1vdmluZyB0aGUg
c2FtZSB2ZWN0b3IgbXVsdGlwbGUgdGltZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE3Mzc0OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzI5MzY4
MDQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2Ug
ZGlzY292ZXJlZCB0aGF0IGEgVmVjdG9yPFN0cmluZz4gd2FzIGJlaW5nIG1vdmVkIGluc2lkZSBh
IGxvb3AsIGNhdXNpbmcgaXQgdG8gYmUgbW92ZWQgbW9yZSB0aGFuIG9uY2UuCisgICAgICAgIFdl
IHNob3VsZCBuZXZlciBkbyB0aGlzIQorCisgICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQ
cm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6ZGVsZXRlV2Vic2l0
ZURhdGFGb3JUb3BQcml2YXRlbHlDb250cm9sbGVkRG9tYWluc0luQWxsUGVyc2lzdGVudERhdGFT
dG9yZXMpOgorICAgICAgICBEbyBub3QgcGVyZm9ybSBhIG1vdmUgYXQgZWFjaCBzdGVwIG9mIHRo
ZSBpdGVyYXRpb24uCisgICAgICAgICogVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRh
U3RvcmUuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJzaXRlRGF0YVN0b3JlOjpmZXRjaERhdGFG
b3JUb3BQcml2YXRlbHlDb250cm9sbGVkRG9tYWlucyk6IFJlY2VpdmUgdmVjdG9yIG9mIHRvcCBw
cml2YXRlbHkKKyAgICAgICAgY29udHJvbGxlZCBkb21haW5zIGFzIGEgY29uc3QgcmVmZXJlbmNl
LiBDb3B5IHRoaXMgdmVjdG9yIGludG8gdGhlIGNvbXBsZXRpb24gaGFuZGxlci4gRG8gbm90IG1v
dmUKKyAgICAgICAgb3JpZ2lucyBvdXQgb2YgdGhlIHZlY3RvciBpbiB0aGUgaW5uZXIgbG9vcC4K
KyAgICAgICAgKFdlYktpdDo6V2Vic2l0ZURhdGFTdG9yZTo6cmVtb3ZlRGF0YUZvclRvcFByaXZh
dGVseUNvbnRyb2xsZWREb21haW5zKTogUmVjZWl2ZSB2ZWN0b3Igb2YgdG9wIHByaXZhdGVseQor
ICAgICAgICBjb250cm9sbGVkIGRvbWFpbnMgYXMgYSBjb25zdCByZWZlcmVuY2UuCisgICAgICAg
ICogVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuaDoKKwogMjAxNy0wNi0y
MyAgWmFuIERvYmVyc2VrICA8emRvYmVyc2VrQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0Nvb3Jk
aW5hdGVkR3JhcGhpY3NdIENsZWFuIHVwIHR5cGUgYWxpYXNlcyBpbiBDb29yZGluYXRlZEdyYXBo
aWNzU2NlbmUKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHku
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJv
eHkuY3BwCShyZXZpc2lvbiAyMTg1OTIpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
UHJvY2Vzc1Byb3h5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjU3LDcgKzI1Nyw3IEBAIHZvaWQg
V2ViUHJvY2Vzc1Byb3h5OjpkZWxldGVXZWJzaXRlRGF0YUYKICAgICAgICAgICAgIGNvbnRpbnVl
OwogICAgICAgICB2aXNpdGVkU2Vzc2lvbklEcy5hZGQoZGF0YVN0b3JlLnNlc3Npb25JRCgpKTsK
ICAgICAgICAgY2FsbGJhY2tBZ2dyZWdhdG9yLT5hZGRQZW5kaW5nQ2FsbGJhY2soKTsKLSAgICAg
ICAgZGF0YVN0b3JlLnJlbW92ZURhdGFGb3JUb3BQcml2YXRlbHlDb250cm9sbGVkRG9tYWlucyhk
YXRhVHlwZXMsIHsgfSwgV1RGTW92ZSh0b3BQcml2YXRlbHlDb250cm9sbGVkRG9tYWlucyksIFtj
YWxsYmFja0FnZ3JlZ2F0b3IsIHNob3VsZE5vdGlmeVBhZ2UsIHBhZ2VdKFZlY3RvcjxTdHJpbmc+
JiYgZG9tYWluc1dpdGhEZWxldGVkV2Vic2l0ZURhdGEpIHsKKyAgICAgICAgZGF0YVN0b3JlLnJl
bW92ZURhdGFGb3JUb3BQcml2YXRlbHlDb250cm9sbGVkRG9tYWlucyhkYXRhVHlwZXMsIHsgfSwg
dG9wUHJpdmF0ZWx5Q29udHJvbGxlZERvbWFpbnMsIFtjYWxsYmFja0FnZ3JlZ2F0b3IsIHNob3Vs
ZE5vdGlmeVBhZ2UsIHBhZ2VdKFZlY3RvcjxTdHJpbmc+JiYgZG9tYWluc1dpdGhEZWxldGVkV2Vi
c2l0ZURhdGEpIHsKICAgICAgICAgICAgIC8vIFdoZW4gY29tcGxldGluZyB0aGUgdGFzaywgd2Ug
c2hvdWxkIGJlIGdldHRpbmcgY2FsbGVkIG9uIHRoZSBtYWluIHRocmVhZC4KICAgICAgICAgICAg
IEFTU0VSVChpc01haW5UaHJlYWQoKSk7CiAgICAgICAgICAgICAKSW5kZXg6IFNvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9y
ZS5jcHAJKHJldmlzaW9uIDIxODU5MikKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJz
aXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTA3LDEzICs1
MDcsMTMgQEAgdm9pZCBXZWJzaXRlRGF0YVN0b3JlOjpmZXRjaERhdGEoT3B0aW9uUwogICAgIGNh
bGxiYWNrQWdncmVnYXRvci0+Y2FsbElmTmVlZGVkKCk7CiB9CiAKLXZvaWQgV2Vic2l0ZURhdGFT
dG9yZTo6ZmV0Y2hEYXRhRm9yVG9wUHJpdmF0ZWx5Q29udHJvbGxlZERvbWFpbnMoT3B0aW9uU2V0
PFdlYnNpdGVEYXRhVHlwZT4gZGF0YVR5cGVzLCBPcHRpb25TZXQ8V2Vic2l0ZURhdGFGZXRjaE9w
dGlvbj4gZmV0Y2hPcHRpb25zLCBWZWN0b3I8U3RyaW5nPiYmIHRvcFByaXZhdGVseUNvbnRyb2xs
ZWREb21haW5zLCBGdW5jdGlvbjx2b2lkKFZlY3RvcjxXZWJzaXRlRGF0YVJlY29yZD4mJiwgVmVj
dG9yPFN0cmluZz4mJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCit2b2lkIFdlYnNpdGVEYXRhU3Rv
cmU6OmZldGNoRGF0YUZvclRvcFByaXZhdGVseUNvbnRyb2xsZWREb21haW5zKE9wdGlvblNldDxX
ZWJzaXRlRGF0YVR5cGU+IGRhdGFUeXBlcywgT3B0aW9uU2V0PFdlYnNpdGVEYXRhRmV0Y2hPcHRp
b24+IGZldGNoT3B0aW9ucywgY29uc3QgVmVjdG9yPFN0cmluZz4mIHRvcFByaXZhdGVseUNvbnRy
b2xsZWREb21haW5zLCBGdW5jdGlvbjx2b2lkKFZlY3RvcjxXZWJzaXRlRGF0YVJlY29yZD4mJiwg
VmVjdG9yPFN0cmluZz4mJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7Ci0gICAgZmV0Y2hEYXRh
KGRhdGFUeXBlcywgZmV0Y2hPcHRpb25zLCBbdG9wUHJpdmF0ZWx5Q29udHJvbGxlZERvbWFpbnMg
PSBXVEZNb3ZlKHRvcFByaXZhdGVseUNvbnRyb2xsZWREb21haW5zKSwgY29tcGxldGlvbkhhbmRs
ZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0oYXV0byYmIGV4aXN0aW5nRGF0YVJlY29y
ZHMpIHsKKyAgICBmZXRjaERhdGEoZGF0YVR5cGVzLCBmZXRjaE9wdGlvbnMsIFt0b3BQcml2YXRl
bHlDb250cm9sbGVkRG9tYWlucywgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRp
b25IYW5kbGVyKV0oYXV0byYmIGV4aXN0aW5nRGF0YVJlY29yZHMpIHsKICAgICAgICAgVmVjdG9y
PFdlYnNpdGVEYXRhUmVjb3JkPiBtYXRjaGluZ0RhdGFSZWNvcmRzOwogICAgICAgICBWZWN0b3I8
U3RyaW5nPiBkb21haW5zV2l0aE1hdGNoaW5nRGF0YVJlY29yZHM7CiAgICAgICAgIGZvciAoYXV0
byYmIGRhdGFSZWNvcmQgOiBleGlzdGluZ0RhdGFSZWNvcmRzKSB7Ci0gICAgICAgICAgICBmb3Ig
KGF1dG8mJiB0b3BQcml2YXRlbHlDb250cm9sbGVkRG9tYWluIDogdG9wUHJpdmF0ZWx5Q29udHJv
bGxlZERvbWFpbnMpIHsKKyAgICAgICAgICAgIGZvciAoY29uc3QgYXV0byYgdG9wUHJpdmF0ZWx5
Q29udHJvbGxlZERvbWFpbiA6IHRvcFByaXZhdGVseUNvbnRyb2xsZWREb21haW5zKSB7CiAgICAg
ICAgICAgICAgICAgaWYgKGRhdGFSZWNvcmQubWF0Y2hlc1RvcFByaXZhdGVseUNvbnRyb2xsZWRE
b21haW4odG9wUHJpdmF0ZWx5Q29udHJvbGxlZERvbWFpbikpIHsKICAgICAgICAgICAgICAgICAg
ICAgbWF0Y2hpbmdEYXRhUmVjb3Jkcy5hcHBlbmQoV1RGTW92ZShkYXRhUmVjb3JkKSk7CiAgICAg
ICAgICAgICAgICAgICAgIGRvbWFpbnNXaXRoTWF0Y2hpbmdEYXRhUmVjb3Jkcy5hcHBlbmQodG9w
UHJpdmF0ZWx5Q29udHJvbGxlZERvbWFpbik7CkBAIC0xMDc2LDkgKzEwNzYsOSBAQCB2b2lkIFdl
YnNpdGVEYXRhU3RvcmU6OnJlbW92ZURhdGEoT3B0aW9uCiAgICAgY2FsbGJhY2tBZ2dyZWdhdG9y
LT5jYWxsSWZOZWVkZWQoKTsKIH0KIAotdm9pZCBXZWJzaXRlRGF0YVN0b3JlOjpyZW1vdmVEYXRh
Rm9yVG9wUHJpdmF0ZWx5Q29udHJvbGxlZERvbWFpbnMoT3B0aW9uU2V0PFdlYnNpdGVEYXRhVHlw
ZT4gZGF0YVR5cGVzLCBPcHRpb25TZXQ8V2Vic2l0ZURhdGFGZXRjaE9wdGlvbj4gZmV0Y2hPcHRp
b25zLCBWZWN0b3I8U3RyaW5nPiYmIHRvcFByaXZhdGVseUNvbnRyb2xsZWREb21haW5zLCBGdW5j
dGlvbjx2b2lkKFZlY3RvcjxTdHJpbmc+JiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQordm9pZCBX
ZWJzaXRlRGF0YVN0b3JlOjpyZW1vdmVEYXRhRm9yVG9wUHJpdmF0ZWx5Q29udHJvbGxlZERvbWFp
bnMoT3B0aW9uU2V0PFdlYnNpdGVEYXRhVHlwZT4gZGF0YVR5cGVzLCBPcHRpb25TZXQ8V2Vic2l0
ZURhdGFGZXRjaE9wdGlvbj4gZmV0Y2hPcHRpb25zLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgdG9w
UHJpdmF0ZWx5Q29udHJvbGxlZERvbWFpbnMsIEZ1bmN0aW9uPHZvaWQoVmVjdG9yPFN0cmluZz4m
Jik+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7Ci0gICAgZmV0Y2hEYXRhRm9yVG9wUHJpdmF0ZWx5
Q29udHJvbGxlZERvbWFpbnMoZGF0YVR5cGVzLCBmZXRjaE9wdGlvbnMsIFdURk1vdmUodG9wUHJp
dmF0ZWx5Q29udHJvbGxlZERvbWFpbnMpLCBbZGF0YVR5cGVzLCBjb21wbGV0aW9uSGFuZGxlciA9
IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpLCB0aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJl
ZigqdGhpcyldKFZlY3RvcjxXZWJzaXRlRGF0YVJlY29yZD4mJiB3ZWJzaXRlRGF0YVJlY29yZHMs
IFZlY3RvcjxTdHJpbmc+JiYgZG9tYWluc1dpdGhEYXRhUmVjb3JkcykgbXV0YWJsZSB7CisgICAg
ZmV0Y2hEYXRhRm9yVG9wUHJpdmF0ZWx5Q29udHJvbGxlZERvbWFpbnMoZGF0YVR5cGVzLCBmZXRj
aE9wdGlvbnMsIHRvcFByaXZhdGVseUNvbnRyb2xsZWREb21haW5zLCBbZGF0YVR5cGVzLCBjb21w
bGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpLCB0aGlzLCBwcm90ZWN0
ZWRUaGlzID0gbWFrZVJlZigqdGhpcyldKFZlY3RvcjxXZWJzaXRlRGF0YVJlY29yZD4mJiB3ZWJz
aXRlRGF0YVJlY29yZHMsIFZlY3RvcjxTdHJpbmc+JiYgZG9tYWluc1dpdGhEYXRhUmVjb3Jkcykg
bXV0YWJsZSB7CiAgICAgICAgIHRoaXMtPnJlbW92ZURhdGEoZGF0YVR5cGVzLCB3ZWJzaXRlRGF0
YVJlY29yZHMsIFtkb21haW5zV2l0aERhdGFSZWNvcmRzID0gV1RGTW92ZShkb21haW5zV2l0aERh
dGFSZWNvcmRzKSwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVy
KV0oKSBtdXRhYmxlIHsKICAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKFdURk1vdmUoZG9t
YWluc1dpdGhEYXRhUmVjb3JkcykpOwogICAgICAgICB9KTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuaAko
cmV2aXNpb24gMjE4NTkyKQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYnNpdGVEYXRh
L1dlYnNpdGVEYXRhU3RvcmUuaAkod29ya2luZyBjb3B5KQpAQCAtOTQsMTEgKzk0LDExIEBAIHB1
YmxpYzoKICAgICBzdGF0aWMgdm9pZCBjbG9uZVNlc3Npb25EYXRhKFdlYlBhZ2VQcm94eSYgc291
cmNlUGFnZSwgV2ViUGFnZVByb3h5JiBuZXdQYWdlKTsKIAogICAgIHZvaWQgZmV0Y2hEYXRhKE9w
dGlvblNldDxXZWJzaXRlRGF0YVR5cGU+LCBPcHRpb25TZXQ8V2Vic2l0ZURhdGFGZXRjaE9wdGlv
bj4sIEZ1bmN0aW9uPHZvaWQoVmVjdG9yPFdlYnNpdGVEYXRhUmVjb3JkPik+JiYgY29tcGxldGlv
bkhhbmRsZXIpOwotICAgIHZvaWQgZmV0Y2hEYXRhRm9yVG9wUHJpdmF0ZWx5Q29udHJvbGxlZERv
bWFpbnMoT3B0aW9uU2V0PFdlYnNpdGVEYXRhVHlwZT4sIE9wdGlvblNldDxXZWJzaXRlRGF0YUZl
dGNoT3B0aW9uPiwgVmVjdG9yPFN0cmluZz4mJiB0b3BQcml2YXRlbHlDb250cm9sbGVkRG9tYWlu
cywgRnVuY3Rpb248dm9pZChWZWN0b3I8V2Vic2l0ZURhdGFSZWNvcmQ+JiYsIFZlY3RvcjxTdHJp
bmc+JiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKTsKKyAgICB2b2lkIGZldGNoRGF0YUZvclRvcFBy
aXZhdGVseUNvbnRyb2xsZWREb21haW5zKE9wdGlvblNldDxXZWJzaXRlRGF0YVR5cGU+LCBPcHRp
b25TZXQ8V2Vic2l0ZURhdGFGZXRjaE9wdGlvbj4sIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiB0b3BQ
cml2YXRlbHlDb250cm9sbGVkRG9tYWlucywgRnVuY3Rpb248dm9pZChWZWN0b3I8V2Vic2l0ZURh
dGFSZWNvcmQ+JiYsIFZlY3RvcjxTdHJpbmc+JiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKTsKICAg
ICB2b2lkIHRvcFByaXZhdGVseUNvbnRyb2xsZWREb21haW5zV2l0aFdlYnNpdGVEYXRhKE9wdGlv
blNldDxXZWJzaXRlRGF0YVR5cGU+IGRhdGFUeXBlcywgT3B0aW9uU2V0PFdlYnNpdGVEYXRhRmV0
Y2hPcHRpb24+IGZldGNoT3B0aW9ucywgRnVuY3Rpb248dm9pZChIYXNoU2V0PFN0cmluZz4mJik+
JiYgY29tcGxldGlvbkhhbmRsZXIpOwogICAgIHZvaWQgcmVtb3ZlRGF0YShPcHRpb25TZXQ8V2Vi
c2l0ZURhdGFUeXBlPiwgc3RkOjpjaHJvbm86OnN5c3RlbV9jbG9jazo6dGltZV9wb2ludCBtb2Rp
ZmllZFNpbmNlLCBGdW5jdGlvbjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpOwogICAgIHZv
aWQgcmVtb3ZlRGF0YShPcHRpb25TZXQ8V2Vic2l0ZURhdGFUeXBlPiwgY29uc3QgVmVjdG9yPFdl
YnNpdGVEYXRhUmVjb3JkPiYsIEZ1bmN0aW9uPHZvaWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcik7
Ci0gICAgdm9pZCByZW1vdmVEYXRhRm9yVG9wUHJpdmF0ZWx5Q29udHJvbGxlZERvbWFpbnMoT3B0
aW9uU2V0PFdlYnNpdGVEYXRhVHlwZT4sIE9wdGlvblNldDxXZWJzaXRlRGF0YUZldGNoT3B0aW9u
PiwgVmVjdG9yPFN0cmluZz4mJiB0b3BQcml2YXRlbHlDb250cm9sbGVkRG9tYWlucywgRnVuY3Rp
b248dm9pZChWZWN0b3I8U3RyaW5nPiYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcik7CisgICAgdm9p
ZCByZW1vdmVEYXRhRm9yVG9wUHJpdmF0ZWx5Q29udHJvbGxlZERvbWFpbnMoT3B0aW9uU2V0PFdl
YnNpdGVEYXRhVHlwZT4sIE9wdGlvblNldDxXZWJzaXRlRGF0YUZldGNoT3B0aW9uPiwgY29uc3Qg
VmVjdG9yPFN0cmluZz4mIHRvcFByaXZhdGVseUNvbnRyb2xsZWREb21haW5zLCBGdW5jdGlvbjx2
b2lkKFZlY3RvcjxTdHJpbmc+JiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKTsKIAogI2lmIEhBVkUo
Q0ZORVRXT1JLX1NUT1JBR0VfUEFSVElUSU9OSU5HKQogICAgIHZvaWQgc2hvdWxkUGFydGl0aW9u
Q29va2llc0ZvclRvcFByaXZhdGVseU93bmVkRG9tYWlucyhjb25zdCBWZWN0b3I8U3RyaW5nPiYg
ZG9tYWluc1RvUmVtb3ZlLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgZG9tYWluc1RvQWRkLCBib29s
IGNsZWFyRmlyc3QpOwo=
</data>
<flag name="review"
          id="334607"
          type_id="1"
          status="+"
          setter="cdumez"
    />
          </attachment>
      

    </bug>

</bugzilla>