<?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>46560</bug_id>
          
          <creation_ts>2010-09-25 02:37:07 -0700</creation_ts>
          <short_desc>[LEAK] [GStreamer] Removing video element will not free assigned memory</short_desc>
          <delta_ts>2014-11-04 01:34:52 -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>Media</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Linux</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>0</everconfirmed>
          <reporter name="Cedric de Saint Martin">cedric</reporter>
          <assigned_to name="Philippe Normand">pnormand</assigned_to>
          <cc>ap</cc>
    
    <cc>calvaris</cc>
    
    <cc>cedric</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>ltilve</cc>
    
    <cc>patrick</cc>
    
    <cc>philipj</cc>
    
    <cc>pnormand</cc>
    
    <cc>sergio</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>284978</commentid>
    <comment_count>0</comment_count>
      <attachid>68819</attachid>
    <who name="Cedric de Saint Martin">cedric</who>
    <bug_when>2010-09-25 02:37:07 -0700</bug_when>
    <thetext>Created attachment 68819
video memory leak use case

Creating a &lt;video&gt; element will take a lot of memory.
But removing this element with javascript won&apos;t free this memory.

This memory won&apos;t be reused when another &lt;video&gt; element with same src is created.

Web application showing a lot of &lt;video&gt;, like the one I am developping, will suffer of this bug.

I included with this bug report a html file containing a use case of such memory leak.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>285632</commentid>
    <comment_count>1</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-09-27 11:37:46 -0700</bug_when>
    <thetext>Could you please describe your measurement technique in more detail? Are you looking at Activity Monitor data, or something different?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>286045</commentid>
    <comment_count>2</comment_count>
    <who name="Cedric de Saint Martin">cedric</who>
    <bug_when>2010-09-27 21:17:27 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; Could you please describe your measurement technique in more detail? Are you looking at Activity Monitor data, or something different?

I looked at Activity Monitor, for private memory (RPRVT). A simple look at it shows a visible increase between two loops.
I am using latest nightlies.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>377873</commentid>
    <comment_count>3</comment_count>
    <who name="Cedric de Saint Martin">cedric</who>
    <bug_when>2011-04-01 09:57:20 -0700</bug_when>
    <thetext>Hi,
Can anybody reproduce this huge leak?
It seems that nobody is working on it, but 6 months after having added this bug, this is still not resolved.

Regards,
Cedric</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>391767</commentid>
    <comment_count>4</comment_count>
    <who name="Cedric de Saint Martin">cedric</who>
    <bug_when>2011-04-25 08:42:01 -0700</bug_when>
    <thetext>Hi,
It seems like the attachment was misleading. Of course the &quot;chrome.mp4&quot; link should points to any readable video file.
I uploaded a new attachment with a video.src pointing to a real video file on the web. Depending on your connection and/or server load, you may want to change it to point to a local file (or increase the timeouts), because we want to have loaded at least a part of the file.

Regards,
Cedric</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>391769</commentid>
    <comment_count>5</comment_count>
      <attachid>90918</attachid>
    <who name="Cedric de Saint Martin">cedric</who>
    <bug_when>2011-04-25 08:43:46 -0700</bug_when>
    <thetext>Created attachment 90918
video memory leak use case 2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515964</commentid>
    <comment_count>6</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2011-12-06 09:31:23 -0800</bug_when>
    <thetext>&lt;rdar://problem/10297586&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1045189</commentid>
    <comment_count>7</comment_count>
    <who name="Patrick Ward">patrick</who>
    <bug_when>2014-10-30 17:30:56 -0700</bug_when>
    <thetext>I would like to confirm that this is still a problem. I can reliably recreate the problem with the attachment in this comment. Right now, the test has a hardcoded for the local path &quot;/home/patrick/Downloads/big_buck_bunny.mp4&quot;, with the same file copied at &quot;/home/patrick/Downloads/big_buck_bunny2.mp4&quot;.

There are three buttons in the test. I ran &quot;top&quot; in a terminal and kept checking the memory consumption of WebKit while running this test in the Epiphany browser.

The &quot;Toggle Video&quot; button will flip the video&apos;s &quot;src&quot; attribute between the &quot;big_buck_bunny.mp4&quot; and &quot;big_buck_bunny2.mp4&quot; files. Note that no memory leak occurs.

The &quot;Add/Remove Video&quot; button will create and add the video node to the DOM, then remove it the next time the button is clicked. A memory leak occurs when clicking this repeatedly.

The &quot;Add/Remove Src Video&quot; button will create and add the video node to the DOM, then remove the node the next time the button is clicked. However, a memory leak DOES NOT occur. This is because the video node&apos;s &quot;src&quot; attribute is set to the empty string BEFORE the video node is removed.

As a side note, if one creates an HTML string with a video node and a valid, non-empty src attribute and uses JQuery to operate on it, the memory leak will still occur as in the following:

var videoElementString = &apos;&lt;div&gt;&lt;video src=&quot;file:///home/patrick/Downloads/big_buck_bunny.mp4&quot; /&gt;&lt;/div&gt;&apos;
$(videoElementString)

The JQuery call will parse the video element string, and the memory leak will still occur.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1045190</commentid>
    <comment_count>8</comment_count>
      <attachid>240716</attachid>
    <who name="Patrick Ward">patrick</who>
    <bug_when>2014-10-30 17:32:27 -0700</bug_when>
    <thetext>Created attachment 240716
Video element memory leak

Shows three different buttons. Clicking &quot;Add/Remove Video&quot; repeatedly will cause a memory leak. Clicking &quot;Add/Remove Src Video&quot; will not cause a memory leak.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1045193</commentid>
    <comment_count>9</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-10-30 17:59:26 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; I would like to confirm that this is still a problem. I can reliably
&gt; recreate the problem with the attachment in this comment. Right now, the
&gt; test has a hardcoded for the local path
&gt; &quot;/home/patrick/Downloads/big_buck_bunny.mp4&quot;, with the same file copied at
&gt; &quot;/home/patrick/Downloads/big_buck_bunny2.mp4&quot;.
&gt; 
&gt; There are three buttons in the test. I ran &quot;top&quot; in a terminal and kept
&gt; checking the memory consumption of WebKit while running this test in the
&gt; Epiphany browser.
&gt; 
&gt; The &quot;Toggle Video&quot; button will flip the video&apos;s &quot;src&quot; attribute between the
&gt; &quot;big_buck_bunny.mp4&quot; and &quot;big_buck_bunny2.mp4&quot; files. Note that no memory
&gt; leak occurs.
&gt; 
&gt; The &quot;Add/Remove Video&quot; button will create and add the video node to the DOM,
&gt; then remove it the next time the button is clicked. A memory leak occurs
&gt; when clicking this repeatedly.

Removing the element from the DOM does not immediately free the element, it simply makes it available to the garbage collector. Until the GC specifically destroys that element, memory used by that element will not be freed. This is not a memory leak.

If you force GC to be run (either through your browser&apos;s developer tools, or by creating lots of high-memory objects), the video element will eventually be destroyed by GC.

However, there are things WebKit could change to make GC more likely, and to ensure that the video element is destroyed when GC is run. MediaPlayerPrivate exposes a method called &quot;extraMemoryCost()&quot; to be implemented by media engines, which reports the extra memory cost used by the media engine to load, decode, and display the media resource. It sounds like whatever port is being used by the Epiphany browser does not implement this method, and the GC doesn&apos;t know how much memory is being used by the video element.

It does appear, however, that you have discovered a good workaround: set src=&quot;&quot; and call load() before removing the element from the DOM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1045194</commentid>
    <comment_count>10</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-10-30 18:03:24 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; (In reply to comment #7)
&gt; &gt; I would like to confirm that this is still a problem. I can reliably
&gt; &gt; recreate the problem with the attachment in this comment. Right now, the
&gt; &gt; test has a hardcoded for the local path
&gt; &gt; &quot;/home/patrick/Downloads/big_buck_bunny.mp4&quot;, with the same file copied at
&gt; &gt; &quot;/home/patrick/Downloads/big_buck_bunny2.mp4&quot;.
&gt; &gt; 
&gt; &gt; There are three buttons in the test. I ran &quot;top&quot; in a terminal and kept
&gt; &gt; checking the memory consumption of WebKit while running this test in the
&gt; &gt; Epiphany browser.
&gt; &gt; 
&gt; &gt; The &quot;Toggle Video&quot; button will flip the video&apos;s &quot;src&quot; attribute between the
&gt; &gt; &quot;big_buck_bunny.mp4&quot; and &quot;big_buck_bunny2.mp4&quot; files. Note that no memory
&gt; &gt; leak occurs.
&gt; &gt; 
&gt; &gt; The &quot;Add/Remove Video&quot; button will create and add the video node to the DOM,
&gt; &gt; then remove it the next time the button is clicked. A memory leak occurs
&gt; &gt; when clicking this repeatedly.
&gt; 
&gt; Removing the element from the DOM does not immediately free the element, it
&gt; simply makes it available to the garbage collector. Until the GC
&gt; specifically destroys that element, memory used by that element will not be
&gt; freed. This is not a memory leak.
&gt; 
&gt; If you force GC to be run (either through your browser&apos;s developer tools, or
&gt; by creating lots of high-memory objects), the video element will eventually
&gt; be destroyed by GC.
&gt; 
&gt; However, there are things WebKit could change to make GC more likely, and to
&gt; ensure that the video element is destroyed when GC is run.
&gt; MediaPlayerPrivate exposes a method called &quot;extraMemoryCost()&quot; to be
&gt; implemented by media engines, which reports the extra memory cost used by
&gt; the media engine to load, decode, and display the media resource. It sounds
&gt; like whatever port is being used by the Epiphany browser does not implement
&gt; this method, and the GC doesn&apos;t know how much memory is being used by the
&gt; video element.
&gt; 
&gt; It does appear, however, that you have discovered a good workaround: set
&gt; src=&quot;&quot; and call load() before removing the element from the DOM.

Looks like this is a bug in the GStreamer port; they don&apos;t implement MediaPlayerPrivate::extraMemoryCost(). Labelling as such.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1045249</commentid>
    <comment_count>11</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2014-10-31 00:54:48 -0700</bug_when>
    <thetext>Thanks for the heads-up Jer, I&apos;ll work on a patch for this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1045399</commentid>
    <comment_count>12</comment_count>
      <attachid>240760</attachid>
    <who name="Patrick Ward">patrick</who>
    <bug_when>2014-10-31 15:25:12 -0700</bug_when>
    <thetext>Created attachment 240760
Test patch that helps a little with the memory leak

Attached is a simple patch that ports the extraMemoryCost() function from the AVFoundation implementation to the gstreamer implementation. Running the test with the patch still results in an increasingly growing memory leak.

With and without the patch, I see the memory fluctuating somewhat, but I still get a significant memory leak that eventually crashes the WebKit process. With the patch, however, it takes a much longer time for the WebKit process to crash.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1045503</commentid>
    <comment_count>13</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2014-11-01 02:11:12 -0700</bug_when>
    <thetext>I&apos;d rather move this to the MediaPlayerPrivateInterface directly to avoid code duplication. ::totalBytes() could also be declared there.

I have a similar patch here and it works but not in the best way :) I can see the GC is triggered after many add/remove steps. But that default implementation is not the best because it depends on the media file size. So if you use a large file the GC will be triggered faster. Another option would be to force a smaller size for the heap (with the JSC_maxHeapSize env var IIRC).

Ideally we&apos;d need to know how much memory is used by the gst libs but it&apos;s not a trivial task...

Another workaround would be to call clearMediaPlayer() within HTMLMediaElement after it was removed from its container but I&apos;m not sure such patch would be approved :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1045526</commentid>
    <comment_count>14</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2014-11-01 12:08:44 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; Another workaround would be to call clearMediaPlayer() within
&gt; HTMLMediaElement after it was removed from its container but I&apos;m not sure
&gt; such patch would be approved :)

Indeed, see https://bugs.webkit.org/show_bug.cgi?id=137025.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1045598</commentid>
    <comment_count>15</comment_count>
      <attachid>240809</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2014-11-02 08:30:48 -0800</bug_when>
    <thetext>Created attachment 240809
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1045599</commentid>
    <comment_count>16</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-11-02 08:31:56 -0800</bug_when>
    <thetext>Attachment 240809 did not pass style-queue:


ERROR: Source/WebCore/platform/graphics/MediaPlayerPrivate.h:244:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
Total errors found: 1 in 2 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1045600</commentid>
    <comment_count>17</comment_count>
      <attachid>240810</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2014-11-02 08:32:32 -0800</bug_when>
    <thetext>Created attachment 240810
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1045603</commentid>
    <comment_count>18</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2014-11-02 09:05:28 -0800</bug_when>
    <thetext>Thanks for the review Eric. Looks like the patch doesn&apos;t build on mac/win... I&apos;ll fix it before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1045606</commentid>
    <comment_count>19</comment_count>
      <attachid>240812</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2014-11-02 09:19:39 -0800</bug_when>
    <thetext>Created attachment 240812
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1045712</commentid>
    <comment_count>20</comment_count>
      <attachid>240842</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2014-11-03 05:42:16 -0800</bug_when>
    <thetext>Created attachment 240842
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1045713</commentid>
    <comment_count>21</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2014-11-03 05:43:38 -0800</bug_when>
    <thetext>Hopefully this time it will build on Mac too. Can you please do another review Eric? I had to change the signature of ::totalBytes in the QTKit and AVF players.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1045851</commentid>
    <comment_count>22</comment_count>
      <attachid>240842</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2014-11-03 14:19:45 -0800</bug_when>
    <thetext>Comment on attachment 240842
Patch

Thanks Philippe!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1046026</commentid>
    <comment_count>23</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2014-11-04 01:31:14 -0800</bug_when>
    <thetext>Committed r175526: &lt;http://trac.webkit.org/changeset/175526&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1046028</commentid>
    <comment_count>24</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2014-11-04 01:34:52 -0800</bug_when>
    <thetext>I opened bug 138354 as a follow-up to improve the ::extraMemoryCost() implementation for the GStreamer backend.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>68819</attachid>
            <date>2010-09-25 02:37:07 -0700</date>
            <delta_ts>2011-04-25 08:43:46 -0700</delta_ts>
            <desc>video memory leak use case</desc>
            <filename>testvideoconsumption.html</filename>
            <type>text/html</type>
            <size>423</size>
            <attacher name="Cedric de Saint Martin">cedric</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjxodG1sPgo8aGVhZD4KPC9oZWFkPgo8Ym9keT4KPHNjcmlwdD4KICBm
dW5jdGlvbiBhcHBlbmRWaWRlbygpIHsKICAgIHZpZGVvID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgndmlkZW8nKTsKICAgIHZpZGVvLnNyYyA9ICJhc3NldHMvY2hyb21lLm1wNCI7CiAgICBkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHZpZGVvKTsKICAgIHNldFRpbWVvdXQoZGVsZXRlVmlkZW8s
IDIwMDApOwogIH0KCiAgZnVuY3Rpb24gZGVsZXRlVmlkZW8oKSB7CiAgICBkb2N1bWVudC5ib2R5
LnJlbW92ZUNoaWxkKGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCd2aWRlbycpWzBdKTsK
ICAgIHNldFRpbWVvdXQoYXBwZW5kVmlkZW8sIDIwMDApOwogIH0KCiAgYXBwZW5kVmlkZW8oKTsK
PC9zY3JpcHQ+CjwvYm9keT4KPC9odG1s
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>90918</attachid>
            <date>2011-04-25 08:43:46 -0700</date>
            <delta_ts>2011-04-25 08:43:46 -0700</delta_ts>
            <desc>video memory leak use case 2</desc>
            <filename>usecase.html</filename>
            <type>text/html</type>
            <size>461</size>
            <attacher name="Cedric de Saint Martin">cedric</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjxodG1sPgo8aGVhZD4KPC9oZWFkPgo8Ym9keT4KPHNjcmlwdD4KICBm
dW5jdGlvbiBhcHBlbmRWaWRlbygpIHsKICAgIHZhciB2aWRlbyA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoJ3ZpZGVvJyk7CiAgICB2aWRlby5zcmMgPSAiaHR0cDovL21lZGlhLmNoaWt1eW9ub2su
cnUvYW1iaWxpZ2h0L2RlbW8yLm1wNCI7CiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHZp
ZGVvKTsKICAgIHNldFRpbWVvdXQoZGVsZXRlVmlkZW8sIDIwMDApOwogIH0KCiAgZnVuY3Rpb24g
ZGVsZXRlVmlkZW8oKSB7CiAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGRvY3VtZW50Lmdl
dEVsZW1lbnRzQnlUYWdOYW1lKCd2aWRlbycpWzBdKTsKICAgIHNldFRpbWVvdXQoYXBwZW5kVmlk
ZW8sIDIwMDApOwogIH0KCiAgYXBwZW5kVmlkZW8oKTsKICAKPC9zY3JpcHQ+CjwvYm9keT4KPC9o
dG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>240716</attachid>
            <date>2014-10-30 17:32:27 -0700</date>
            <delta_ts>2014-10-30 17:32:27 -0700</delta_ts>
            <desc>Video element memory leak</desc>
            <filename>test.html</filename>
            <type>text/html</type>
            <size>2193</size>
            <attacher name="Patrick Ward">patrick</attacher>
            
              <data encoding="base64">PGh0bWw+CjxzY3JpcHQ+CnZhciB2aWRlb1RvZ2dsZSA9IHRydWU7CnZhciBhZGRSZW1vdmVUb2dn
bGUgPSB0cnVlOwp2YXIgYWRkUmVtb3ZlU3JjVG9nZ2xlID0gdHJ1ZTsKCmZ1bmN0aW9uIHRvZ2ds
ZVZpZGVvICgpIHsKICAgIGlmICh2aWRlb1RvZ2dsZSkKICAgICAgICBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgidmlkZW8tcGxheWVyIikuc2V0QXR0cmlidXRlKCJzcmMiLCAiZmlsZTovLy9ob21l
L3BhdHJpY2svRG93bmxvYWRzL2JpZ19idWNrX2J1bm55Lm1wNCIpOwogICAgZWxzZQogICAgICAg
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ2aWRlby1wbGF5ZXIiKS5zZXRBdHRyaWJ1dGUoInNy
YyIsICJmaWxlOi8vL2hvbWUvcGF0cmljay9Eb3dubG9hZHMvYmlnX2J1Y2tfYnVubnkyLm1wNCIp
OwoKICAgIHZpZGVvVG9nZ2xlID0gIXZpZGVvVG9nZ2xlOwp9CgpmdW5jdGlvbiBhZGRSZW1vdmVW
aWRlbyAoKSB7CiAgICBpZiAoYWRkUmVtb3ZlVG9nZ2xlKSB7CiAgICAgICAgdmFyIHZpZGVvID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiVklERU8iKTsKICAgICAgICB2aWRlby5pZCA9ICJ2aWRl
by1wbGF5ZXIiOwogICAgICAgIHZpZGVvLnNldEF0dHJpYnV0ZSgid2lkdGgiLCAiODcwIik7CiAg
ICAgICAgdmlkZW8uc2V0QXR0cmlidXRlKCJoZWlnaHQiLCAiNTIwIik7CgogICAgICAgIHZhciBz
b3VyY2UgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJTT1VSQ0UiKTsKICAgICAgICBzb3VyY2Uu
c2V0QXR0cmlidXRlKCJzcmMiLCAiZmlsZTovLy9ob21lL3BhdHJpY2svRG93bmxvYWRzL2JpZ19i
dWNrX2J1bm55Lm1wNCIpOwogICAgICAgIHNvdXJjZS5zZXRBdHRyaWJ1dGUoInR5cGUiLCAidmlk
ZW8vbXA0Iik7CgogICAgICAgIHZpZGVvLmFwcGVuZENoaWxkKHNvdXJjZSk7CiAgICAgICAgZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxpZ2h0Ym94LWlkIikuYXBwZW5kQ2hpbGQodmlkZW8pOwoK
ICAgIH0gZWxzZSB7CiAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxpZ2h0Ym94LWlk
IikucmVtb3ZlQ2hpbGQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInZpZGVvLXBsYXllciIpKTsK
ICAgIH0KCiAgICBhZGRSZW1vdmVUb2dnbGUgPSAhYWRkUmVtb3ZlVG9nZ2xlOwp9CgpmdW5jdGlv
biBhZGRSZW1vdmVTcmNWaWRlbyAoKSB7CiAgICBpZiAoYWRkUmVtb3ZlU3JjVG9nZ2xlKSB7CiAg
ICAgICAgdmFyIHZpZGVvID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiVklERU8iKTsKICAgICAg
ICB2aWRlby5pZCA9ICJ2aWRlby1wbGF5ZXIiOwogICAgICAgIHZpZGVvLnNldEF0dHJpYnV0ZSgi
d2lkdGgiLCAiODcwIik7CiAgICAgICAgdmlkZW8uc2V0QXR0cmlidXRlKCJoZWlnaHQiLCAiNTIw
Iik7CgogICAgICAgIHZhciBzb3VyY2UgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJTT1VSQ0Ui
KTsKICAgICAgICBzb3VyY2Uuc2V0QXR0cmlidXRlKCJzcmMiLCAiZmlsZTovLy9ob21lL3BhdHJp
Y2svRG93bmxvYWRzL2JpZ19idWNrX2J1bm55Lm1wNCIpOwogICAgICAgIHNvdXJjZS5zZXRBdHRy
aWJ1dGUoInR5cGUiLCAidmlkZW8vbXA0Iik7CgogICAgICAgIHZpZGVvLmFwcGVuZENoaWxkKHNv
dXJjZSk7CiAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxpZ2h0Ym94LWlkIikuYXBw
ZW5kQ2hpbGQodmlkZW8pOwoKICAgIH0gZWxzZSB7CiAgICAgICAgdmFyIHZpZGVvUGxheWVyID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInZpZGVvLXBsYXllciIpOwogICAgICAgIHZpZGVvUGxh
eWVyLnNldEF0dHJpYnV0ZSgic3JjIiwgIiIpOwogICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJsaWdodGJveC1pZCIpLnJlbW92ZUNoaWxkKHZpZGVvUGxheWVyKTsKICAgIH0KCiAgICBh
ZGRSZW1vdmVTcmNUb2dnbGUgPSAhYWRkUmVtb3ZlU3JjVG9nZ2xlOwp9Cjwvc2NyaXB0Pgo8ZGl2
Pgo8YnV0dG9uIG9uY2xpY2s9InRvZ2dsZVZpZGVvKCkiPlRvZ2dsZSBWaWRlbzwvYnV0dG9uPgo8
YnV0dG9uIG9uY2xpY2s9ImFkZFJlbW92ZVZpZGVvKCkiPkFkZC9SZW1vdmUgVmlkZW88L2J1dHRv
bj4KPGJ1dHRvbiBvbmNsaWNrPSJhZGRSZW1vdmVTcmNWaWRlbygpIj5BZGQvUmVtb3ZlIFNyYyBW
aWRlbzwvYnV0dG9uPgo8L2Rpdj4KPGRpdiBpZD0ibGlnaHRib3gtaWQiIGNsYXNzPSJsaWdodGJv
eC15b3V0dWJlIj4KPC9kaXY+CjwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>240760</attachid>
            <date>2014-10-31 15:25:12 -0700</date>
            <delta_ts>2014-11-02 08:30:36 -0800</delta_ts>
            <desc>Test patch that helps a little with the memory leak</desc>
            <filename>0001-LEAK-GStreamer-Removing-video-element-will-not-free-.patch</filename>
            <type>text/plain</type>
            <size>2921</size>
            <attacher name="Patrick Ward">patrick</attacher>
            
              <data encoding="base64">RnJvbSBjZTVkNTAyNDdjODk5MTViZGM3OTVjYjJhMzdjZjM5MmI0YmU5N2FjIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQ0KRnJvbTogUGF0cmljayBXYXJkIDxwYXRyaWNrQGVuZGxlc3NtLmNvbT4N
CkRhdGU6IFRodSwgMzAgT2N0IDIwMTQgMTk6MDA6MzYgLTA3MDANClN1YmplY3Q6IFtQQVRDSF0g
W0xFQUtdIFtHU3RyZWFtZXJdIFJlbW92aW5nIHZpZGVvIGVsZW1lbnQgd2lsbCBub3QgZnJlZQ0K
IGFzc2lnbmVkIG1lbW9yeQ0KDQotLS0NCiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTQgKysrKysrKysrKysrKysNCiAuLi4vZ3Jh
cGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAgICAgIHwgMTAg
KysrKysrKysrKw0KIC4uLi9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0
cmVhbWVyLmggICAgICAgfCAgMiArKw0KIDMgZmlsZXMgY2hhbmdlZCwgMjYgaW5zZXJ0aW9ucygr
KQ0KDQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nDQppbmRleCAzYmMyNGYxLi5iOThmNzQ4IDEwMDY0NA0KLS0tIGEvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nDQorKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cNCkBAIC0x
LDMgKzEsMTcgQEANCisyMDE0LTEwLTMwICBQYXRyaWNrIFdhcmQgIDxwYXRyaWNrQGVuZGxlc3Nt
LmNvbT4NCisNCisgICAgICAgIFtMRUFLXSBbR1N0cmVhbWVyXSBSZW1vdmluZyB2aWRlbyBlbGVt
ZW50IHdpbGwgbm90IGZyZWUgYXNzaWduZWQgbWVtb3J5DQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDY1NjANCisNCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLg0KKw0KKyAgICAgICAgSW1wbGVtZW50IGV4dHJhTWVtb3J5Q29zdCgp
IHRvIGFsbG93IHRoZSBHQyB0byBiZXR0ZXIga25vdyB3aGVuIGl0IHNob3VsZA0KKyAgICAgICAg
cmVjbGFpbSBtZW1vcnkgdXNlZCBieSB0aGUgZ3N0cmVhbWVyLWJhc2VkIG1lZGlhIHBsYXllci4N
CisNCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJp
dmF0ZUdTdHJlYW1lci5jcHA6DQorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRl
R1N0cmVhbWVyOjpleHRyYU1lbW9yeUNvc3QpOg0KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmg6DQorDQogMjAxNC0xMC0z
MSAgQW5kcnplaiBCYWRvd3NraSAgPGEuYmFkb3dza2lAc2Ftc3VuZy5jb20+DQogDQogICAgICAg
ICBbQVRLXSBJbXByb3ZlIEFjY2Vzc2liaWxpdHlUYWJsZUNlbGwncyBkZXRlcm1pbmVBY2Nlc3Np
YmlsaXR5Um9sZSBmdW5jdGlvbi4NCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZh
dGVHU3RyZWFtZXIuY3BwDQppbmRleCA4YWM4ZmNjLi5lZWI0OTc0IDEwMDY0NA0KLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0
ZUdTdHJlYW1lci5jcHANCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dz
dHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwDQpAQCAtMTkxMyw2ICsxOTEz
LDE2IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpzaW11bGF0ZUF1ZGlvSW50
ZXJydXB0aW9uKCkNCiAgICAgZ3N0X2VsZW1lbnRfcG9zdF9tZXNzYWdlKG1fcGxheUJpbi5nZXQo
KSwgbWVzc2FnZSk7DQogfQ0KIA0KK3NpemVfdCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6
OmV4dHJhTWVtb3J5Q29zdCgpIGNvbnN0DQorew0KKyAgICBmbG9hdCB0b3RhbER1cmF0aW9uID0g
ZHVyYXRpb24oKTsNCisgICAgaWYgKCF0b3RhbER1cmF0aW9uKQ0KKyAgICAgICAgcmV0dXJuIDA7
DQorDQorICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBleHRyYSA9IHRvdGFsQnl0ZXMoKSAqIGJ1ZmZl
cmVkKCktPnRvdGFsRHVyYXRpb24oKS50b0RvdWJsZSgpIC8gdG90YWxEdXJhdGlvbjsNCisgICAg
cmV0dXJuIHN0YXRpY19jYXN0PHNpemVfdD4oZXh0cmEpOw0KK30NCisNCiBib29sIE1lZGlhUGxh
eWVyUHJpdmF0ZUdTdHJlYW1lcjo6ZGlkUGFzc0NPUlNBY2Nlc3NDaGVjaygpIGNvbnN0DQogew0K
ICAgICBpZiAoV0VCS0lUX0lTX1dFQl9TUkMobV9zb3VyY2UuZ2V0KCkpKQ0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclBy
aXZhdGVHU3RyZWFtZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJl
YW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuaA0KaW5kZXggNTA4NDkyMS4uOGMyZGE2
NyAxMDA2NDQNCi0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1l
ci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuaA0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5oDQpA
QCAtMTIzLDYgKzEyMyw4IEBAIHB1YmxpYzoNCiANCiAgICAgdm9pZCBzaW11bGF0ZUF1ZGlvSW50
ZXJydXB0aW9uKCk7DQogDQorICAgIHNpemVfdCBleHRyYU1lbW9yeUNvc3QoKSBjb25zdDsNCisN
CiAgICAgYm9vbCBjaGFuZ2VQaXBlbGluZVN0YXRlKEdzdFN0YXRlKTsNCiANCiBwcml2YXRlOg0K
LS0gDQoxLjkuMw0KDQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>240809</attachid>
            <date>2014-11-02 08:30:48 -0800</date>
            <delta_ts>2014-11-02 08:32:25 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-46560-20141102173056.patch</filename>
            <type>text/plain</type>
            <size>4572</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc1NDYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2U4ZTI5ZmVkYzRmNmUy
YjE1NjBlMmVmZmM4MGNiN2Q1ZmRkMDlhMC4uMzRjYTY2ODcxNzA2ZmU3Yzg3MDMzYWFmZDRlMTZj
M2I5OWY1YjJlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE0LTEwLTMxICBQaGls
aXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KKworICAgICAgICBbTEVBS10gW0dT
dHJlYW1lcl0gUmVtb3ZpbmcgdmlkZW8gZWxlbWVudCB3aWxsIG5vdCBmcmVlIGFzc2lnbmVkIG1l
bW9yeQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDY1
NjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNb3Zl
ZCB0aGUgOjpleHRyYU1lbW9yeUNvc3QoKSBpbXBsZW1lbnRhdGlvbiB0byB0aGUKKyAgICAgICAg
TWVkaWFQbGF5ZXJQaXZhdGVJbnRlcmZhY2UgYmFzZSBjbGFzcy4gVGhpcyBkZWZhdWx0IGltcGxl
bWVudGF0aW9uCisgICAgICAgIGlzIG5vdyBzaGFyZWQgYmV0d2VlbiB0aGUgdmFyaW91cyBNZWRp
YVBsYXllclByaXZhdGUgYmFja2VuZHMsCisgICAgICAgIGV4Y2VwdGVkIHRoZSBBVkYgTWVkaWFT
b3VyY2UgcGxheWVyIHdoaWNoIHN0aWxsIHJlcG9ydHMgbm8gZXh0cmEKKyAgICAgICAgbWVtb3J5
IGNvc3QuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUu
aDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZTo6dG90YWxC
eXRlcyk6IE1ha2UKKyAgICAgICAgdG90YWxCeXRlcygpIHBhcnQgb2YgdGhlIE1lZGlhUGxheWVy
UHJpdmF0ZSBpbnRlcmZhY2UuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVJ
bnRlcmZhY2U6OmV4dHJhTWVtb3J5Q29zdCk6IERlZmF1bHQKKyAgICAgICAgaW1wbGVtZW50YXRp
b24uCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVy
UHJpdmF0ZUFWRm91bmRhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclBy
aXZhdGVBVkZvdW5kYXRpb246OmV4dHJhTWVtb3J5Q29zdCk6IERlbGV0ZWQuCisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRh
dGlvbi5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXll
clByaXZhdGVHU3RyZWFtZXJCYXNlLmg6CisKIDIwMTQtMTEtMDEgIEFsZXhleSBQcm9za3VyeWFr
b3YgIDxhcEBhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTjogVXNpbmcgYSBtZWRpYSBl
bGVtZW50IGNoYW5nZXMgd2luZG93Lm5hbWUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKaW5kZXggMDM4N2E3ZDE1MjhjNGQ1
OGViNDM1NjY3NWIxZDg1N2VmNTZlNjBhYS4uZWYwMjY3YzYyOTlkZGQ3OWNiMDNiOGIwNWQwMzIx
Y2YxZjkyYTczNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
TWVkaWFQbGF5ZXJQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKQEAgLTEzMCw2ICsxMzAsNyBAQCBwdWJsaWM6CiAgICAg
dmlydHVhbCBNZWRpYVRpbWUgbWluTWVkaWFUaW1lU2Vla2FibGUoKSBjb25zdCB7IHJldHVybiBN
ZWRpYVRpbWU6OmNyZWF0ZVdpdGhEb3VibGUobWluVGltZVNlZWthYmxlKCkpOyB9CiAgICAgdmly
dHVhbCBzdGQ6OnVuaXF1ZV9wdHI8UGxhdGZvcm1UaW1lUmFuZ2VzPiBidWZmZXJlZCgpIGNvbnN0
ID0gMDsKIAorICAgIHZpcnR1YWwgdW5zaWduZWQgdG90YWxCeXRlcygpIGNvbnN0IHsgcmV0dXJu
IDA7IH0KICAgICB2aXJ0dWFsIGJvb2wgZGlkTG9hZGluZ1Byb2dyZXNzKCkgY29uc3QgPSAwOwog
CiAgICAgdmlydHVhbCB2b2lkIHNldFNpemUoY29uc3QgSW50U2l6ZSYpID0gMDsKQEAgLTI0MCw4
ICsyNDEsMTUgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBTdHJpbmcgbGFuZ3VhZ2VPZlByaW1h
cnlBdWRpb1RyYWNrKCkgY29uc3QgeyByZXR1cm4gZW1wdHlTdHJpbmcoKTsgfQogCi0gICAgdmly
dHVhbCBzaXplX3QgZXh0cmFNZW1vcnlDb3N0KCkgY29uc3QgeyByZXR1cm4gMDsgfQotICAgIAor
ICAgIHZpcnR1YWwgc2l6ZV90IGV4dHJhTWVtb3J5Q29zdCgpIGNvbnN0IHsKKyAgICAgICAgTWVk
aWFUaW1lIGR1cmF0aW9uID0gdGhpcy0+ZHVyYXRpb25NZWRpYVRpbWUoKTsKKyAgICAgICAgaWYg
KCFkdXJhdGlvbikKKyAgICAgICAgICAgIHJldHVybiAwOworCisgICAgICAgIHVuc2lnbmVkIGxv
bmcgbG9uZyBleHRyYSA9IHRvdGFsQnl0ZXMoKSAqIGJ1ZmZlcmVkKCktPnRvdGFsRHVyYXRpb24o
KS50b0RvdWJsZSgpIC8gZHVyYXRpb24udG9Eb3VibGUoKTsKKyAgICAgICAgcmV0dXJuIHN0YXRp
Y19jYXN0PHVuc2lnbmVkPihleHRyYSk7CisgICAgfQorCiAgICAgdmlydHVhbCB1bnNpZ25lZCBs
b25nIGxvbmcgZmlsZVNpemUoKSBjb25zdCB7IHJldHVybiAwOyB9CiAKICNpZiBFTkFCTEUoTUVE
SUFfU09VUkNFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
YXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFQbGF5ZXJQcml2YXRl
QVZGb3VuZGF0aW9uLmNwcAppbmRleCAwNzdhMTI4NDQ0YjFjMGI1NWVkYjBjYTFlMjgyMDc1MzJk
NDI1NjQyLi4zMGUxOTRlYzdlZjExYzBjMDIzN2UzZDhhYzJlZDI2ZTQ4ZDg0NGZkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFQ
bGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uLmNw
cApAQCAtOTQ1LDE2ICs5NDUsNiBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlv
bjo6dHJhY2tNb2RlQ2hhbmdlZCgpCiAgICAgc2NoZWR1bGVNYWluVGhyZWFkTm90aWZpY2F0aW9u
KE5vdGlmaWNhdGlvbjo6SW5iYW5kVHJhY2tzTmVlZENvbmZpZ3VyYXRpb24pOwogfQogCi1zaXpl
X3QgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uOjpleHRyYU1lbW9yeUNvc3QoKSBjb25z
dAotewotICAgIE1lZGlhVGltZSBkdXJhdGlvbiA9IHRoaXMtPmR1cmF0aW9uTWVkaWFUaW1lKCk7
Ci0gICAgaWYgKCFkdXJhdGlvbikKLSAgICAgICAgcmV0dXJuIDA7Ci0KLSAgICB1bnNpZ25lZCBs
b25nIGxvbmcgZXh0cmEgPSB0b3RhbEJ5dGVzKCkgKiBidWZmZXJlZCgpLT50b3RhbER1cmF0aW9u
KCkudG9Eb3VibGUoKSAvIGR1cmF0aW9uLnRvRG91YmxlKCk7Ci0gICAgcmV0dXJuIHN0YXRpY19j
YXN0PHVuc2lnbmVkPihleHRyYSk7Ci19Ci0KIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3Vu
ZGF0aW9uOjpjbGVhclRleHRUcmFja3MoKQogewogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkg
PCBtX3RleHRUcmFja3Muc2l6ZSgpOyArK2kpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5k
YXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9N
ZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24uaAppbmRleCA2NjBiMGMwMDI1ZDFiN2RlN2M1
ZDc1YWExYmM3NWI4ODhiYzFmZTg1Li44ZGJlODU2YTg1YmVhZWFkNjc0YzdlYzI3NzQ0ZmFkYjc4
ZGIxMWY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZv
dW5kYXRpb24vTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFW
Rm91bmRhdGlvbi5oCkBAIC0yOTIsOCArMjkyLDYgQEAgcHJvdGVjdGVkOgogCiAgICAgdmlydHVh
bCBTdHJpbmcgZW5naW5lRGVzY3JpcHRpb24oKSBjb25zdCB7IHJldHVybiAiQVZGb3VuZGF0aW9u
IjsgfQogCi0gICAgdmlydHVhbCBzaXplX3QgZXh0cmFNZW1vcnlDb3N0KCkgY29uc3Qgb3ZlcnJp
ZGU7Ci0KICAgICB2aXJ0dWFsIHZvaWQgdHJhY2tNb2RlQ2hhbmdlZCgpIG92ZXJyaWRlOwogI2lm
IEVOQUJMRShBVkZfQ0FQVElPTlMpCiAgICAgdmlydHVhbCB2b2lkIG5vdGlmeVRyYWNrTW9kZUNo
YW5nZWQoKSB7IH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>240810</attachid>
            <date>2014-11-02 08:32:32 -0800</date>
            <delta_ts>2014-11-02 09:19:32 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-46560-20141102173241.patch</filename>
            <type>text/plain</type>
            <size>4577</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc1NDYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2U4ZTI5ZmVkYzRmNmUy
YjE1NjBlMmVmZmM4MGNiN2Q1ZmRkMDlhMC4uMzRjYTY2ODcxNzA2ZmU3Yzg3MDMzYWFmZDRlMTZj
M2I5OWY1YjJlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE0LTEwLTMxICBQaGls
aXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KKworICAgICAgICBbTEVBS10gW0dT
dHJlYW1lcl0gUmVtb3ZpbmcgdmlkZW8gZWxlbWVudCB3aWxsIG5vdCBmcmVlIGFzc2lnbmVkIG1l
bW9yeQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDY1
NjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNb3Zl
ZCB0aGUgOjpleHRyYU1lbW9yeUNvc3QoKSBpbXBsZW1lbnRhdGlvbiB0byB0aGUKKyAgICAgICAg
TWVkaWFQbGF5ZXJQaXZhdGVJbnRlcmZhY2UgYmFzZSBjbGFzcy4gVGhpcyBkZWZhdWx0IGltcGxl
bWVudGF0aW9uCisgICAgICAgIGlzIG5vdyBzaGFyZWQgYmV0d2VlbiB0aGUgdmFyaW91cyBNZWRp
YVBsYXllclByaXZhdGUgYmFja2VuZHMsCisgICAgICAgIGV4Y2VwdGVkIHRoZSBBVkYgTWVkaWFT
b3VyY2UgcGxheWVyIHdoaWNoIHN0aWxsIHJlcG9ydHMgbm8gZXh0cmEKKyAgICAgICAgbWVtb3J5
IGNvc3QuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUu
aDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZTo6dG90YWxC
eXRlcyk6IE1ha2UKKyAgICAgICAgdG90YWxCeXRlcygpIHBhcnQgb2YgdGhlIE1lZGlhUGxheWVy
UHJpdmF0ZSBpbnRlcmZhY2UuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVJ
bnRlcmZhY2U6OmV4dHJhTWVtb3J5Q29zdCk6IERlZmF1bHQKKyAgICAgICAgaW1wbGVtZW50YXRp
b24uCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVy
UHJpdmF0ZUFWRm91bmRhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclBy
aXZhdGVBVkZvdW5kYXRpb246OmV4dHJhTWVtb3J5Q29zdCk6IERlbGV0ZWQuCisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRh
dGlvbi5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXll
clByaXZhdGVHU3RyZWFtZXJCYXNlLmg6CisKIDIwMTQtMTEtMDEgIEFsZXhleSBQcm9za3VyeWFr
b3YgIDxhcEBhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTjogVXNpbmcgYSBtZWRpYSBl
bGVtZW50IGNoYW5nZXMgd2luZG93Lm5hbWUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKaW5kZXggMDM4N2E3ZDE1MjhjNGQ1
OGViNDM1NjY3NWIxZDg1N2VmNTZlNjBhYS4uYmU4MDQ4MDcwYTBmYmZiOTY5YThiYmQwNjY0OWU3
MzQ5ZjkwYTcxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
TWVkaWFQbGF5ZXJQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKQEAgLTEzMCw2ICsxMzAsNyBAQCBwdWJsaWM6CiAgICAg
dmlydHVhbCBNZWRpYVRpbWUgbWluTWVkaWFUaW1lU2Vla2FibGUoKSBjb25zdCB7IHJldHVybiBN
ZWRpYVRpbWU6OmNyZWF0ZVdpdGhEb3VibGUobWluVGltZVNlZWthYmxlKCkpOyB9CiAgICAgdmly
dHVhbCBzdGQ6OnVuaXF1ZV9wdHI8UGxhdGZvcm1UaW1lUmFuZ2VzPiBidWZmZXJlZCgpIGNvbnN0
ID0gMDsKIAorICAgIHZpcnR1YWwgdW5zaWduZWQgdG90YWxCeXRlcygpIGNvbnN0IHsgcmV0dXJu
IDA7IH0KICAgICB2aXJ0dWFsIGJvb2wgZGlkTG9hZGluZ1Byb2dyZXNzKCkgY29uc3QgPSAwOwog
CiAgICAgdmlydHVhbCB2b2lkIHNldFNpemUoY29uc3QgSW50U2l6ZSYpID0gMDsKQEAgLTI0MCw4
ICsyNDEsMTYgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBTdHJpbmcgbGFuZ3VhZ2VPZlByaW1h
cnlBdWRpb1RyYWNrKCkgY29uc3QgeyByZXR1cm4gZW1wdHlTdHJpbmcoKTsgfQogCi0gICAgdmly
dHVhbCBzaXplX3QgZXh0cmFNZW1vcnlDb3N0KCkgY29uc3QgeyByZXR1cm4gMDsgfQotICAgIAor
ICAgIHZpcnR1YWwgc2l6ZV90IGV4dHJhTWVtb3J5Q29zdCgpIGNvbnN0CisgICAgeworICAgICAg
ICBNZWRpYVRpbWUgZHVyYXRpb24gPSB0aGlzLT5kdXJhdGlvbk1lZGlhVGltZSgpOworICAgICAg
ICBpZiAoIWR1cmF0aW9uKQorICAgICAgICAgICAgcmV0dXJuIDA7CisKKyAgICAgICAgdW5zaWdu
ZWQgbG9uZyBsb25nIGV4dHJhID0gdG90YWxCeXRlcygpICogYnVmZmVyZWQoKS0+dG90YWxEdXJh
dGlvbigpLnRvRG91YmxlKCkgLyBkdXJhdGlvbi50b0RvdWJsZSgpOworICAgICAgICByZXR1cm4g
c3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGV4dHJhKTsKKyAgICB9CisKICAgICB2aXJ0dWFsIHVuc2ln
bmVkIGxvbmcgbG9uZyBmaWxlU2l6ZSgpIGNvbnN0IHsgcmV0dXJuIDA7IH0KIAogI2lmIEVOQUJM
RShNRURJQV9TT1VSQ0UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9hdmZvdW5kYXRpb24vTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclBy
aXZhdGVBVkZvdW5kYXRpb24uY3BwCmluZGV4IDA3N2ExMjg0NDRiMWMwYjU1ZWRiMGNhMWUyODIw
NzUzMmQ0MjU2NDIuLjMwZTE5NGVjN2VmMTFjMGMwMjM3ZTNkOGFjMmVkMjZlNDhkODQ0ZmQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9N
ZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRp
b24uY3BwCkBAIC05NDUsMTYgKzk0NSw2IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3Vu
ZGF0aW9uOjp0cmFja01vZGVDaGFuZ2VkKCkKICAgICBzY2hlZHVsZU1haW5UaHJlYWROb3RpZmlj
YXRpb24oTm90aWZpY2F0aW9uOjpJbmJhbmRUcmFja3NOZWVkQ29uZmlndXJhdGlvbik7CiB9CiAK
LXNpemVfdCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb246OmV4dHJhTWVtb3J5Q29zdCgp
IGNvbnN0Ci17Ci0gICAgTWVkaWFUaW1lIGR1cmF0aW9uID0gdGhpcy0+ZHVyYXRpb25NZWRpYVRp
bWUoKTsKLSAgICBpZiAoIWR1cmF0aW9uKQotICAgICAgICByZXR1cm4gMDsKLQotICAgIHVuc2ln
bmVkIGxvbmcgbG9uZyBleHRyYSA9IHRvdGFsQnl0ZXMoKSAqIGJ1ZmZlcmVkKCktPnRvdGFsRHVy
YXRpb24oKS50b0RvdWJsZSgpIC8gZHVyYXRpb24udG9Eb3VibGUoKTsKLSAgICByZXR1cm4gc3Rh
dGljX2Nhc3Q8dW5zaWduZWQ+KGV4dHJhKTsKLX0KLQogdm9pZCBNZWRpYVBsYXllclByaXZhdGVB
VkZvdW5kYXRpb246OmNsZWFyVGV4dFRyYWNrcygpCiB7CiAgICAgZm9yICh1bnNpZ25lZCBpID0g
MDsgaSA8IG1fdGV4dFRyYWNrcy5zaXplKCk7ICsraSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFW
Rm91bmRhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5oCmluZGV4IDY2MGIwYzAwMjVkMWI3
ZGU3YzVkNzVhYTFiYzc1Yjg4OGJjMWZlODUuLjhkYmU4NTZhODViZWFlYWQ2NzRjN2VjMjc3NDRm
YWRiNzhkYjExZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24uaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFQbGF5ZXJQcml2
YXRlQVZGb3VuZGF0aW9uLmgKQEAgLTI5Miw4ICsyOTIsNiBAQCBwcm90ZWN0ZWQ6CiAKICAgICB2
aXJ0dWFsIFN0cmluZyBlbmdpbmVEZXNjcmlwdGlvbigpIGNvbnN0IHsgcmV0dXJuICJBVkZvdW5k
YXRpb24iOyB9CiAKLSAgICB2aXJ0dWFsIHNpemVfdCBleHRyYU1lbW9yeUNvc3QoKSBjb25zdCBv
dmVycmlkZTsKLQogICAgIHZpcnR1YWwgdm9pZCB0cmFja01vZGVDaGFuZ2VkKCkgb3ZlcnJpZGU7
CiAjaWYgRU5BQkxFKEFWRl9DQVBUSU9OUykKICAgICB2aXJ0dWFsIHZvaWQgbm90aWZ5VHJhY2tN
b2RlQ2hhbmdlZCgpIHsgfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>240812</attachid>
            <date>2014-11-02 09:19:39 -0800</date>
            <delta_ts>2014-11-03 05:42:08 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-46560-20141102181948.patch</filename>
            <type>text/plain</type>
            <size>8342</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc1NDYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2U4ZTI5ZmVkYzRmNmUy
YjE1NjBlMmVmZmM4MGNiN2Q1ZmRkMDlhMC4uMzRjYTY2ODcxNzA2ZmU3Yzg3MDMzYWFmZDRlMTZj
M2I5OWY1YjJlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE0LTEwLTMxICBQaGls
aXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KKworICAgICAgICBbTEVBS10gW0dT
dHJlYW1lcl0gUmVtb3ZpbmcgdmlkZW8gZWxlbWVudCB3aWxsIG5vdCBmcmVlIGFzc2lnbmVkIG1l
bW9yeQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDY1
NjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNb3Zl
ZCB0aGUgOjpleHRyYU1lbW9yeUNvc3QoKSBpbXBsZW1lbnRhdGlvbiB0byB0aGUKKyAgICAgICAg
TWVkaWFQbGF5ZXJQaXZhdGVJbnRlcmZhY2UgYmFzZSBjbGFzcy4gVGhpcyBkZWZhdWx0IGltcGxl
bWVudGF0aW9uCisgICAgICAgIGlzIG5vdyBzaGFyZWQgYmV0d2VlbiB0aGUgdmFyaW91cyBNZWRp
YVBsYXllclByaXZhdGUgYmFja2VuZHMsCisgICAgICAgIGV4Y2VwdGVkIHRoZSBBVkYgTWVkaWFT
b3VyY2UgcGxheWVyIHdoaWNoIHN0aWxsIHJlcG9ydHMgbm8gZXh0cmEKKyAgICAgICAgbWVtb3J5
IGNvc3QuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUu
aDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZTo6dG90YWxC
eXRlcyk6IE1ha2UKKyAgICAgICAgdG90YWxCeXRlcygpIHBhcnQgb2YgdGhlIE1lZGlhUGxheWVy
UHJpdmF0ZSBpbnRlcmZhY2UuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVJ
bnRlcmZhY2U6OmV4dHJhTWVtb3J5Q29zdCk6IERlZmF1bHQKKyAgICAgICAgaW1wbGVtZW50YXRp
b24uCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVy
UHJpdmF0ZUFWRm91bmRhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclBy
aXZhdGVBVkZvdW5kYXRpb246OmV4dHJhTWVtb3J5Q29zdCk6IERlbGV0ZWQuCisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRh
dGlvbi5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXll
clByaXZhdGVHU3RyZWFtZXJCYXNlLmg6CisKIDIwMTQtMTEtMDEgIEFsZXhleSBQcm9za3VyeWFr
b3YgIDxhcEBhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTjogVXNpbmcgYSBtZWRpYSBl
bGVtZW50IGNoYW5nZXMgd2luZG93Lm5hbWUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcAppbmRleCAxM2NmMmFmNzNlYWZkNjc0MWNmOWRiOTU3
MDVjZThmNzkzZDBmYzlmLi43YTUzM2QwMDI3OTFmYzE5ZjdmOTYwNmM5ZmZjMzc1ZGMzMWQ4Njc0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXll
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIu
Y3BwCkBAIC0xMjUsNyArMTI1LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgZG91YmxlIG1pblRp
bWVTZWVrYWJsZSgpIGNvbnN0IHsgcmV0dXJuIDA7IH0KICAgICB2aXJ0dWFsIHN0ZDo6dW5pcXVl
X3B0cjxQbGF0Zm9ybVRpbWVSYW5nZXM+IGJ1ZmZlcmVkKCkgY29uc3QgeyByZXR1cm4gUGxhdGZv
cm1UaW1lUmFuZ2VzOjpjcmVhdGUoKTsgfQogCi0gICAgdmlydHVhbCB1bnNpZ25lZCB0b3RhbEJ5
dGVzKCkgY29uc3QgeyByZXR1cm4gMDsgfQorICAgIHZpcnR1YWwgdW5zaWduZWQgbG9uZyBsb25n
IHRvdGFsQnl0ZXMoKSBjb25zdCB7IHJldHVybiAwOyB9CiAgICAgdmlydHVhbCBib29sIGRpZExv
YWRpbmdQcm9ncmVzcygpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAKICAgICB2aXJ0dWFsIHZv
aWQgc2V0U2l6ZShjb25zdCBJbnRTaXplJikgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCmluZGV4IDAzODdhN2QxNTI4
YzRkNThlYjQzNTY2NzViMWQ4NTdlZjU2ZTYwYWEuLjI1MWM5NWVhY2MxYzFjMDliYWIzM2VjOTM0
NTI3MzcxYTQ5YmVjMmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCkBAIC0xMzAsNiArMTMwLDcgQEAgcHVibGljOgog
ICAgIHZpcnR1YWwgTWVkaWFUaW1lIG1pbk1lZGlhVGltZVNlZWthYmxlKCkgY29uc3QgeyByZXR1
cm4gTWVkaWFUaW1lOjpjcmVhdGVXaXRoRG91YmxlKG1pblRpbWVTZWVrYWJsZSgpKTsgfQogICAg
IHZpcnR1YWwgc3RkOjp1bmlxdWVfcHRyPFBsYXRmb3JtVGltZVJhbmdlcz4gYnVmZmVyZWQoKSBj
b25zdCA9IDA7CiAKKyAgICB2aXJ0dWFsIHVuc2lnbmVkIGxvbmcgbG9uZyB0b3RhbEJ5dGVzKCkg
Y29uc3QgeyByZXR1cm4gMDsgfQogICAgIHZpcnR1YWwgYm9vbCBkaWRMb2FkaW5nUHJvZ3Jlc3Mo
KSBjb25zdCA9IDA7CiAKICAgICB2aXJ0dWFsIHZvaWQgc2V0U2l6ZShjb25zdCBJbnRTaXplJikg
PSAwOwpAQCAtMjQwLDggKzI0MSwxNiBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIFN0cmluZyBs
YW5ndWFnZU9mUHJpbWFyeUF1ZGlvVHJhY2soKSBjb25zdCB7IHJldHVybiBlbXB0eVN0cmluZygp
OyB9CiAKLSAgICB2aXJ0dWFsIHNpemVfdCBleHRyYU1lbW9yeUNvc3QoKSBjb25zdCB7IHJldHVy
biAwOyB9Ci0gICAgCisgICAgdmlydHVhbCBzaXplX3QgZXh0cmFNZW1vcnlDb3N0KCkgY29uc3QK
KyAgICB7CisgICAgICAgIE1lZGlhVGltZSBkdXJhdGlvbiA9IHRoaXMtPmR1cmF0aW9uTWVkaWFU
aW1lKCk7CisgICAgICAgIGlmICghZHVyYXRpb24pCisgICAgICAgICAgICByZXR1cm4gMDsKKwor
ICAgICAgICB1bnNpZ25lZCBsb25nIGxvbmcgZXh0cmEgPSB0b3RhbEJ5dGVzKCkgKiBidWZmZXJl
ZCgpLT50b3RhbER1cmF0aW9uKCkudG9Eb3VibGUoKSAvIGR1cmF0aW9uLnRvRG91YmxlKCk7Cisg
ICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oZXh0cmEpOworICAgIH0KKwogICAg
IHZpcnR1YWwgdW5zaWduZWQgbG9uZyBsb25nIGZpbGVTaXplKCkgY29uc3QgeyByZXR1cm4gMDsg
fQogCiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5k
YXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9u
L01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5jcHAKaW5kZXggMDc3YTEyODQ0NGIxYzBi
NTVlZGIwY2ExZTI4MjA3NTMyZDQyNTY0Mi4uMzBlMTk0ZWM3ZWYxMWMwYzAyMzdlM2Q4YWMyZWQy
NmU0OGQ4NDRmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
YXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJp
dmF0ZUFWRm91bmRhdGlvbi5jcHAKQEAgLTk0NSwxNiArOTQ1LDYgQEAgdm9pZCBNZWRpYVBsYXll
clByaXZhdGVBVkZvdW5kYXRpb246OnRyYWNrTW9kZUNoYW5nZWQoKQogICAgIHNjaGVkdWxlTWFp
blRocmVhZE5vdGlmaWNhdGlvbihOb3RpZmljYXRpb246OkluYmFuZFRyYWNrc05lZWRDb25maWd1
cmF0aW9uKTsKIH0KIAotc2l6ZV90IE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbjo6ZXh0
cmFNZW1vcnlDb3N0KCkgY29uc3QKLXsKLSAgICBNZWRpYVRpbWUgZHVyYXRpb24gPSB0aGlzLT5k
dXJhdGlvbk1lZGlhVGltZSgpOwotICAgIGlmICghZHVyYXRpb24pCi0gICAgICAgIHJldHVybiAw
OwotCi0gICAgdW5zaWduZWQgbG9uZyBsb25nIGV4dHJhID0gdG90YWxCeXRlcygpICogYnVmZmVy
ZWQoKS0+dG90YWxEdXJhdGlvbigpLnRvRG91YmxlKCkgLyBkdXJhdGlvbi50b0RvdWJsZSgpOwot
ICAgIHJldHVybiBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oZXh0cmEpOwotfQotCiB2b2lkIE1lZGlh
UGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbjo6Y2xlYXJUZXh0VHJhY2tzKCkKIHsKICAgICBmb3Ig
KHVuc2lnbmVkIGkgPSAwOyBpIDwgbV90ZXh0VHJhY2tzLnNpemUoKTsgKytpKSB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFQ
bGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9hdmZvdW5kYXRpb24vTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uLmgKaW5kZXgg
NjYwYjBjMDAyNWQxYjdkZTdjNWQ3NWFhMWJjNzViODg4YmMxZmU4NS4uOGRiZTg1NmE4NWJlYWVh
ZDY3NGM3ZWMyNzc0NGZhZGI3OGRiMTFmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlv
bi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9N
ZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24uaApAQCAtMjkyLDggKzI5Miw2IEBAIHByb3Rl
Y3RlZDoKIAogICAgIHZpcnR1YWwgU3RyaW5nIGVuZ2luZURlc2NyaXB0aW9uKCkgY29uc3QgeyBy
ZXR1cm4gIkFWRm91bmRhdGlvbiI7IH0KIAotICAgIHZpcnR1YWwgc2l6ZV90IGV4dHJhTWVtb3J5
Q29zdCgpIGNvbnN0IG92ZXJyaWRlOwotCiAgICAgdmlydHVhbCB2b2lkIHRyYWNrTW9kZUNoYW5n
ZWQoKSBvdmVycmlkZTsKICNpZiBFTkFCTEUoQVZGX0NBUFRJT05TKQogICAgIHZpcnR1YWwgdm9p
ZCBub3RpZnlUcmFja01vZGVDaGFuZ2VkKCkgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBs
YXllclByaXZhdGVHU3RyZWFtZXIuY3BwCmluZGV4IDhhYzhmY2NmYmFiM2ExNzU2ZDE5NzJlZDc0
YzdkMDY4ZGUzZDk2OGYuLjI1ZTVlYjYxOWM3MGI0Yzc5ZTMxZDQ0NmQ0NjFjZDA1YThiYTlhMDkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9N
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwCkBA
IC0yMTAsNyArMjEwLDcgQEAgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpNZWRpYVBsYXll
clByaXZhdGVHU3RyZWFtZXIoTWVkaWFQbGF5ZXIqIHBsYXllcikKICAgICAsIG1fdm9sdW1lQW5k
TXV0ZUluaXRpYWxpemVkKGZhbHNlKQogICAgICwgbV9oYXNWaWRlbyhmYWxzZSkKICAgICAsIG1f
aGFzQXVkaW8oZmFsc2UpCi0gICAgLCBtX3RvdGFsQnl0ZXMoLTEpCisgICAgLCBtX3RvdGFsQnl0
ZXMoMCkKICAgICAsIG1fcHJlc2VydmVzUGl0Y2goZmFsc2UpCiAgICAgLCBtX3JlcXVlc3RlZFN0
YXRlKEdTVF9TVEFURV9WT0lEX1BFTkRJTkcpCiAgICAgLCBtX21pc3NpbmdQbHVnaW5zKGZhbHNl
KQpAQCAtMTIyNywxMiArMTIyNywxMiBAQCBib29sIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1l
cjo6ZGlkTG9hZGluZ1Byb2dyZXNzKCkgY29uc3QKICAgICByZXR1cm4gZGlkTG9hZGluZ1Byb2dy
ZXNzOwogfQogCi11bnNpZ25lZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OnRvdGFsQnl0
ZXMoKSBjb25zdAordW5zaWduZWQgbG9uZyBsb25nIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1l
cjo6dG90YWxCeXRlcygpIGNvbnN0CiB7CiAgICAgaWYgKG1fZXJyb3JPY2N1cmVkKQogICAgICAg
ICByZXR1cm4gMDsKIAotICAgIGlmIChtX3RvdGFsQnl0ZXMgIT0gLTEpCisgICAgaWYgKG1fdG90
YWxCeXRlcykKICAgICAgICAgcmV0dXJuIG1fdG90YWxCeXRlczsKIAogICAgIGlmICghbV9zb3Vy
Y2UpCkBAIC0xMjQyLDcgKzEyNDIsNyBAQCB1bnNpZ25lZCBNZWRpYVBsYXllclByaXZhdGVHU3Ry
ZWFtZXI6OnRvdGFsQnl0ZXMoKSBjb25zdAogICAgIGdpbnQ2NCBsZW5ndGggPSAwOwogICAgIGlm
IChnc3RfZWxlbWVudF9xdWVyeV9kdXJhdGlvbihtX3NvdXJjZS5nZXQoKSwgZm10LCAmbGVuZ3Ro
KSkgewogICAgICAgICBJTkZPX01FRElBX01FU1NBR0UoInRvdGFsQnl0ZXMgJSIgR19HSU5UNjRf
Rk9STUFULCBsZW5ndGgpOwotICAgICAgICBtX3RvdGFsQnl0ZXMgPSBzdGF0aWNfY2FzdDx1bnNp
Z25lZD4obGVuZ3RoKTsKKyAgICAgICAgbV90b3RhbEJ5dGVzID0gc3RhdGljX2Nhc3Q8dW5zaWdu
ZWQgbG9uZyBsb25nPihsZW5ndGgpOwogICAgICAgICBtX2lzU3RyZWFtaW5nID0gIWxlbmd0aDsK
ICAgICAgICAgcmV0dXJuIG1fdG90YWxCeXRlczsKICAgICB9CkBAIC0xMjc3LDcgKzEyNzcsNyBA
QCB1bnNpZ25lZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OnRvdGFsQnl0ZXMoKSBjb25z
dAogICAgIGdzdF9pdGVyYXRvcl9mcmVlKGl0ZXIpOwogCiAgICAgSU5GT19NRURJQV9NRVNTQUdF
KCJ0b3RhbEJ5dGVzICUiIEdfR0lOVDY0X0ZPUk1BVCwgbGVuZ3RoKTsKLSAgICBtX3RvdGFsQnl0
ZXMgPSBzdGF0aWNfY2FzdDx1bnNpZ25lZD4obGVuZ3RoKTsKKyAgICBtX3RvdGFsQnl0ZXMgPSBz
dGF0aWNfY2FzdDx1bnNpZ25lZCBsb25nIGxvbmc+KGxlbmd0aCk7CiAgICAgbV9pc1N0cmVhbWlu
ZyA9ICFsZW5ndGg7CiAgICAgcmV0dXJuIG1fdG90YWxCeXRlczsKIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZh
dGVHU3RyZWFtZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1l
ci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuaAppbmRleCA1MDg0OTIxOTgyYzYxODQzMmEx
YWEyZjFmZmE5YzBmODFjMzFiYTc2Li43NzIwMDE1ZTM0ODE3YTk4MzViMmY0Nzc4YWEyOTEzZTRj
YjRiMmQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3Ry
ZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5o
CkBAIC05Miw3ICs5Miw3IEBAIHB1YmxpYzoKICAgICBzdGQ6OnVuaXF1ZV9wdHI8UGxhdGZvcm1U
aW1lUmFuZ2VzPiBidWZmZXJlZCgpIGNvbnN0OwogICAgIGZsb2F0IG1heFRpbWVTZWVrYWJsZSgp
IGNvbnN0OwogICAgIGJvb2wgZGlkTG9hZGluZ1Byb2dyZXNzKCkgY29uc3Q7Ci0gICAgdW5zaWdu
ZWQgdG90YWxCeXRlcygpIGNvbnN0OworICAgIHVuc2lnbmVkIGxvbmcgbG9uZyB0b3RhbEJ5dGVz
KCkgY29uc3Q7CiAgICAgZmxvYXQgbWF4VGltZUxvYWRlZCgpIGNvbnN0OwogCiAgICAgdm9pZCBs
b2FkU3RhdGVDaGFuZ2VkKCk7CkBAIC0yMDcsNyArMjA3LDcgQEAgcHJpdmF0ZToKICAgICBHVGhy
ZWFkU2FmZU1haW5Mb29wU291cmNlIG1fdmlkZW9UaW1lckhhbmRsZXI7CiAgICAgR1RocmVhZFNh
ZmVNYWluTG9vcFNvdXJjZSBtX3ZpZGVvQ2Fwc1RpbWVySGFuZGxlcjsKICAgICBHVGhyZWFkU2Fm
ZU1haW5Mb29wU291cmNlIG1fcmVhZHlUaW1lckhhbmRsZXI7Ci0gICAgbXV0YWJsZSBsb25nIG1f
dG90YWxCeXRlczsKKyAgICBtdXRhYmxlIHVuc2lnbmVkIGxvbmcgbG9uZyBtX3RvdGFsQnl0ZXM7
CiAgICAgVVJMIG1fdXJsOwogICAgIGJvb2wgbV9wcmVzZXJ2ZXNQaXRjaDsKICAgICBHc3RTdGF0
ZSBtX3JlcXVlc3RlZFN0YXRlOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>240842</attachid>
            <date>2014-11-03 05:42:16 -0800</date>
            <delta_ts>2014-11-03 14:19:45 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-46560-20141103144225.patch</filename>
            <type>text/plain</type>
            <size>9912</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc1NDY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjcwMGM2NjJmMTgxN2E5
MjQ4ZjI0NzcxNDc5YTBiZGJhNDg1YjQ1My4uNDIyYWIwYTViMGI0NjI5ZGVjOWRiYTVjOWYzZTNj
NzI4Y2Y4ZmM1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE0LTExLTAzICBQaGls
aXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KKworICAgICAgICBbTEVBS10gW0dT
dHJlYW1lcl0gUmVtb3ZpbmcgdmlkZW8gZWxlbWVudCB3aWxsIG5vdCBmcmVlIGFzc2lnbmVkIG1l
bW9yeQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDY1
NjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNb3Zl
ZCB0aGUgOjpleHRyYU1lbW9yeUNvc3QoKSBpbXBsZW1lbnRhdGlvbiB0byB0aGUKKyAgICAgICAg
TWVkaWFQbGF5ZXJQaXZhdGVJbnRlcmZhY2UgYmFzZSBjbGFzcy4gVGhpcyBkZWZhdWx0IGltcGxl
bWVudGF0aW9uCisgICAgICAgIGlzIG5vdyBzaGFyZWQgYmV0d2VlbiB0aGUgdmFyaW91cyBNZWRp
YVBsYXllclByaXZhdGUgYmFja2VuZHMsCisgICAgICAgIGV4Y2VwdGVkIHRoZSBBVkYgTWVkaWFT
b3VyY2UgcGxheWVyIHdoaWNoIHN0aWxsIHJlcG9ydHMgbm8gZXh0cmEKKyAgICAgICAgbWVtb3J5
IGNvc3QuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUu
aDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZTo6dG90YWxC
eXRlcyk6IE1ha2UKKyAgICAgICAgdG90YWxCeXRlcygpIHBhcnQgb2YgdGhlIE1lZGlhUGxheWVy
UHJpdmF0ZSBpbnRlcmZhY2UuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVJ
bnRlcmZhY2U6OmV4dHJhTWVtb3J5Q29zdCk6IERlZmF1bHQKKyAgICAgICAgaW1wbGVtZW50YXRp
b24uCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVy
UHJpdmF0ZUFWRm91bmRhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclBy
aXZhdGVBVkZvdW5kYXRpb246OmV4dHJhTWVtb3J5Q29zdCk6IERlbGV0ZWQuCisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRh
dGlvbi5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXll
clByaXZhdGVHU3RyZWFtZXJCYXNlLmg6CisKIDIwMTQtMTEtMDMgIENocmlzIER1bWV6ICA8Y2R1
bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBNb3ZlICd6b29tJyBDU1MgcHJvcGVydHkgdG8gdGhl
IG5ldyBTdHlsZUJ1aWxkZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL01lZGlhUGxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L01lZGlhUGxheWVyLmNwcAppbmRleCAxM2NmMmFmNzNlYWZkNjc0MWNmOWRiOTU3MDVjZThmNzkz
ZDBmYzlmLi43YTUzM2QwMDI3OTFmYzE5ZjdmOTYwNmM5ZmZjMzc1ZGMzMWQ4Njc0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCkBAIC0x
MjUsNyArMTI1LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgZG91YmxlIG1pblRpbWVTZWVrYWJs
ZSgpIGNvbnN0IHsgcmV0dXJuIDA7IH0KICAgICB2aXJ0dWFsIHN0ZDo6dW5pcXVlX3B0cjxQbGF0
Zm9ybVRpbWVSYW5nZXM+IGJ1ZmZlcmVkKCkgY29uc3QgeyByZXR1cm4gUGxhdGZvcm1UaW1lUmFu
Z2VzOjpjcmVhdGUoKTsgfQogCi0gICAgdmlydHVhbCB1bnNpZ25lZCB0b3RhbEJ5dGVzKCkgY29u
c3QgeyByZXR1cm4gMDsgfQorICAgIHZpcnR1YWwgdW5zaWduZWQgbG9uZyBsb25nIHRvdGFsQnl0
ZXMoKSBjb25zdCB7IHJldHVybiAwOyB9CiAgICAgdmlydHVhbCBib29sIGRpZExvYWRpbmdQcm9n
cmVzcygpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgc2V0U2l6
ZShjb25zdCBJbnRTaXplJikgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCmluZGV4IDAzODdhN2QxNTI4YzRkNThlYjQz
NTY2NzViMWQ4NTdlZjU2ZTYwYWEuLjI1MWM5NWVhY2MxYzFjMDliYWIzM2VjOTM0NTI3MzcxYTQ5
YmVjMmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlh
UGxheWVyUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01l
ZGlhUGxheWVyUHJpdmF0ZS5oCkBAIC0xMzAsNiArMTMwLDcgQEAgcHVibGljOgogICAgIHZpcnR1
YWwgTWVkaWFUaW1lIG1pbk1lZGlhVGltZVNlZWthYmxlKCkgY29uc3QgeyByZXR1cm4gTWVkaWFU
aW1lOjpjcmVhdGVXaXRoRG91YmxlKG1pblRpbWVTZWVrYWJsZSgpKTsgfQogICAgIHZpcnR1YWwg
c3RkOjp1bmlxdWVfcHRyPFBsYXRmb3JtVGltZVJhbmdlcz4gYnVmZmVyZWQoKSBjb25zdCA9IDA7
CiAKKyAgICB2aXJ0dWFsIHVuc2lnbmVkIGxvbmcgbG9uZyB0b3RhbEJ5dGVzKCkgY29uc3QgeyBy
ZXR1cm4gMDsgfQogICAgIHZpcnR1YWwgYm9vbCBkaWRMb2FkaW5nUHJvZ3Jlc3MoKSBjb25zdCA9
IDA7CiAKICAgICB2aXJ0dWFsIHZvaWQgc2V0U2l6ZShjb25zdCBJbnRTaXplJikgPSAwOwpAQCAt
MjQwLDggKzI0MSwxNiBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIFN0cmluZyBsYW5ndWFnZU9m
UHJpbWFyeUF1ZGlvVHJhY2soKSBjb25zdCB7IHJldHVybiBlbXB0eVN0cmluZygpOyB9CiAKLSAg
ICB2aXJ0dWFsIHNpemVfdCBleHRyYU1lbW9yeUNvc3QoKSBjb25zdCB7IHJldHVybiAwOyB9Ci0g
ICAgCisgICAgdmlydHVhbCBzaXplX3QgZXh0cmFNZW1vcnlDb3N0KCkgY29uc3QKKyAgICB7Cisg
ICAgICAgIE1lZGlhVGltZSBkdXJhdGlvbiA9IHRoaXMtPmR1cmF0aW9uTWVkaWFUaW1lKCk7Cisg
ICAgICAgIGlmICghZHVyYXRpb24pCisgICAgICAgICAgICByZXR1cm4gMDsKKworICAgICAgICB1
bnNpZ25lZCBsb25nIGxvbmcgZXh0cmEgPSB0b3RhbEJ5dGVzKCkgKiBidWZmZXJlZCgpLT50b3Rh
bER1cmF0aW9uKCkudG9Eb3VibGUoKSAvIGR1cmF0aW9uLnRvRG91YmxlKCk7CisgICAgICAgIHJl
dHVybiBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oZXh0cmEpOworICAgIH0KKwogICAgIHZpcnR1YWwg
dW5zaWduZWQgbG9uZyBsb25nIGZpbGVTaXplKCkgY29uc3QgeyByZXR1cm4gMDsgfQogCiAjaWYg
RU5BQkxFKE1FRElBX1NPVVJDRSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24uY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxh
eWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5jcHAKaW5kZXggMDc3YTEyODQ0NGIxYzBiNTVlZGIwY2Ex
ZTI4MjA3NTMyZDQyNTY0Mi4uMzBlMTk0ZWM3ZWYxMWMwYzAyMzdlM2Q4YWMyZWQyNmU0OGQ4NDRm
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91
bmRhdGlvbi5jcHAKQEAgLTk0NSwxNiArOTQ1LDYgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVB
VkZvdW5kYXRpb246OnRyYWNrTW9kZUNoYW5nZWQoKQogICAgIHNjaGVkdWxlTWFpblRocmVhZE5v
dGlmaWNhdGlvbihOb3RpZmljYXRpb246OkluYmFuZFRyYWNrc05lZWRDb25maWd1cmF0aW9uKTsK
IH0KIAotc2l6ZV90IE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbjo6ZXh0cmFNZW1vcnlD
b3N0KCkgY29uc3QKLXsKLSAgICBNZWRpYVRpbWUgZHVyYXRpb24gPSB0aGlzLT5kdXJhdGlvbk1l
ZGlhVGltZSgpOwotICAgIGlmICghZHVyYXRpb24pCi0gICAgICAgIHJldHVybiAwOwotCi0gICAg
dW5zaWduZWQgbG9uZyBsb25nIGV4dHJhID0gdG90YWxCeXRlcygpICogYnVmZmVyZWQoKS0+dG90
YWxEdXJhdGlvbigpLnRvRG91YmxlKCkgLyBkdXJhdGlvbi50b0RvdWJsZSgpOwotICAgIHJldHVy
biBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oZXh0cmEpOwotfQotCiB2b2lkIE1lZGlhUGxheWVyUHJp
dmF0ZUFWRm91bmRhdGlvbjo6Y2xlYXJUZXh0VHJhY2tzKCkKIHsKICAgICBmb3IgKHVuc2lnbmVk
IGkgPSAwOyBpIDwgbV90ZXh0VHJhY2tzLnNpemUoKTsgKytpKSB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFQbGF5ZXJQcml2
YXRlQVZGb3VuZGF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZv
dW5kYXRpb24vTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uLmgKaW5kZXggNjYwYjBjMDAy
NWQxYjdkZTdjNWQ3NWFhMWJjNzViODg4YmMxZmU4NS4uOGRiZTg1NmE4NWJlYWVhZDY3NGM3ZWMy
Nzc0NGZhZGI3OGRiMTFmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBsYXll
clByaXZhdGVBVkZvdW5kYXRpb24uaApAQCAtMjkyLDggKzI5Miw2IEBAIHByb3RlY3RlZDoKIAog
ICAgIHZpcnR1YWwgU3RyaW5nIGVuZ2luZURlc2NyaXB0aW9uKCkgY29uc3QgeyByZXR1cm4gIkFW
Rm91bmRhdGlvbiI7IH0KIAotICAgIHZpcnR1YWwgc2l6ZV90IGV4dHJhTWVtb3J5Q29zdCgpIGNv
bnN0IG92ZXJyaWRlOwotCiAgICAgdmlydHVhbCB2b2lkIHRyYWNrTW9kZUNoYW5nZWQoKSBvdmVy
cmlkZTsKICNpZiBFTkFCTEUoQVZGX0NBUFRJT05TKQogICAgIHZpcnR1YWwgdm9pZCBub3RpZnlU
cmFja01vZGVDaGFuZ2VkKCkgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZh
dGVHU3RyZWFtZXIuY3BwCmluZGV4IDhhYzhmY2NmYmFiM2ExNzU2ZDE5NzJlZDc0YzdkMDY4ZGUz
ZDk2OGYuLjI1ZTVlYjYxOWM3MGI0Yzc5ZTMxZDQ0NmQ0NjFjZDA1YThiYTlhMDkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXll
clByaXZhdGVHU3RyZWFtZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwCkBAIC0yMTAsNyAr
MjEwLDcgQEAgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpNZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXIoTWVkaWFQbGF5ZXIqIHBsYXllcikKICAgICAsIG1fdm9sdW1lQW5kTXV0ZUluaXRp
YWxpemVkKGZhbHNlKQogICAgICwgbV9oYXNWaWRlbyhmYWxzZSkKICAgICAsIG1faGFzQXVkaW8o
ZmFsc2UpCi0gICAgLCBtX3RvdGFsQnl0ZXMoLTEpCisgICAgLCBtX3RvdGFsQnl0ZXMoMCkKICAg
ICAsIG1fcHJlc2VydmVzUGl0Y2goZmFsc2UpCiAgICAgLCBtX3JlcXVlc3RlZFN0YXRlKEdTVF9T
VEFURV9WT0lEX1BFTkRJTkcpCiAgICAgLCBtX21pc3NpbmdQbHVnaW5zKGZhbHNlKQpAQCAtMTIy
NywxMiArMTIyNywxMiBAQCBib29sIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6ZGlkTG9h
ZGluZ1Byb2dyZXNzKCkgY29uc3QKICAgICByZXR1cm4gZGlkTG9hZGluZ1Byb2dyZXNzOwogfQog
Ci11bnNpZ25lZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OnRvdGFsQnl0ZXMoKSBjb25z
dAordW5zaWduZWQgbG9uZyBsb25nIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6dG90YWxC
eXRlcygpIGNvbnN0CiB7CiAgICAgaWYgKG1fZXJyb3JPY2N1cmVkKQogICAgICAgICByZXR1cm4g
MDsKIAotICAgIGlmIChtX3RvdGFsQnl0ZXMgIT0gLTEpCisgICAgaWYgKG1fdG90YWxCeXRlcykK
ICAgICAgICAgcmV0dXJuIG1fdG90YWxCeXRlczsKIAogICAgIGlmICghbV9zb3VyY2UpCkBAIC0x
MjQyLDcgKzEyNDIsNyBAQCB1bnNpZ25lZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OnRv
dGFsQnl0ZXMoKSBjb25zdAogICAgIGdpbnQ2NCBsZW5ndGggPSAwOwogICAgIGlmIChnc3RfZWxl
bWVudF9xdWVyeV9kdXJhdGlvbihtX3NvdXJjZS5nZXQoKSwgZm10LCAmbGVuZ3RoKSkgewogICAg
ICAgICBJTkZPX01FRElBX01FU1NBR0UoInRvdGFsQnl0ZXMgJSIgR19HSU5UNjRfRk9STUFULCBs
ZW5ndGgpOwotICAgICAgICBtX3RvdGFsQnl0ZXMgPSBzdGF0aWNfY2FzdDx1bnNpZ25lZD4obGVu
Z3RoKTsKKyAgICAgICAgbV90b3RhbEJ5dGVzID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQgbG9uZyBs
b25nPihsZW5ndGgpOwogICAgICAgICBtX2lzU3RyZWFtaW5nID0gIWxlbmd0aDsKICAgICAgICAg
cmV0dXJuIG1fdG90YWxCeXRlczsKICAgICB9CkBAIC0xMjc3LDcgKzEyNzcsNyBAQCB1bnNpZ25l
ZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OnRvdGFsQnl0ZXMoKSBjb25zdAogICAgIGdz
dF9pdGVyYXRvcl9mcmVlKGl0ZXIpOwogCiAgICAgSU5GT19NRURJQV9NRVNTQUdFKCJ0b3RhbEJ5
dGVzICUiIEdfR0lOVDY0X0ZPUk1BVCwgbGVuZ3RoKTsKLSAgICBtX3RvdGFsQnl0ZXMgPSBzdGF0
aWNfY2FzdDx1bnNpZ25lZD4obGVuZ3RoKTsKKyAgICBtX3RvdGFsQnl0ZXMgPSBzdGF0aWNfY2Fz
dDx1bnNpZ25lZCBsb25nIGxvbmc+KGxlbmd0aCk7CiAgICAgbV9pc1N0cmVhbWluZyA9ICFsZW5n
dGg7CiAgICAgcmV0dXJuIG1fdG90YWxCeXRlczsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFt
ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBs
YXllclByaXZhdGVHU3RyZWFtZXIuaAppbmRleCA1MDg0OTIxOTgyYzYxODQzMmExYWEyZjFmZmE5
YzBmODFjMzFiYTc2Li43NzIwMDE1ZTM0ODE3YTk4MzViMmY0Nzc4YWEyOTEzZTRjYjRiMmQ1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVk
aWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5oCkBAIC05Miw3
ICs5Miw3IEBAIHB1YmxpYzoKICAgICBzdGQ6OnVuaXF1ZV9wdHI8UGxhdGZvcm1UaW1lUmFuZ2Vz
PiBidWZmZXJlZCgpIGNvbnN0OwogICAgIGZsb2F0IG1heFRpbWVTZWVrYWJsZSgpIGNvbnN0Owog
ICAgIGJvb2wgZGlkTG9hZGluZ1Byb2dyZXNzKCkgY29uc3Q7Ci0gICAgdW5zaWduZWQgdG90YWxC
eXRlcygpIGNvbnN0OworICAgIHVuc2lnbmVkIGxvbmcgbG9uZyB0b3RhbEJ5dGVzKCkgY29uc3Q7
CiAgICAgZmxvYXQgbWF4VGltZUxvYWRlZCgpIGNvbnN0OwogCiAgICAgdm9pZCBsb2FkU3RhdGVD
aGFuZ2VkKCk7CkBAIC0yMDcsNyArMjA3LDcgQEAgcHJpdmF0ZToKICAgICBHVGhyZWFkU2FmZU1h
aW5Mb29wU291cmNlIG1fdmlkZW9UaW1lckhhbmRsZXI7CiAgICAgR1RocmVhZFNhZmVNYWluTG9v
cFNvdXJjZSBtX3ZpZGVvQ2Fwc1RpbWVySGFuZGxlcjsKICAgICBHVGhyZWFkU2FmZU1haW5Mb29w
U291cmNlIG1fcmVhZHlUaW1lckhhbmRsZXI7Ci0gICAgbXV0YWJsZSBsb25nIG1fdG90YWxCeXRl
czsKKyAgICBtdXRhYmxlIHVuc2lnbmVkIGxvbmcgbG9uZyBtX3RvdGFsQnl0ZXM7CiAgICAgVVJM
IG1fdXJsOwogICAgIGJvb2wgbV9wcmVzZXJ2ZXNQaXRjaDsKICAgICBHc3RTdGF0ZSBtX3JlcXVl
c3RlZFN0YXRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
bWFjL01lZGlhUGxheWVyUHJpdmF0ZVFUS2l0LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9tYWMvTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQuaAppbmRleCA4MGMyY2VhNTkxM2E0
MjUyYmUxYmRmMmE3MzAwMTNlNmEzYTg0NmY1Li5lZjg1NWU5MjJiMTZkYThjNzQ4Njg3ZjhkNGYw
OGU0NWRmMTdlMjg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9tYWMvTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9tYWMvTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQuaApAQCAtMTE4LDcgKzEx
OCw3IEBAIHByaXZhdGU6CiAgICAgc3RkOjp1bmlxdWVfcHRyPFBsYXRmb3JtVGltZVJhbmdlcz4g
YnVmZmVyZWQoKSBjb25zdDsKICAgICBNZWRpYVRpbWUgbWF4TWVkaWFUaW1lU2Vla2FibGUoKSBj
b25zdDsKICAgICBib29sIGRpZExvYWRpbmdQcm9ncmVzcygpIGNvbnN0OwotICAgIHVuc2lnbmVk
IHRvdGFsQnl0ZXMoKSBjb25zdDsKKyAgICB1bnNpZ25lZCBsb25nIGxvbmcgdG90YWxCeXRlcygp
IGNvbnN0OwogICAgIAogICAgIHZvaWQgc2V0VmlzaWJsZShib29sKTsKICAgICB2b2lkIHNldFNp
emUoY29uc3QgSW50U2l6ZSYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvbWFjL01lZGlhUGxheWVyUHJpdmF0ZVFUS2l0Lm1tIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvbWFjL01lZGlhUGxheWVyUHJpdmF0ZVFUS2l0Lm1tCmluZGV4IDkw
YWZjMTBmYzM0ZTM5ZTdjOWIxOTEwZDNjYmY2MGFmYjgyN2UyYjEuLjZkNDExNTNlZjBmZDA5NGU4
YTkzZjY2ZjQ2YTU2ZmFlNDg3ZTZlNDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL21hYy9NZWRpYVBsYXllclByaXZhdGVRVEtpdC5tbQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQubW0K
QEAgLTg3MSwxMSArODcxLDExIEBAIGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQ6OmRpZExv
YWRpbmdQcm9ncmVzcygpIGNvbnN0CiAgICAgcmV0dXJuIGRpZExvYWRpbmdQcm9ncmVzczsKIH0K
IAotdW5zaWduZWQgTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQ6OnRvdGFsQnl0ZXMoKSBjb25zdAor
dW5zaWduZWQgbG9uZyBsb25nIE1lZGlhUGxheWVyUHJpdmF0ZVFUS2l0Ojp0b3RhbEJ5dGVzKCkg
Y29uc3QKIHsKICAgICBpZiAoIW1ldGFEYXRhQXZhaWxhYmxlKCkpCiAgICAgICAgIHJldHVybiAw
OwotICAgIHJldHVybiBbW21fcXRNb3ZpZS5nZXQoKSBhdHRyaWJ1dGVGb3JLZXk6UVRNb3ZpZURh
dGFTaXplQXR0cmlidXRlXSBpbnRWYWx1ZV07CisgICAgcmV0dXJuIFtbbV9xdE1vdmllLmdldCgp
IGF0dHJpYnV0ZUZvcktleTpRVE1vdmllRGF0YVNpemVBdHRyaWJ1dGVdIGxvbmdMb25nVmFsdWVd
OwogfQogCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVFUS2l0OjpjYW5jZWxMb2FkKCkK
</data>
<flag name="review"
          id="265630"
          type_id="1"
          status="+"
          setter="eric.carlson"
    />
          </attachment>
      

    </bug>

</bugzilla>