<?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>50364</bug_id>
          
          <creation_ts>2010-12-01 18:06:31 -0800</creation_ts>
          <short_desc>Throw webglcontextlost and webglcontextrestored events when a WebGL context is lost and restored.</short_desc>
          <delta_ts>2010-12-06 22:07:40 -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>WebGL</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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="Alexey Marinichev">amarinichev</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>cmarrin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>enne</cc>
    
    <cc>kbr</cc>
    
    <cc>zmo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>315980</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Marinichev">amarinichev</who>
    <bug_when>2010-12-01 18:06:31 -0800</bug_when>
    <thetext>This adds a call to getGraphicsResetStatusARB to see if the context was lost.  If it was it will attempt to create a new one.  A javascript event is thrown in both cases.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>315981</commentid>
    <comment_count>1</comment_count>
      <attachid>75342</attachid>
    <who name="Alexey Marinichev">amarinichev</who>
    <bug_when>2010-12-01 18:15:05 -0800</bug_when>
    <thetext>Created attachment 75342
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>316277</commentid>
    <comment_count>2</comment_count>
      <attachid>75342</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2010-12-02 11:27:54 -0800</bug_when>
    <thetext>Comment on attachment 75342
Patch

As we&apos;ve discussed offline you should start a timer when the context is lost -- but only if the user has registered a webglcontextrestored callback on the canvas. The timer would poll periodically to see whether it can successfully recreate the context, and once it does, send the webglcontextrestored event. You can find examples of setting up periodic callbacks in the implementation of DOMWindow::setInterval (WebCore/page/DOMWindow.cpp). The current implementation relies on the app making WebGL calls against the lost context in order to discover that the context has been restored, which isn&apos;t supposed to be the programming model according to the WebGL spec.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>317100</commentid>
    <comment_count>3</comment_count>
      <attachid>75555</attachid>
    <who name="Alexey Marinichev">amarinichev</who>
    <bug_when>2010-12-03 15:23:33 -0800</bug_when>
    <thetext>Created attachment 75555
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>317810</commentid>
    <comment_count>4</comment_count>
      <attachid>75555</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2010-12-06 13:02:24 -0800</bug_when>
    <thetext>Comment on attachment 75555
Patch

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

Looks good overall. A few minor issues.

&gt; WebCore/html/canvas/WebGLRenderingContext.cpp:97
&gt; +        startOneShot(1);

Instead of 1, use a const double with a descriptive name like secondsBetweenRestoreAttempts.

&gt; WebCore/html/canvas/WebGLRenderingContext.cpp:106
&gt; +            startOneShot(1);

Const double instead of 1.

&gt; WebCore/html/canvas/WebGLRenderingContext.cpp:2125
&gt; +        m_restoreTimer.startOneShot(1);

Const double instead of 1.

&gt; WebCore/html/canvas/WebGLRenderingContext.h:67
&gt; +class WebGLRenderingContextRestoreTimer : public TimerBase {
&gt; +public:
&gt; +    WebGLRenderingContextRestoreTimer(WebGLRenderingContext* context) : m_context(context) { }
&gt; +private:
&gt; +    virtual void fired();
&gt; +    WebGLRenderingContext* m_context;
&gt; +};

In WebKit code each class generally goes into its own header file. In this case I think you ought to be able to forward declare this class as long as you change the data member to a RefPtr below.

&gt; WebCore/html/canvas/WebGLRenderingContext.h:357
&gt; +    WebGLRenderingContextRestoreTimer m_restoreTimer;

Please try making this a RefPtr&lt;WebGLRenderingContextRestoreTimer&gt; and see whether that allows the declaration and definition of WebGLRenderingContextRestoreTimer to move to the .cpp file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>317879</commentid>
    <comment_count>5</comment_count>
      <attachid>75741</attachid>
    <who name="Alexey Marinichev">amarinichev</who>
    <bug_when>2010-12-06 15:35:23 -0800</bug_when>
    <thetext>Created attachment 75741
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>317880</commentid>
    <comment_count>6</comment_count>
    <who name="Alexey Marinichev">amarinichev</who>
    <bug_when>2010-12-06 15:36:48 -0800</bug_when>
    <thetext>Introduced secondsBetweenRestoreAttempts as requested.

Also, rather than adding another header file, I moved WebGLRenderingContextRestoreTimer inside WebGLRenderingContext.  friend statement is no longer needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>317911</commentid>
    <comment_count>7</comment_count>
      <attachid>75741</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2010-12-06 16:23:49 -0800</bug_when>
    <thetext>Comment on attachment 75741
Patch

Looks good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>317967</commentid>
    <comment_count>8</comment_count>
      <attachid>75741</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-12-06 17:35:32 -0800</bug_when>
    <thetext>Comment on attachment 75741
Patch

Rejecting patch 75741 from commit-queue.

Failed to run &quot;[&apos;./WebKitTools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;--bot-id=eseidel-cq-sl&apos;, &apos;build&apos;, &apos;--no-clean&apos;, &apos;--no-update&apos;, &apos;--build-style=both&apos;]&quot; exit_code: 1
ERROR: Working directory has local commits, pass --force-clean to continue.

Full output: http://queues.webkit.org/results/6786072</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>317976</commentid>
    <comment_count>9</comment_count>
      <attachid>75741</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2010-12-06 17:46:38 -0800</bug_when>
    <thetext>Comment on attachment 75741
Patch

Let&apos;s try again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>318031</commentid>
    <comment_count>10</comment_count>
      <attachid>75741</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-12-06 20:24:35 -0800</bug_when>
    <thetext>Comment on attachment 75741
Patch

Clearing flags on attachment: 75741

Committed r73424: &lt;http://trac.webkit.org/changeset/73424&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>318032</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-12-06 20:24:41 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>318060</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-12-06 22:07:40 -0800</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 75741:

fast/media/mq-aspect-ratio.html
fast/dom/onerror-img.html

Please file bugs against the tests.  These tests were authored by dino@apple.com.  The commit-queue is continuing to process your patch.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>75342</attachid>
            <date>2010-12-01 18:15:05 -0800</date>
            <delta_ts>2010-12-03 15:23:30 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-50364-20101201181504.patch</filename>
            <type>text/plain</type>
            <size>5858</size>
            <attacher name="Alexey Marinichev">amarinichev</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NTZmYTgxZGFiZTI1N2Y1OTRiNGQ3YjRjNDc1NTczNDU2NmU1ZWQ4Yy4uYjQxMzRmYmQyZGM0NjQ1
Zjg2YTk2MzI2ZGQwODY0MzNlMTVkNjUwZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxMC0xMi0wMSAgQWxl
eGV5IE1hcmluaWNoZXYgIDxhbWFyaW5pY2hldkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhyb3cgd2ViZ2xjb250ZXh0bG9z
dCBhbmQgd2ViZ2xjb250ZXh0cmVzdG9yZWQgZXZlbnRzIHdoZW4gYSBXZWJHTCBjb250ZXh0IGlz
IGxvc3QgYW5kIHJlc3RvcmVkLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NTAzNjQKKworICAgICAgICBObyBuZXcgdGVzdHMgc2luY2UgdGhlcmUgaXMg
Y3VycmVudGx5IG5vIHdheSB0byBmb3JjZSBhIGNvbnRleHQgbG9zdCBldmVudC4KKworICAgICAg
ICAqIGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpX
ZWJHTFJlbmRlcmluZ0NvbnRleHQ6OldlYkdMUmVuZGVyaW5nQ29udGV4dCk6CisgICAgICAgIChX
ZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmlzQ29udGV4dExvc3QpOgorICAgICAgICAo
V2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0Ojpsb3NlQ29udGV4dCk6CisgICAgICAgIChX
ZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnJlc3RvcmVDb250ZXh0KToKKyAgICAgICAg
KiBodG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuaDoKKwogMjAxMC0xMi0wMSAgRGF2
aWQgSHlhdHQgIDxoeWF0dEBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFuIEJl
cm5zdGVpbi4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdD
b250ZXh0LmNwcCBiL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNw
cAppbmRleCBiMjAxNjkyMDdmN2MxZDg5ZmVkYTFkZDE1Zjc5OGI1MTQwNDMwMmFmLi4yM2UwM2Y1
ZDdhODYxNjRiZDJjM2QzMjIzNTJhYjI5NTY3MmY5ZjM2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0
bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHAKKysrIGIvV2ViQ29yZS9odG1sL2Nh
bnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwCkBAIC04OSwyMiArODksMjQgQEAgcHJpdmF0
ZToKIFBhc3NPd25QdHI8V2ViR0xSZW5kZXJpbmdDb250ZXh0PiBXZWJHTFJlbmRlcmluZ0NvbnRl
eHQ6OmNyZWF0ZShIVE1MQ2FudmFzRWxlbWVudCogY2FudmFzLCBXZWJHTENvbnRleHRBdHRyaWJ1
dGVzKiBhdHRycykKIHsKICAgICBIb3N0V2luZG93KiBob3N0V2luZG93ID0gY2FudmFzLT5kb2N1
bWVudCgpLT52aWV3KCktPnJvb3QoKS0+aG9zdFdpbmRvdygpOwotICAgIEdyYXBoaWNzQ29udGV4
dDNEOjpBdHRyaWJ1dGVzIGVtcHR5QXR0cmlidXRlczsKLSAgICBSZWZQdHI8R3JhcGhpY3NDb250
ZXh0M0Q+IGNvbnRleHQoR3JhcGhpY3NDb250ZXh0M0Q6OmNyZWF0ZShhdHRycyA/IGF0dHJzLT5h
dHRyaWJ1dGVzKCkgOiBlbXB0eUF0dHJpYnV0ZXMsIGhvc3RXaW5kb3cpKTsKKyAgICBHcmFwaGlj
c0NvbnRleHQzRDo6QXR0cmlidXRlcyBhdHRyaWJ1dGVzID0gYXR0cnMgPyBhdHRycy0+YXR0cmli
dXRlcygpIDogR3JhcGhpY3NDb250ZXh0M0Q6OkF0dHJpYnV0ZXMoKTsKKyAgICBSZWZQdHI8R3Jh
cGhpY3NDb250ZXh0M0Q+IGNvbnRleHQoR3JhcGhpY3NDb250ZXh0M0Q6OmNyZWF0ZShhdHRyaWJ1
dGVzLCBob3N0V2luZG93KSk7CiAKICAgICBpZiAoIWNvbnRleHQpIHsKICAgICAgICAgY2FudmFz
LT5kaXNwYXRjaEV2ZW50KFdlYkdMQ29udGV4dEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLndl
YmdsY29udGV4dGNyZWF0aW9uZXJyb3JFdmVudCwgZmFsc2UsIHRydWUsICJDb3VsZCBub3QgY3Jl
YXRlIGEgV2ViR0wgY29udGV4dC4iKSk7CiAgICAgICAgIHJldHVybiAwOwogICAgIH0KICAgICAg
ICAgCi0gICAgcmV0dXJuIG5ldyBXZWJHTFJlbmRlcmluZ0NvbnRleHQoY2FudmFzLCBjb250ZXh0
KTsKKyAgICByZXR1cm4gbmV3IFdlYkdMUmVuZGVyaW5nQ29udGV4dChjYW52YXMsIGNvbnRleHQs
IGF0dHJpYnV0ZXMpOwogfQogCi1XZWJHTFJlbmRlcmluZ0NvbnRleHQ6OldlYkdMUmVuZGVyaW5n
Q29udGV4dChIVE1MQ2FudmFzRWxlbWVudCogcGFzc2VkQ2FudmFzLCBQYXNzUmVmUHRyPEdyYXBo
aWNzQ29udGV4dDNEPiBjb250ZXh0KQorV2ViR0xSZW5kZXJpbmdDb250ZXh0OjpXZWJHTFJlbmRl
cmluZ0NvbnRleHQoSFRNTENhbnZhc0VsZW1lbnQqIHBhc3NlZENhbnZhcywgUGFzc1JlZlB0cjxH
cmFwaGljc0NvbnRleHQzRD4gY29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIEdyYXBoaWNzQ29udGV4dDNEOjpBdHRyaWJ1dGVzIGF0dHJpYnV0ZXMp
CiAgICAgOiBDYW52YXNSZW5kZXJpbmdDb250ZXh0KHBhc3NlZENhbnZhcykKICAgICAsIG1fY29u
dGV4dChjb250ZXh0KQogICAgICwgbV92aWRlb0NhY2hlKDQpCiAgICAgLCBtX2NvbnRleHRMb3N0
KGZhbHNlKQorICAgICwgbV9hdHRyaWJ1dGVzKGF0dHJpYnV0ZXMpCiB7CiAgICAgQVNTRVJUKG1f
Y29udGV4dCk7CiAgICAgc2V0dXBGbGFncygpOwpAQCAtMjA5MCw4ICsyMDkyLDE3IEBAIGJvb2wg
V2ViR0xSZW5kZXJpbmdDb250ZXh0Ojppc0J1ZmZlcihXZWJHTEJ1ZmZlciogYnVmZmVyKQogICAg
IHJldHVybiBtX2NvbnRleHQtPmlzQnVmZmVyKGJ1ZmZlci0+b2JqZWN0KCkpOwogfQogCi1ib29s
IFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6aXNDb250ZXh0TG9zdCgpIGNvbnN0Citib29sIFdlYkdM
UmVuZGVyaW5nQ29udGV4dDo6aXNDb250ZXh0TG9zdCgpCiB7CisgICAgYm9vbCBuZXdDb250ZXh0
TG9zdCA9IG1fY29udGV4dC0+Z2V0RXh0ZW5zaW9ucygpLT5nZXRHcmFwaGljc1Jlc2V0U3RhdHVz
QVJCKCkgIT0gR3JhcGhpY3NDb250ZXh0M0Q6Ok5PX0VSUk9SOworCisgICAgaWYgKG5ld0NvbnRl
eHRMb3N0IHx8IG5ld0NvbnRleHRMb3N0ICE9IG1fY29udGV4dExvc3QpIHsKKyAgICAgICAgaWYg
KG1fY29udGV4dExvc3QpCisgICAgICAgICAgICByZXN0b3JlQ29udGV4dCgpOworICAgICAgICBl
bHNlCisgICAgICAgICAgICBsb3NlQ29udGV4dCgpOworICAgIH0KKwogICAgIHJldHVybiBtX2Nv
bnRleHRMb3N0OwogfQogCkBAIC0zMjQ1LDkgKzMyNTYsNiBAQCB2b2lkIFdlYkdMUmVuZGVyaW5n
Q29udGV4dDo6dmlld3BvcnQobG9uZyB4LCBsb25nIHksIHVuc2lnbmVkIGxvbmcgd2lkdGgsIHVu
c2lnbgogCiB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6bG9zZUNvbnRleHQoKQogewotICAg
IGlmIChpc0NvbnRleHRMb3N0KCkpCi0gICAgICAgIHJldHVybjsKLQogICAgIG1fY29udGV4dExv
c3QgPSB0cnVlOwogCiAgICAgZGV0YWNoQW5kUmVtb3ZlQWxsT2JqZWN0cygpOwpAQCAtMzI2Nywx
NyArMzI3NSwxOCBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6bG9zZUNvbnRleHQoKQog
CiB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6cmVzdG9yZUNvbnRleHQoKQogewotICAgIGlm
ICghaXNDb250ZXh0TG9zdCgpKQotICAgICAgICByZXR1cm47Ci0KICAgICAvLyBUaGUgcmVuZGVy
aW5nIGNvbnRleHQgaXMgbm90IHJlc3RvcmVkIGlmIHRoZXJlIGlzIG5vIGhhbmRsZXIgZm9yCiAg
ICAgLy8gdGhlIGNvbnRleHQgcmVzdG9yZWQgZXZlbnQuCiAgICAgaWYgKCFjYW52YXMoKS0+aGFz
RXZlbnRMaXN0ZW5lcnMoZXZlbnROYW1lcygpLndlYmdsY29udGV4dHJlc3RvcmVkRXZlbnQpKQog
ICAgICAgICByZXR1cm47CiAKLSAgICBtX2NvbnRleHRMb3N0ID0gZmFsc2U7Ci0gICAgaW5pdGlh
bGl6ZU5ld0NvbnRleHQoKTsKKyAgICBSZWZQdHI8R3JhcGhpY3NDb250ZXh0M0Q+IGNvbnRleHQo
R3JhcGhpY3NDb250ZXh0M0Q6OmNyZWF0ZShtX2F0dHJpYnV0ZXMsIGNhbnZhcygpLT5kb2N1bWVu
dCgpLT52aWV3KCktPnJvb3QoKS0+aG9zdFdpbmRvdygpKSk7CisgICAgaWYgKCFjb250ZXh0KQor
ICAgICAgICByZXR1cm47CiAKKyAgICBtX2NvbnRleHQgPSBjb250ZXh0OworICAgIGluaXRpYWxp
emVOZXdDb250ZXh0KCk7CisgICAgbV9jb250ZXh0TG9zdCA9IGZhbHNlOwogICAgIGNhbnZhcygp
LT5kaXNwYXRjaEV2ZW50KFdlYkdMQ29udGV4dEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLndl
YmdsY29udGV4dHJlc3RvcmVkRXZlbnQsIGZhbHNlLCB0cnVlLCAiIikpOwogfQogCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5oIGIvV2ViQ29y
ZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuaAppbmRleCA5NTBkNzA0MDAzNzky
MDJmN2Q5MGQzYmQ5ZGFhZTE5YWRiZDFjOWE3Li5iY2U5OTk3ZGY3MTIxNzkxYzhjNmQ3MzAzNDVm
YTk0ZTVmNjAzMmJmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVy
aW5nQ29udGV4dC5oCisrKyBiL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250
ZXh0LmgKQEAgLTE3NSw3ICsxNzUsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGhpbnQodW5zaWdu
ZWQgbG9uZyB0YXJnZXQsIHVuc2lnbmVkIGxvbmcgbW9kZSk7CiAgICAgYm9vbCBpc0J1ZmZlcihX
ZWJHTEJ1ZmZlciopOwotICAgIGJvb2wgaXNDb250ZXh0TG9zdCgpIGNvbnN0OworICAgIGJvb2wg
aXNDb250ZXh0TG9zdCgpOwogICAgIGJvb2wgaXNFbmFibGVkKHVuc2lnbmVkIGxvbmcgY2FwKTsK
ICAgICBib29sIGlzRnJhbWVidWZmZXIoV2ViR0xGcmFtZWJ1ZmZlciopOwogICAgIGJvb2wgaXNQ
cm9ncmFtKFdlYkdMUHJvZ3JhbSopOwpAQCAtMjk0LDcgKzI5NCw3IEBAIHB1YmxpYzoKICAgcHJp
dmF0ZToKICAgICBmcmllbmQgY2xhc3MgV2ViR0xPYmplY3Q7CiAKLSAgICBXZWJHTFJlbmRlcmlu
Z0NvbnRleHQoSFRNTENhbnZhc0VsZW1lbnQqLCBQYXNzUmVmUHRyPEdyYXBoaWNzQ29udGV4dDNE
Pik7CisgICAgV2ViR0xSZW5kZXJpbmdDb250ZXh0KEhUTUxDYW52YXNFbGVtZW50KiwgUGFzc1Jl
ZlB0cjxHcmFwaGljc0NvbnRleHQzRD4sIEdyYXBoaWNzQ29udGV4dDNEOjpBdHRyaWJ1dGVzKTsK
ICAgICB2b2lkIGluaXRpYWxpemVOZXdDb250ZXh0KCk7CiAgICAgdm9pZCBzZXR1cEZsYWdzKCk7
CiAKQEAgLTM0Myw2ICszNDMsNyBAQCBwdWJsaWM6CiAgICAgUGFzc1JlZlB0cjxJbWFnZT4gdmlk
ZW9GcmFtZVRvSW1hZ2UoSFRNTFZpZGVvRWxlbWVudCogdmlkZW8pOwogCiAgICAgUmVmUHRyPEdy
YXBoaWNzQ29udGV4dDNEPiBtX2NvbnRleHQ7CisKICAgICBib29sIG1fbmVlZHNVcGRhdGU7CiAg
ICAgYm9vbCBtX21hcmtlZENhbnZhc0RpcnR5OwogICAgIEhhc2hTZXQ8UmVmUHRyPFdlYkdMT2Jq
ZWN0PiA+IG1fY2FudmFzT2JqZWN0czsKQEAgLTQzMSw2ICs0MzIsNyBAQCBwdWJsaWM6CiAgICAg
Ym9vbCBtX3VucGFja1ByZW11bHRpcGx5QWxwaGE7CiAgICAgdW5zaWduZWQgbG9uZyBtX3VucGFj
a0NvbG9yc3BhY2VDb252ZXJzaW9uOwogICAgIGJvb2wgbV9jb250ZXh0TG9zdDsKKyAgICBHcmFw
aGljc0NvbnRleHQzRDo6QXR0cmlidXRlcyBtX2F0dHJpYnV0ZXM7CiAKICAgICBsb25nIG1fc3Rl
bmNpbEJpdHM7CiAgICAgdW5zaWduZWQgbG9uZyBtX3N0ZW5jaWxNYXNrOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>75555</attachid>
            <date>2010-12-03 15:23:33 -0800</date>
            <delta_ts>2010-12-06 15:35:20 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-50364-20101203152331.patch</filename>
            <type>text/plain</type>
            <size>7948</size>
            <attacher name="Alexey Marinichev">amarinichev</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NzUyODQ4ZDNmYzI3MGNhZWM0Y2E0YTJmYmVhZDhlZDVkNzNjYTc2MS4uZTZiOGZhOGI5NDFmZWIw
MzI2YWI4MTYyZGIwNzMyYjE5ZTdiMzM2YSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAxMC0xMi0wMyAgQWxl
eGV5IE1hcmluaWNoZXYgIDxhbWFyaW5pY2hldkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhyb3cgd2ViZ2xjb250ZXh0bG9z
dCBhbmQgd2ViZ2xjb250ZXh0cmVzdG9yZWQgZXZlbnRzIHdoZW4gYSBXZWJHTCBjb250ZXh0IGlz
IGxvc3QgYW5kIHJlc3RvcmVkLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NTAzNjQKKworICAgICAgICBObyBuZXcgdGVzdHMgc2luY2UgdGhlcmUgaXMg
Y3VycmVudGx5IG5vIHdheSB0byBmb3JjZSBhIGNvbnRleHQgbG9zdCBldmVudC4KKworICAgICAg
ICAqIGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHRSZXN0b3JlVGltZXI6OmZpcmVkKToKKyAgICAgICAg
KFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNv
cmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dDo6V2ViR0xSZW5kZXJpbmdDb250ZXh0KToKKyAgICAg
ICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dDo6aXNDb250ZXh0TG9zdCk6CisgICAg
ICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHQ6Omxvc2VDb250ZXh0KToKKyAgICAg
ICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dDo6cmVzdG9yZUNvbnRleHQpOgorICAg
ICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5oOgorICAgICAgICAoV2Vi
Q29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0UmVzdG9yZVRpbWVyOjpXZWJHTFJlbmRlcmluZ0Nv
bnRleHRSZXN0b3JlVGltZXIpOgorCiAyMDEwLTEyLTAyICBBbmRyYXMgQmVjc2kgIDxhYmVjc2lA
d2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkIGJ1aWxkIGZpeC4KZGlmZiAtLWdpdCBh
L1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcCBiL1dlYkNvcmUv
aHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcAppbmRleCBiMjAxNjkyMDdmN2Mx
ZDg5ZmVkYTFkZDE1Zjc5OGI1MTQwNDMwMmFmLi40MGQ2NWRkYTNkMGQ0YWQyNWYxMjEzMDIyNWNh
MzkzM2Y0OGI1MzhlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVy
aW5nQ29udGV4dC5jcHAKKysrIGIvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0Nv
bnRleHQuY3BwCkBAIC04NiwyNSArODYsNDkgQEAgcHJpdmF0ZToKICAgICBib29sIG1fY2hhbmdl
ZDsKIH07CiAKK3ZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0UmVzdG9yZVRpbWVyOjpmaXJlZCgp
Cit7CisgICAgLy8gVGltZXIgaXMgc3RhcnRlZCB3aGVuIG1fY29udGV4dExvc3QgaXMgZmFsc2Uu
ICBJdCB3aWxsIGZpcnN0IGNhbGwKKyAgICAvLyBsb3NlQ29udGV4dCwgd2hpY2ggd2lsbCBzZXQg
bV9jb250ZXh0TG9zdCB0byB0cnVlLiAgVGhlbiBpdCB3aWxsIGtlZXAKKyAgICAvLyBjYWxsaW5n
IHJlc3RvcmVDb250ZXh0IGFuZCByZXNjaGVkdWxlIGl0c2VsZiB1bnRpbCBtX2NvbnRleHRMb3N0
IGlzIGJhY2sKKyAgICAvLyB0byBmYWxzZS4KKyAgICBpZiAoIW1fY29udGV4dC0+bV9jb250ZXh0
TG9zdCkgeworICAgICAgICBtX2NvbnRleHQtPmxvc2VDb250ZXh0KCk7CisgICAgICAgIHN0YXJ0
T25lU2hvdCgxKTsKKyAgICB9IGVsc2UgeworICAgICAgICAvLyBUaGUgcmVuZGVyaW5nIGNvbnRl
eHQgaXMgbm90IHJlc3RvcmVkIGlmIHRoZXJlIGlzIG5vIGhhbmRsZXIgZm9yCisgICAgICAgIC8v
IHRoZSBjb250ZXh0IHJlc3RvcmVkIGV2ZW50LgorICAgICAgICBpZiAoIW1fY29udGV4dC0+Y2Fu
dmFzKCktPmhhc0V2ZW50TGlzdGVuZXJzKGV2ZW50TmFtZXMoKS53ZWJnbGNvbnRleHRyZXN0b3Jl
ZEV2ZW50KSkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBtX2NvbnRleHQtPnJlc3Rv
cmVDb250ZXh0KCk7CisgICAgICAgIGlmIChtX2NvbnRleHQtPm1fY29udGV4dExvc3QpCisgICAg
ICAgICAgICBzdGFydE9uZVNob3QoMSk7CisgICAgfQorfQorCiBQYXNzT3duUHRyPFdlYkdMUmVu
ZGVyaW5nQ29udGV4dD4gV2ViR0xSZW5kZXJpbmdDb250ZXh0OjpjcmVhdGUoSFRNTENhbnZhc0Vs
ZW1lbnQqIGNhbnZhcywgV2ViR0xDb250ZXh0QXR0cmlidXRlcyogYXR0cnMpCiB7CiAgICAgSG9z
dFdpbmRvdyogaG9zdFdpbmRvdyA9IGNhbnZhcy0+ZG9jdW1lbnQoKS0+dmlldygpLT5yb290KCkt
Pmhvc3RXaW5kb3coKTsKLSAgICBHcmFwaGljc0NvbnRleHQzRDo6QXR0cmlidXRlcyBlbXB0eUF0
dHJpYnV0ZXM7Ci0gICAgUmVmUHRyPEdyYXBoaWNzQ29udGV4dDNEPiBjb250ZXh0KEdyYXBoaWNz
Q29udGV4dDNEOjpjcmVhdGUoYXR0cnMgPyBhdHRycy0+YXR0cmlidXRlcygpIDogZW1wdHlBdHRy
aWJ1dGVzLCBob3N0V2luZG93KSk7CisgICAgR3JhcGhpY3NDb250ZXh0M0Q6OkF0dHJpYnV0ZXMg
YXR0cmlidXRlcyA9IGF0dHJzID8gYXR0cnMtPmF0dHJpYnV0ZXMoKSA6IEdyYXBoaWNzQ29udGV4
dDNEOjpBdHRyaWJ1dGVzKCk7CisgICAgUmVmUHRyPEdyYXBoaWNzQ29udGV4dDNEPiBjb250ZXh0
KEdyYXBoaWNzQ29udGV4dDNEOjpjcmVhdGUoYXR0cmlidXRlcywgaG9zdFdpbmRvdykpOwogCiAg
ICAgaWYgKCFjb250ZXh0KSB7CiAgICAgICAgIGNhbnZhcy0+ZGlzcGF0Y2hFdmVudChXZWJHTENv
bnRleHRFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS53ZWJnbGNvbnRleHRjcmVhdGlvbmVycm9y
RXZlbnQsIGZhbHNlLCB0cnVlLCAiQ291bGQgbm90IGNyZWF0ZSBhIFdlYkdMIGNvbnRleHQuIikp
OwogICAgICAgICByZXR1cm4gMDsKICAgICB9CiAgICAgICAgIAotICAgIHJldHVybiBuZXcgV2Vi
R0xSZW5kZXJpbmdDb250ZXh0KGNhbnZhcywgY29udGV4dCk7CisgICAgcmV0dXJuIG5ldyBXZWJH
TFJlbmRlcmluZ0NvbnRleHQoY2FudmFzLCBjb250ZXh0LCBhdHRyaWJ1dGVzKTsKIH0KIAotV2Vi
R0xSZW5kZXJpbmdDb250ZXh0OjpXZWJHTFJlbmRlcmluZ0NvbnRleHQoSFRNTENhbnZhc0VsZW1l
bnQqIHBhc3NlZENhbnZhcywgUGFzc1JlZlB0cjxHcmFwaGljc0NvbnRleHQzRD4gY29udGV4dCkK
K1dlYkdMUmVuZGVyaW5nQ29udGV4dDo6V2ViR0xSZW5kZXJpbmdDb250ZXh0KEhUTUxDYW52YXNF
bGVtZW50KiBwYXNzZWRDYW52YXMsIFBhc3NSZWZQdHI8R3JhcGhpY3NDb250ZXh0M0Q+IGNvbnRl
eHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHcmFwaGlj
c0NvbnRleHQzRDo6QXR0cmlidXRlcyBhdHRyaWJ1dGVzKQogICAgIDogQ2FudmFzUmVuZGVyaW5n
Q29udGV4dChwYXNzZWRDYW52YXMpCiAgICAgLCBtX2NvbnRleHQoY29udGV4dCkKKyAgICAsIG1f
cmVzdG9yZVRpbWVyKHRoaXMpCiAgICAgLCBtX3ZpZGVvQ2FjaGUoNCkKICAgICAsIG1fY29udGV4
dExvc3QoZmFsc2UpCisgICAgLCBtX2F0dHJpYnV0ZXMoYXR0cmlidXRlcykKIHsKICAgICBBU1NF
UlQobV9jb250ZXh0KTsKICAgICBzZXR1cEZsYWdzKCk7CkBAIC0yMDkwLDggKzIxMTQsMTYgQEAg
Ym9vbCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmlzQnVmZmVyKFdlYkdMQnVmZmVyKiBidWZmZXIp
CiAgICAgcmV0dXJuIG1fY29udGV4dC0+aXNCdWZmZXIoYnVmZmVyLT5vYmplY3QoKSk7CiB9CiAK
LWJvb2wgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojppc0NvbnRleHRMb3N0KCkgY29uc3QKK2Jvb2wg
V2ViR0xSZW5kZXJpbmdDb250ZXh0Ojppc0NvbnRleHRMb3N0KCkKIHsKKyAgICBpZiAobV9yZXN0
b3JlVGltZXIuaXNBY3RpdmUoKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICBib29sIG5l
d0NvbnRleHRMb3N0ID0gbV9jb250ZXh0LT5nZXRFeHRlbnNpb25zKCktPmdldEdyYXBoaWNzUmVz
ZXRTdGF0dXNBUkIoKSAhPSBHcmFwaGljc0NvbnRleHQzRDo6Tk9fRVJST1I7CisKKyAgICBpZiAo
bmV3Q29udGV4dExvc3QgIT0gbV9jb250ZXh0TG9zdCkKKyAgICAgICAgbV9yZXN0b3JlVGltZXIu
c3RhcnRPbmVTaG90KDEpOworCiAgICAgcmV0dXJuIG1fY29udGV4dExvc3Q7CiB9CiAKQEAgLTMy
NDUsOSArMzI3Nyw2IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp2aWV3cG9ydChsb25n
IHgsIGxvbmcgeSwgdW5zaWduZWQgbG9uZyB3aWR0aCwgdW5zaWduCiAKIHZvaWQgV2ViR0xSZW5k
ZXJpbmdDb250ZXh0Ojpsb3NlQ29udGV4dCgpCiB7Ci0gICAgaWYgKGlzQ29udGV4dExvc3QoKSkK
LSAgICAgICAgcmV0dXJuOwotCiAgICAgbV9jb250ZXh0TG9zdCA9IHRydWU7CiAKICAgICBkZXRh
Y2hBbmRSZW1vdmVBbGxPYmplY3RzKCk7CkBAIC0zMjYzLDIxICszMjkyLDE4IEBAIHZvaWQgV2Vi
R0xSZW5kZXJpbmdDb250ZXh0Ojpsb3NlQ29udGV4dCgpCiAgICAgbV9jb250ZXh0LT5zeW50aGVz
aXplR0xFcnJvcihHcmFwaGljc0NvbnRleHQzRDo6Q09OVEVYVF9MT1NUX1dFQkdMKTsKIAogICAg
IGNhbnZhcygpLT5kaXNwYXRjaEV2ZW50KFdlYkdMQ29udGV4dEV2ZW50OjpjcmVhdGUoZXZlbnRO
YW1lcygpLndlYmdsY29udGV4dGxvc3RFdmVudCwgZmFsc2UsIHRydWUsICIiKSk7CisKIH0KIAog
dm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnJlc3RvcmVDb250ZXh0KCkKIHsKLSAgICBpZiAo
IWlzQ29udGV4dExvc3QoKSkKKyAgICBSZWZQdHI8R3JhcGhpY3NDb250ZXh0M0Q+IGNvbnRleHQo
R3JhcGhpY3NDb250ZXh0M0Q6OmNyZWF0ZShtX2F0dHJpYnV0ZXMsIGNhbnZhcygpLT5kb2N1bWVu
dCgpLT52aWV3KCktPnJvb3QoKS0+aG9zdFdpbmRvdygpKSk7CisgICAgaWYgKCFjb250ZXh0KQog
ICAgICAgICByZXR1cm47CiAKLSAgICAvLyBUaGUgcmVuZGVyaW5nIGNvbnRleHQgaXMgbm90IHJl
c3RvcmVkIGlmIHRoZXJlIGlzIG5vIGhhbmRsZXIgZm9yCi0gICAgLy8gdGhlIGNvbnRleHQgcmVz
dG9yZWQgZXZlbnQuCi0gICAgaWYgKCFjYW52YXMoKS0+aGFzRXZlbnRMaXN0ZW5lcnMoZXZlbnRO
YW1lcygpLndlYmdsY29udGV4dHJlc3RvcmVkRXZlbnQpKQotICAgICAgICByZXR1cm47Ci0KLSAg
ICBtX2NvbnRleHRMb3N0ID0gZmFsc2U7CisgICAgbV9jb250ZXh0ID0gY29udGV4dDsKICAgICBp
bml0aWFsaXplTmV3Q29udGV4dCgpOwotCisgICAgbV9jb250ZXh0TG9zdCA9IGZhbHNlOwogICAg
IGNhbnZhcygpLT5kaXNwYXRjaEV2ZW50KFdlYkdMQ29udGV4dEV2ZW50OjpjcmVhdGUoZXZlbnRO
YW1lcygpLndlYmdsY29udGV4dHJlc3RvcmVkRXZlbnQsIGZhbHNlLCB0cnVlLCAiIikpOwogfQog
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5o
IGIvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuaAppbmRleCA5NTBk
NzA0MDAzNzkyMDJmN2Q5MGQzYmQ5ZGFhZTE5YWRiZDFjOWE3Li5jYmFlMDZiN2JjOGJkNjFlM2E2
MzA2MmUwMTk2YjI2ODI0YjdlNGU2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvY2FudmFzL1dl
YkdMUmVuZGVyaW5nQ29udGV4dC5oCisrKyBiL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5k
ZXJpbmdDb250ZXh0LmgKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJHcmFwaGljc0NvbnRl
eHQzRC5oIgogI2luY2x1ZGUgIkludDMyQXJyYXkuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmlu
Zy5oIgorI2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSAiVWludDhBcnJheS5oIgogI2luY2x1
ZGUgIldlYkdMR2V0SW5mby5oIgogCkBAIC01NSw2ICs1NiwxNiBAQCBjbGFzcyBJbWFnZUJ1ZmZl
cjsKIGNsYXNzIEltYWdlRGF0YTsKIGNsYXNzIEludFNpemU7CiAKK2NsYXNzIFdlYkdMUmVuZGVy
aW5nQ29udGV4dDsKKworY2xhc3MgV2ViR0xSZW5kZXJpbmdDb250ZXh0UmVzdG9yZVRpbWVyIDog
cHVibGljIFRpbWVyQmFzZSB7CitwdWJsaWM6CisgICAgV2ViR0xSZW5kZXJpbmdDb250ZXh0UmVz
dG9yZVRpbWVyKFdlYkdMUmVuZGVyaW5nQ29udGV4dCogY29udGV4dCkgOiBtX2NvbnRleHQoY29u
dGV4dCkgeyB9Citwcml2YXRlOgorICAgIHZpcnR1YWwgdm9pZCBmaXJlZCgpOworICAgIFdlYkdM
UmVuZGVyaW5nQ29udGV4dCogbV9jb250ZXh0OworfTsKKwogY2xhc3MgV2ViR0xSZW5kZXJpbmdD
b250ZXh0IDogcHVibGljIENhbnZhc1JlbmRlcmluZ0NvbnRleHQgewogcHVibGljOgogICAgIHN0
YXRpYyBQYXNzT3duUHRyPFdlYkdMUmVuZGVyaW5nQ29udGV4dD4gY3JlYXRlKEhUTUxDYW52YXNF
bGVtZW50KiwgV2ViR0xDb250ZXh0QXR0cmlidXRlcyopOwpAQCAtMTc1LDcgKzE4Niw3IEBAIHB1
YmxpYzoKIAogICAgIHZvaWQgaGludCh1bnNpZ25lZCBsb25nIHRhcmdldCwgdW5zaWduZWQgbG9u
ZyBtb2RlKTsKICAgICBib29sIGlzQnVmZmVyKFdlYkdMQnVmZmVyKik7Ci0gICAgYm9vbCBpc0Nv
bnRleHRMb3N0KCkgY29uc3Q7CisgICAgYm9vbCBpc0NvbnRleHRMb3N0KCk7CiAgICAgYm9vbCBp
c0VuYWJsZWQodW5zaWduZWQgbG9uZyBjYXApOwogICAgIGJvb2wgaXNGcmFtZWJ1ZmZlcihXZWJH
TEZyYW1lYnVmZmVyKik7CiAgICAgYm9vbCBpc1Byb2dyYW0oV2ViR0xQcm9ncmFtKik7CkBAIC0y
OTQsNyArMzA1LDcgQEAgcHVibGljOgogICBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBXZWJH
TE9iamVjdDsKIAotICAgIFdlYkdMUmVuZGVyaW5nQ29udGV4dChIVE1MQ2FudmFzRWxlbWVudCos
IFBhc3NSZWZQdHI8R3JhcGhpY3NDb250ZXh0M0Q+KTsKKyAgICBXZWJHTFJlbmRlcmluZ0NvbnRl
eHQoSFRNTENhbnZhc0VsZW1lbnQqLCBQYXNzUmVmUHRyPEdyYXBoaWNzQ29udGV4dDNEPiwgR3Jh
cGhpY3NDb250ZXh0M0Q6OkF0dHJpYnV0ZXMpOwogICAgIHZvaWQgaW5pdGlhbGl6ZU5ld0NvbnRl
eHQoKTsKICAgICB2b2lkIHNldHVwRmxhZ3MoKTsKIApAQCAtMzQzLDYgKzM1NCw4IEBAIHB1Ymxp
YzoKICAgICBQYXNzUmVmUHRyPEltYWdlPiB2aWRlb0ZyYW1lVG9JbWFnZShIVE1MVmlkZW9FbGVt
ZW50KiB2aWRlbyk7CiAKICAgICBSZWZQdHI8R3JhcGhpY3NDb250ZXh0M0Q+IG1fY29udGV4dDsK
KyAgICBXZWJHTFJlbmRlcmluZ0NvbnRleHRSZXN0b3JlVGltZXIgbV9yZXN0b3JlVGltZXI7CisK
ICAgICBib29sIG1fbmVlZHNVcGRhdGU7CiAgICAgYm9vbCBtX21hcmtlZENhbnZhc0RpcnR5Owog
ICAgIEhhc2hTZXQ8UmVmUHRyPFdlYkdMT2JqZWN0PiA+IG1fY2FudmFzT2JqZWN0czsKQEAgLTQz
MSw2ICs0NDQsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBtX3VucGFja1ByZW11bHRpcGx5QWxwaGE7
CiAgICAgdW5zaWduZWQgbG9uZyBtX3VucGFja0NvbG9yc3BhY2VDb252ZXJzaW9uOwogICAgIGJv
b2wgbV9jb250ZXh0TG9zdDsKKyAgICBHcmFwaGljc0NvbnRleHQzRDo6QXR0cmlidXRlcyBtX2F0
dHJpYnV0ZXM7CiAKICAgICBsb25nIG1fc3RlbmNpbEJpdHM7CiAgICAgdW5zaWduZWQgbG9uZyBt
X3N0ZW5jaWxNYXNrOwpAQCAtNTUwLDYgKzU2NCw4IEBAIHB1YmxpYzoKICAgICB2b2lkIHJlc3Rv
cmVTdGF0ZXNBZnRlclZlcnRleEF0dHJpYjBTaW11bGF0aW9uKCk7CiAKICAgICBmcmllbmQgY2xh
c3MgV2ViR0xTdGF0ZVJlc3RvcmVyOworICAgIC8vIFRvIGFjY2VzcyBtX2NvbnRleHRMb3N0Lgor
ICAgIGZyaWVuZCBjbGFzcyBXZWJHTFJlbmRlcmluZ0NvbnRleHRSZXN0b3JlVGltZXI7CiB9Owog
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>75741</attachid>
            <date>2010-12-06 15:35:23 -0800</date>
            <delta_ts>2010-12-06 20:24:35 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-50364-20101206153522.patch</filename>
            <type>text/plain</type>
            <size>7640</size>
            <attacher name="Alexey Marinichev">amarinichev</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
YzBjYWVhMDljOGM0ZGE5NmM4MzA2YmM3ODE5Yzk0YzQyMDMwY2RmOS4uOWU3YTM0MmEwMjBjYmFm
ZmM1MGJhZGMzYzY2OGVjMjZkMzk4ZTU2ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAxMC0xMi0wNiAgQWxl
eGV5IE1hcmluaWNoZXYgIDxhbWFyaW5pY2hldkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhyb3cgd2ViZ2xjb250ZXh0bG9z
dCBhbmQgd2ViZ2xjb250ZXh0cmVzdG9yZWQgZXZlbnRzIHdoZW4gYSBXZWJHTCBjb250ZXh0IGlz
IGxvc3QgYW5kIHJlc3RvcmVkLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NTAzNjQKKworICAgICAgICBObyBuZXcgdGVzdHMgc2luY2UgdGhlcmUgaXMg
Y3VycmVudGx5IG5vIHdheSB0byBmb3JjZSBhIGNvbnRleHQgbG9zdCBldmVudC4KKworICAgICAg
ICAqIGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OldlYkdMUmVuZGVyaW5nQ29udGV4dFJlc3RvcmVU
aW1lcjo6ZmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0Ojpj
cmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0OjpXZWJHTFJl
bmRlcmluZ0NvbnRleHQpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0
Ojppc0NvbnRleHRMb3N0KToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4
dDo6bG9zZUNvbnRleHQpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0
OjpyZXN0b3JlQ29udGV4dCk6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdD
b250ZXh0Lmg6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OldlYkdM
UmVuZGVyaW5nQ29udGV4dFJlc3RvcmVUaW1lcjo6V2ViR0xSZW5kZXJpbmdDb250ZXh0UmVzdG9y
ZVRpbWVyKToKKwogMjAxMC0xMi0wNiAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUu
Y29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE9saXZlciBIdW50LgpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwIGIvV2ViQ29yZS9odG1s
L2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwCmluZGV4IDkyMDBiODg1ODEwY2YxOTM3
MDI1YzM0OTUxNmQwZjZmNGZhOTFiYWUuLmI4NDVlNmU3YmUyYjVhYzYyYzZkOTQwOTJiMjdjZDE3
YTcyNjg5ZDEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdD
b250ZXh0LmNwcAorKysgYi9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4
dC5jcHAKQEAgLTYyLDYgKzYyLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitjb25zdCBk
b3VibGUgc2Vjb25kc0JldHdlZW5SZXN0b3JlQXR0ZW1wdHMgPSAxLjA7CisKIHN0YXRpYyBpbmxp
bmUgUGxhdGZvcm0zRE9iamVjdCBvYmplY3RPclplcm8oV2ViR0xPYmplY3QqIG9iamVjdCkKIHsK
ICAgICByZXR1cm4gb2JqZWN0ID8gb2JqZWN0LT5vYmplY3QoKSA6IDA7CkBAIC04NiwyNSArODgs
NDkgQEAgcHJpdmF0ZToKICAgICBib29sIG1fY2hhbmdlZDsKIH07CiAKK3ZvaWQgV2ViR0xSZW5k
ZXJpbmdDb250ZXh0OjpXZWJHTFJlbmRlcmluZ0NvbnRleHRSZXN0b3JlVGltZXI6OmZpcmVkKCkK
K3sKKyAgICAvLyBUaW1lciBpcyBzdGFydGVkIHdoZW4gbV9jb250ZXh0TG9zdCBpcyBmYWxzZS4g
IEl0IHdpbGwgZmlyc3QgY2FsbAorICAgIC8vIGxvc2VDb250ZXh0LCB3aGljaCB3aWxsIHNldCBt
X2NvbnRleHRMb3N0IHRvIHRydWUuICBUaGVuIGl0IHdpbGwga2VlcAorICAgIC8vIGNhbGxpbmcg
cmVzdG9yZUNvbnRleHQgYW5kIHJlc2NoZWR1bGUgaXRzZWxmIHVudGlsIG1fY29udGV4dExvc3Qg
aXMgYmFjaworICAgIC8vIHRvIGZhbHNlLgorICAgIGlmICghbV9jb250ZXh0LT5tX2NvbnRleHRM
b3N0KSB7CisgICAgICAgIG1fY29udGV4dC0+bG9zZUNvbnRleHQoKTsKKyAgICAgICAgc3RhcnRP
bmVTaG90KHNlY29uZHNCZXR3ZWVuUmVzdG9yZUF0dGVtcHRzKTsKKyAgICB9IGVsc2UgeworICAg
ICAgICAvLyBUaGUgcmVuZGVyaW5nIGNvbnRleHQgaXMgbm90IHJlc3RvcmVkIGlmIHRoZXJlIGlz
IG5vIGhhbmRsZXIgZm9yCisgICAgICAgIC8vIHRoZSBjb250ZXh0IHJlc3RvcmVkIGV2ZW50Lgor
ICAgICAgICBpZiAoIW1fY29udGV4dC0+Y2FudmFzKCktPmhhc0V2ZW50TGlzdGVuZXJzKGV2ZW50
TmFtZXMoKS53ZWJnbGNvbnRleHRyZXN0b3JlZEV2ZW50KSkKKyAgICAgICAgICAgIHJldHVybjsK
KworICAgICAgICBtX2NvbnRleHQtPnJlc3RvcmVDb250ZXh0KCk7CisgICAgICAgIGlmIChtX2Nv
bnRleHQtPm1fY29udGV4dExvc3QpCisgICAgICAgICAgICBzdGFydE9uZVNob3Qoc2Vjb25kc0Jl
dHdlZW5SZXN0b3JlQXR0ZW1wdHMpOworICAgIH0KK30KKwogUGFzc093blB0cjxXZWJHTFJlbmRl
cmluZ0NvbnRleHQ+IFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6Y3JlYXRlKEhUTUxDYW52YXNFbGVt
ZW50KiBjYW52YXMsIFdlYkdMQ29udGV4dEF0dHJpYnV0ZXMqIGF0dHJzKQogewogICAgIEhvc3RX
aW5kb3cqIGhvc3RXaW5kb3cgPSBjYW52YXMtPmRvY3VtZW50KCktPnZpZXcoKS0+cm9vdCgpLT5o
b3N0V2luZG93KCk7Ci0gICAgR3JhcGhpY3NDb250ZXh0M0Q6OkF0dHJpYnV0ZXMgZW1wdHlBdHRy
aWJ1dGVzOwotICAgIFJlZlB0cjxHcmFwaGljc0NvbnRleHQzRD4gY29udGV4dChHcmFwaGljc0Nv
bnRleHQzRDo6Y3JlYXRlKGF0dHJzID8gYXR0cnMtPmF0dHJpYnV0ZXMoKSA6IGVtcHR5QXR0cmli
dXRlcywgaG9zdFdpbmRvdykpOworICAgIEdyYXBoaWNzQ29udGV4dDNEOjpBdHRyaWJ1dGVzIGF0
dHJpYnV0ZXMgPSBhdHRycyA/IGF0dHJzLT5hdHRyaWJ1dGVzKCkgOiBHcmFwaGljc0NvbnRleHQz
RDo6QXR0cmlidXRlcygpOworICAgIFJlZlB0cjxHcmFwaGljc0NvbnRleHQzRD4gY29udGV4dChH
cmFwaGljc0NvbnRleHQzRDo6Y3JlYXRlKGF0dHJpYnV0ZXMsIGhvc3RXaW5kb3cpKTsKIAogICAg
IGlmICghY29udGV4dCkgewogICAgICAgICBjYW52YXMtPmRpc3BhdGNoRXZlbnQoV2ViR0xDb250
ZXh0RXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkud2ViZ2xjb250ZXh0Y3JlYXRpb25lcnJvckV2
ZW50LCBmYWxzZSwgdHJ1ZSwgIkNvdWxkIG5vdCBjcmVhdGUgYSBXZWJHTCBjb250ZXh0LiIpKTsK
ICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQogICAgICAgICAKLSAgICByZXR1cm4gbmV3IFdlYkdM
UmVuZGVyaW5nQ29udGV4dChjYW52YXMsIGNvbnRleHQpOworICAgIHJldHVybiBuZXcgV2ViR0xS
ZW5kZXJpbmdDb250ZXh0KGNhbnZhcywgY29udGV4dCwgYXR0cmlidXRlcyk7CiB9CiAKLVdlYkdM
UmVuZGVyaW5nQ29udGV4dDo6V2ViR0xSZW5kZXJpbmdDb250ZXh0KEhUTUxDYW52YXNFbGVtZW50
KiBwYXNzZWRDYW52YXMsIFBhc3NSZWZQdHI8R3JhcGhpY3NDb250ZXh0M0Q+IGNvbnRleHQpCitX
ZWJHTFJlbmRlcmluZ0NvbnRleHQ6OldlYkdMUmVuZGVyaW5nQ29udGV4dChIVE1MQ2FudmFzRWxl
bWVudCogcGFzc2VkQ2FudmFzLCBQYXNzUmVmUHRyPEdyYXBoaWNzQ29udGV4dDNEPiBjb250ZXh0
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR3JhcGhpY3ND
b250ZXh0M0Q6OkF0dHJpYnV0ZXMgYXR0cmlidXRlcykKICAgICA6IENhbnZhc1JlbmRlcmluZ0Nv
bnRleHQocGFzc2VkQ2FudmFzKQogICAgICwgbV9jb250ZXh0KGNvbnRleHQpCisgICAgLCBtX3Jl
c3RvcmVUaW1lcih0aGlzKQogICAgICwgbV92aWRlb0NhY2hlKDQpCiAgICAgLCBtX2NvbnRleHRM
b3N0KGZhbHNlKQorICAgICwgbV9hdHRyaWJ1dGVzKGF0dHJpYnV0ZXMpCiB7CiAgICAgQVNTRVJU
KG1fY29udGV4dCk7CiAgICAgc2V0dXBGbGFncygpOwpAQCAtMjA5MCw4ICsyMTE2LDE2IEBAIGJv
b2wgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojppc0J1ZmZlcihXZWJHTEJ1ZmZlciogYnVmZmVyKQog
ICAgIHJldHVybiBtX2NvbnRleHQtPmlzQnVmZmVyKGJ1ZmZlci0+b2JqZWN0KCkpOwogfQogCi1i
b29sIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6aXNDb250ZXh0TG9zdCgpIGNvbnN0Citib29sIFdl
YkdMUmVuZGVyaW5nQ29udGV4dDo6aXNDb250ZXh0TG9zdCgpCiB7CisgICAgaWYgKG1fcmVzdG9y
ZVRpbWVyLmlzQWN0aXZlKCkpCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgYm9vbCBuZXdD
b250ZXh0TG9zdCA9IG1fY29udGV4dC0+Z2V0RXh0ZW5zaW9ucygpLT5nZXRHcmFwaGljc1Jlc2V0
U3RhdHVzQVJCKCkgIT0gR3JhcGhpY3NDb250ZXh0M0Q6Ok5PX0VSUk9SOworCisgICAgaWYgKG5l
d0NvbnRleHRMb3N0ICE9IG1fY29udGV4dExvc3QpCisgICAgICAgIG1fcmVzdG9yZVRpbWVyLnN0
YXJ0T25lU2hvdChzZWNvbmRzQmV0d2VlblJlc3RvcmVBdHRlbXB0cyk7CisKICAgICByZXR1cm4g
bV9jb250ZXh0TG9zdDsKIH0KIApAQCAtMzI0NSw5ICszMjc5LDYgQEAgdm9pZCBXZWJHTFJlbmRl
cmluZ0NvbnRleHQ6OnZpZXdwb3J0KGxvbmcgeCwgbG9uZyB5LCB1bnNpZ25lZCBsb25nIHdpZHRo
LCB1bnNpZ24KIAogdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6Omxvc2VDb250ZXh0KCkKIHsK
LSAgICBpZiAoaXNDb250ZXh0TG9zdCgpKQotICAgICAgICByZXR1cm47Ci0KICAgICBtX2NvbnRl
eHRMb3N0ID0gdHJ1ZTsKIAogICAgIGRldGFjaEFuZFJlbW92ZUFsbE9iamVjdHMoKTsKQEAgLTMy
NjcsMTcgKzMyOTgsMTMgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6Omxvc2VDb250ZXh0
KCkKIAogdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnJlc3RvcmVDb250ZXh0KCkKIHsKLSAg
ICBpZiAoIWlzQ29udGV4dExvc3QoKSkKKyAgICBSZWZQdHI8R3JhcGhpY3NDb250ZXh0M0Q+IGNv
bnRleHQoR3JhcGhpY3NDb250ZXh0M0Q6OmNyZWF0ZShtX2F0dHJpYnV0ZXMsIGNhbnZhcygpLT5k
b2N1bWVudCgpLT52aWV3KCktPnJvb3QoKS0+aG9zdFdpbmRvdygpKSk7CisgICAgaWYgKCFjb250
ZXh0KQogICAgICAgICByZXR1cm47CiAKLSAgICAvLyBUaGUgcmVuZGVyaW5nIGNvbnRleHQgaXMg
bm90IHJlc3RvcmVkIGlmIHRoZXJlIGlzIG5vIGhhbmRsZXIgZm9yCi0gICAgLy8gdGhlIGNvbnRl
eHQgcmVzdG9yZWQgZXZlbnQuCi0gICAgaWYgKCFjYW52YXMoKS0+aGFzRXZlbnRMaXN0ZW5lcnMo
ZXZlbnROYW1lcygpLndlYmdsY29udGV4dHJlc3RvcmVkRXZlbnQpKQotICAgICAgICByZXR1cm47
Ci0KLSAgICBtX2NvbnRleHRMb3N0ID0gZmFsc2U7CisgICAgbV9jb250ZXh0ID0gY29udGV4dDsK
ICAgICBpbml0aWFsaXplTmV3Q29udGV4dCgpOwotCisgICAgbV9jb250ZXh0TG9zdCA9IGZhbHNl
OwogICAgIGNhbnZhcygpLT5kaXNwYXRjaEV2ZW50KFdlYkdMQ29udGV4dEV2ZW50OjpjcmVhdGUo
ZXZlbnROYW1lcygpLndlYmdsY29udGV4dHJlc3RvcmVkRXZlbnQsIGZhbHNlLCB0cnVlLCAiIikp
OwogfQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29u
dGV4dC5oIGIvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuaAppbmRl
eCA5NTBkNzA0MDAzNzkyMDJmN2Q5MGQzYmQ5ZGFhZTE5YWRiZDFjOWE3Li5hOTRkNGJkM2Y0ZmFm
ZmVjMzNiMDk5ZGFjOGUwYjYyYjY5ZWM5NWUxIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5oCisrKyBiL1dlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
R0xSZW5kZXJpbmdDb250ZXh0LmgKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJHcmFwaGlj
c0NvbnRleHQzRC5oIgogI2luY2x1ZGUgIkludDMyQXJyYXkuaCIKICNpbmNsdWRlICJQbGF0Zm9y
bVN0cmluZy5oIgorI2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSAiVWludDhBcnJheS5oIgog
I2luY2x1ZGUgIldlYkdMR2V0SW5mby5oIgogCkBAIC0xNzUsNyArMTc2LDcgQEAgcHVibGljOgog
CiAgICAgdm9pZCBoaW50KHVuc2lnbmVkIGxvbmcgdGFyZ2V0LCB1bnNpZ25lZCBsb25nIG1vZGUp
OwogICAgIGJvb2wgaXNCdWZmZXIoV2ViR0xCdWZmZXIqKTsKLSAgICBib29sIGlzQ29udGV4dExv
c3QoKSBjb25zdDsKKyAgICBib29sIGlzQ29udGV4dExvc3QoKTsKICAgICBib29sIGlzRW5hYmxl
ZCh1bnNpZ25lZCBsb25nIGNhcCk7CiAgICAgYm9vbCBpc0ZyYW1lYnVmZmVyKFdlYkdMRnJhbWVi
dWZmZXIqKTsKICAgICBib29sIGlzUHJvZ3JhbShXZWJHTFByb2dyYW0qKTsKQEAgLTI5NCw3ICsy
OTUsNyBAQCBwdWJsaWM6CiAgIHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIFdlYkdMT2JqZWN0
OwogCi0gICAgV2ViR0xSZW5kZXJpbmdDb250ZXh0KEhUTUxDYW52YXNFbGVtZW50KiwgUGFzc1Jl
ZlB0cjxHcmFwaGljc0NvbnRleHQzRD4pOworICAgIFdlYkdMUmVuZGVyaW5nQ29udGV4dChIVE1M
Q2FudmFzRWxlbWVudCosIFBhc3NSZWZQdHI8R3JhcGhpY3NDb250ZXh0M0Q+LCBHcmFwaGljc0Nv
bnRleHQzRDo6QXR0cmlidXRlcyk7CiAgICAgdm9pZCBpbml0aWFsaXplTmV3Q29udGV4dCgpOwog
ICAgIHZvaWQgc2V0dXBGbGFncygpOwogCkBAIC0zNDMsNiArMzQ0LDE3IEBAIHB1YmxpYzoKICAg
ICBQYXNzUmVmUHRyPEltYWdlPiB2aWRlb0ZyYW1lVG9JbWFnZShIVE1MVmlkZW9FbGVtZW50KiB2
aWRlbyk7CiAKICAgICBSZWZQdHI8R3JhcGhpY3NDb250ZXh0M0Q+IG1fY29udGV4dDsKKworICAg
IGNsYXNzIFdlYkdMUmVuZGVyaW5nQ29udGV4dFJlc3RvcmVUaW1lciA6IHB1YmxpYyBUaW1lckJh
c2UgeworICAgIHB1YmxpYzoKKyAgICAgICAgV2ViR0xSZW5kZXJpbmdDb250ZXh0UmVzdG9yZVRp
bWVyKFdlYkdMUmVuZGVyaW5nQ29udGV4dCogY29udGV4dCkgOiBtX2NvbnRleHQoY29udGV4dCkg
eyB9CisgICAgcHJpdmF0ZToKKyAgICAgICAgdmlydHVhbCB2b2lkIGZpcmVkKCk7CisgICAgICAg
IFdlYkdMUmVuZGVyaW5nQ29udGV4dCogbV9jb250ZXh0OworICAgIH07CisKKyAgICBXZWJHTFJl
bmRlcmluZ0NvbnRleHRSZXN0b3JlVGltZXIgbV9yZXN0b3JlVGltZXI7CisKICAgICBib29sIG1f
bmVlZHNVcGRhdGU7CiAgICAgYm9vbCBtX21hcmtlZENhbnZhc0RpcnR5OwogICAgIEhhc2hTZXQ8
UmVmUHRyPFdlYkdMT2JqZWN0PiA+IG1fY2FudmFzT2JqZWN0czsKQEAgLTQzMSw2ICs0NDMsNyBA
QCBwdWJsaWM6CiAgICAgYm9vbCBtX3VucGFja1ByZW11bHRpcGx5QWxwaGE7CiAgICAgdW5zaWdu
ZWQgbG9uZyBtX3VucGFja0NvbG9yc3BhY2VDb252ZXJzaW9uOwogICAgIGJvb2wgbV9jb250ZXh0
TG9zdDsKKyAgICBHcmFwaGljc0NvbnRleHQzRDo6QXR0cmlidXRlcyBtX2F0dHJpYnV0ZXM7CiAK
ICAgICBsb25nIG1fc3RlbmNpbEJpdHM7CiAgICAgdW5zaWduZWQgbG9uZyBtX3N0ZW5jaWxNYXNr
Owo=
</data>

          </attachment>
      

    </bug>

</bugzilla>