<?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>40774</bug_id>
          
          <creation_ts>2010-06-17 07:08:00 -0700</creation_ts>
          <short_desc>Web Inspector: implement layout tests for debugger</short_desc>
          <delta_ts>2010-06-24 04:20:32 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (Deprecated)</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>
          <dependson>41147</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yury Semikhatsky">yurys</reporter>
          <assigned_to name="Yury Semikhatsky">yurys</assigned_to>
          <cc>abarth</cc>
    
    <cc>bweinstein</cc>
    
    <cc>eric</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>239368</commentid>
    <comment_count>0</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2010-06-17 07:08:00 -0700</bug_when>
    <thetext>Implement layout tests for JS debugger in Web Inspector.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>240747</commentid>
    <comment_count>1</comment_count>
      <attachid>59258</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2010-06-21 09:30:31 -0700</bug_when>
    <thetext>Created attachment 59258
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>241176</commentid>
    <comment_count>2</comment_count>
      <attachid>59258</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2010-06-22 01:10:21 -0700</bug_when>
    <thetext>Comment on attachment 59258
Patch

LayoutTests/http/tests/inspector/inspector-test.js:35
 +          if (window.layoutTestController) {
You don&apos;t need this change, right? Same here. We should rely on DRT. Is there a reason we can&apos;t trust it?

LayoutTests/http/tests/inspector/inspector-test.js:107
 +      var toolbar = document.getElementById(&quot;toolbar&quot;);
What is wrong with assigning to the current panel? (that is what IC is doing by means of WebInspector.show*Panel calls.

WebCore/platform/mac/EventLoopMac.mm:35
 +      NSTimeInterval interval = [[NSDate date] timeIntervalSinceReferenceDate];
I am hesitant getting into this code / reviewing it in connection with inspector tests. Why did you change this? Does it work on all other platforms? (You are only changing the mac&apos;s platform). What non-inspector flows will it affect? r- until this is cleared properly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>241229</commentid>
    <comment_count>3</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2010-06-22 06:05:26 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 59258 [details])
&gt; LayoutTests/http/tests/inspector/inspector-test.js:35
&gt;  +          if (window.layoutTestController) {
&gt; You don&apos;t need this change, right? Same here. We should rely on DRT. Is there a reason we can&apos;t trust it?
&gt; 
This is needed to ensure that debugger is resumed after test is completed.

&gt; LayoutTests/http/tests/inspector/inspector-test.js:107
&gt;  +      var toolbar = document.getElementById(&quot;toolbar&quot;);
&gt; What is wrong with assigning to the current panel? (that is what IC is doing by means of WebInspector.show*Panel calls.
&gt; 
Will change this.

&gt; WebCore/platform/mac/EventLoopMac.mm:35
&gt;  +      NSTimeInterval interval = [[NSDate date] timeIntervalSinceReferenceDate];
&gt; I am hesitant getting into this code / reviewing it in connection with inspector tests. Why did you change this? Does it work on all other platforms? (You are only changing the mac&apos;s platform). What non-inspector flows will it affect? r- until this is cleared properly.
As I wrote in ChangeLog there may be no events to be processed in the EventLoop if script execution is paused in DRT. If there were no timeout the test would hang since ScriptDebugServer would never leave the event loop and wouldn&apos;t have a chance to check if the execution was resumed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>241267</commentid>
    <comment_count>4</comment_count>
      <attachid>59372</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2010-06-22 08:35:39 -0700</bug_when>
    <thetext>Created attachment 59372
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>241289</commentid>
    <comment_count>5</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2010-06-22 09:29:04 -0700</bug_when>
    <thetext>&gt; WebCore/platform/mac/EventLoopMac.mm:35
&gt;  +      NSTimeInterval interval = [[NSDate date] timeIntervalSinceReferenceDate];
&gt; I am hesitant getting into this code / reviewing it in connection with inspector tests. Why did you change this? Does it work on all other platforms? (You are only changing the mac&apos;s platform). What non-inspector flows will it affect? r- until this is cleared properly.
Would be nice if the author of the code look at this change. Tim, could you review this stuff?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>242100</commentid>
    <comment_count>6</comment_count>
      <attachid>59372</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2010-06-23 14:47:38 -0700</bug_when>
    <thetext>Comment on attachment 59372
Patch

WebCore/platform/mac/EventLoopMac.mm:36
 +      interval += 0.05;
From the IRC: Timothy is suggesting longer timeout (1s). Other than that, he is fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>242101</commentid>
    <comment_count>7</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2010-06-23 14:48:48 -0700</bug_when>
    <thetext>&gt; From the IRC: Timothy is suggesting longer timeout (1s). Other than that, he is fine.
... with the change :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>242375</commentid>
    <comment_count>8</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2010-06-24 01:51:14 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 59372 [details])
&gt; WebCore/platform/mac/EventLoopMac.mm:36
&gt;  +      interval += 0.05;
&gt; From the IRC: Timothy is suggesting longer timeout (1s). Other than that, he is fine.

1s timeout would slow down each pause/continue pair for 1s. So I&apos;d rather continue with a shorter timeout.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>242385</commentid>
    <comment_count>9</comment_count>
      <attachid>59372</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2010-06-24 02:01:35 -0700</bug_when>
    <thetext>Comment on attachment 59372
Patch

Clearing flags on attachment: 59372

Committed r61749: &lt;http://trac.webkit.org/changeset/61749&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>242386</commentid>
    <comment_count>10</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2010-06-24 02:01:46 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>242396</commentid>
    <comment_count>11</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-06-24 02:31:31 -0700</bug_when>
    <thetext>Appears to cause Qt failure:
http://build.webkit.org/results/Qt%20Linux%20Release/r61749%20(13882)/inspector/debugger-pause-on-debugger-statement-pretty-diff.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>242398</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-06-24 02:35:18 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/61749 might have broken Qt Linux Release</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>59258</attachid>
            <date>2010-06-21 09:30:31 -0700</date>
            <delta_ts>2010-06-22 08:35:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-40774-20100621203028.patch</filename>
            <type>text/plain</type>
            <size>13759</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBiMTU1ZWYyZmQ3NDJiOTlkNjQwY2U4YzU0MjU2MTBmZmM0YjE3OTZmLi5kY2I5NzFi
Y2ZmNDFlMmIwODk5NzViMDg3NmY5MjNlMzk3MDZiODA5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAK
KzIwMTAtMDYtMjEgIFl1cnkgU2VtaWtoYXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2ViIEluc3BlY3Rv
cjogaW1wbGVtZW50IGxheW91dCB0ZXN0cyBmb3IgZGVidWdnZXIKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQwNzc0CisKKyAgICAgICAgKiBodHRwL3Rl
c3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qczoKKyAgICAgICAgKG5vdGlmeURvbmUpOgor
ICAgICAgICAoZnJvbnRlbmRfc2hvd1BhbmVsKToKKyAgICAgICAgKGZyb250ZW5kX2FkZFNuaWZm
ZXIucmVjZWl2ZXIubWV0aG9kTmFtZSk6CisgICAgICAgIChmcm9udGVuZF9hZGRTbmlmZmVyKToK
KyAgICAgICAgKGZyb250ZW5kX2NyZWF0ZUtleUV2ZW50KToKKyAgICAgICAgKGZyb250ZW5kX2V2
YWx1YXRlSW5Db25zb2xlKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZGVidWdnZXItcGF1c2Utb24t
ZGVidWdnZXItc3RhdGVtZW50LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaW5zcGVj
dG9yL2RlYnVnZ2VyLXBhdXNlLW9uLWRlYnVnZ2VyLXN0YXRlbWVudC5odG1sOiBBZGRlZC4KKwog
MjAxMC0wNi0yMSAgRHVtaXRydSBEYW5pbGl1YyAgPGR1bWlAY2hyb21pdW0ub3JnPgogCiAgICAg
ICAgIFVucmV2aWV3ZWQsIGZpeGluZyBleHBlY3RhdGlvbnMuCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzCmluZGV4IDVjODFkZmNjNWI5
ZjVmZGFkYzU3ZWJkZjc0YmYwYjMzNDU1YTBjNGMuLmExOGI3MmY4N2ZlMWVhNTkyYmEzNDQxN2Jl
YjI5ODA2OWNiZmI2NmEgMTAwNzU1Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVj
dG9yL2luc3BlY3Rvci10ZXN0LmpzCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVj
dG9yL2luc3BlY3Rvci10ZXN0LmpzCkBAIC0zMiw4ICszMiwxMCBAQCBmdW5jdGlvbiBldmFsdWF0
ZUluV2ViSW5zcGVjdG9yKHNjcmlwdCwgY2FsbGJhY2spCiBmdW5jdGlvbiBub3RpZnlEb25lKCkK
IHsKICAgICBldmFsdWF0ZUluV2ViSW5zcGVjdG9yKCJ0cnVlIiwgZnVuY3Rpb24oKSB7Ci0gICAg
ICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGlmICh3aW5kb3cu
bGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVy
Lm5vdGlmeURvbmUoKTsKKyAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmNsb3NlV2Vi
SW5zcGVjdG9yKCk7CisgICAgICAgIH0KICAgICB9KTsKIH0KIApAQCAtOTksMyArMTAxLDUxIEBA
IGZ1bmN0aW9uIGZyb250ZW5kX2R1bXBUcmVlSXRlbSh0cmVlSXRlbSwgcmVzdWx0LCBwcmVmaXgp
CiAgICAgZm9yICh2YXIgaSA9IDA7IGNoaWxkcmVuICYmIGkgPCBjaGlsZHJlbi5sZW5ndGg7ICsr
aSkKICAgICAgICAgZnJvbnRlbmRfZHVtcFRyZWVJdGVtKGNoaWxkcmVuW2ldLCByZXN1bHQsIHBy
ZWZpeCArICIgICAgIik7CiB9CisKK2Z1bmN0aW9uIGZyb250ZW5kX3Nob3dQYW5lbChwYW5lbE5h
bWUpCit7CisgICAgdmFyIHRvb2xiYXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidG9vbGJh
ciIpOworICAgIHZhciBidXR0b24gPSB0b29sYmFyLmdldEVsZW1lbnRzQnlDbGFzc05hbWUocGFu
ZWxOYW1lKVswXTsKKyAgICBidXR0b24uY2xpY2soKTsKK30KKworZnVuY3Rpb24gZnJvbnRlbmRf
YWRkU25pZmZlcihyZWNlaXZlciwgbWV0aG9kTmFtZSwgb3ZlcnJpZGUsIG9wdF9zdGlja3kpCit7
CisgICAgdmFyIG9yaWcgPSByZWNlaXZlclttZXRob2ROYW1lXTsKKyAgICBpZiAodHlwZW9mIG9y
aWcgIT09ICJmdW5jdGlvbiIpCisgICAgICAgIHRocm93ICgiQ2Fubm90IGZpbmQgbWV0aG9kIHRv
IG92ZXJyaWRlOiAiICsgbWV0aG9kTmFtZSk7CisgICAgcmVjZWl2ZXJbbWV0aG9kTmFtZV0gPSBm
dW5jdGlvbih2YXJfYXJncykgeworICAgICAgICB0cnkgeworICAgICAgICAgICAgdmFyIHJlc3Vs
dCA9IG9yaWcuYXBwbHkodGhpcywgYXJndW1lbnRzKTsKKyAgICAgICAgfSBmaW5hbGx5IHsKKyAg
ICAgICAgICAgIGlmICghb3B0X3N0aWNreSkKKyAgICAgICAgICAgICAgICByZWNlaXZlclttZXRo
b2ROYW1lXSA9IG9yaWc7CisgICAgICAgIH0KKyAgICAgICAgLy8gSW4gY2FzZSBvZiBleGNlcHRp
b24gdGhlIG92ZXJyaWRlIHdvbid0IGJlIGNhbGxlZC4KKyAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgIG92ZXJyaWRlLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7CisgICAgICAgIH0gY2F0Y2ggKGUp
IHsKKyAgICAgICAgICAgIHRocm93ICgiRXhjZXB0aW9uIGluIG92ZXJyaWRlbiBtZXRob2QgJyIg
KyBtZXRob2ROYW1lICsgIic6ICIgKyBlKTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gcmVz
dWx0OworICAgIH07Cit9CisKK2Z1bmN0aW9uIGZyb250ZW5kX2NyZWF0ZUtleUV2ZW50KGtleUlk
ZW50aWZpZXIpCit7CisgICAgdmFyIGV2dCA9IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCJLZXlib2Fy
ZEV2ZW50Iik7CisgICAgZXZ0LmluaXRLZXlib2FyZEV2ZW50KCJrZXlkb3duIiwgdHJ1ZSAvKiBj
YW4gYnViYmxlICovLCB0cnVlIC8qIGNhbiBjYW5jZWwgKi8sIG51bGwgLyogdmlldyAqLywga2V5
SWRlbnRpZmllciwgIiIpOworICAgIHJldHVybiBldnQ7Cit9CisKK2Z1bmN0aW9uIGZyb250ZW5k
X2V2YWx1YXRlSW5Db25zb2xlKGNvZGUsIGNhbGxiYWNrKQoreworICAgIFdlYkluc3BlY3Rvci5j
b25zb2xlLnZpc2libGUgPSB0cnVlOworICAgIFdlYkluc3BlY3Rvci5jb25zb2xlLnByb21wdC50
ZXh0ID0gY29kZTsKKyAgICBXZWJJbnNwZWN0b3IuY29uc29sZS5wcm9tcHRFbGVtZW50LmRpc3Bh
dGNoRXZlbnQoZnJvbnRlbmRfY3JlYXRlS2V5RXZlbnQoIkVudGVyIikpOworCisgICAgZnJvbnRl
bmRfYWRkU25pZmZlcihXZWJJbnNwZWN0b3IuQ29uc29sZVZpZXcucHJvdG90eXBlLCAiYWRkTWVz
c2FnZSIsCisgICAgICAgIGZ1bmN0aW9uKGNvbW1hbmRSZXN1bHQpIHsKKyAgICAgICAgICAgIGNh
bGxiYWNrKGNvbW1hbmRSZXN1bHQudG9NZXNzYWdlRWxlbWVudCgpLnRleHRDb250ZW50KTsKKyAg
ICAgICAgfSk7Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIt
cGF1c2Utb24tZGVidWdnZXItc3RhdGVtZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci9kZWJ1Z2dlci1wYXVzZS1vbi1kZWJ1Z2dlci1zdGF0ZW1lbnQtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjBlYzljOTk4N2EwODI4ZDAyMjgwNDA1Mjk0MjVmZTdiZDIxNTA4YWMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXItcGF1c2Utb24t
ZGVidWdnZXItc3RhdGVtZW50LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDcgQEAKK1Rlc3RzIHRo
YXQgZGVidWdnZXIgd2lsbCBzdG9wIG9uICJkZWJ1Z2dlciIgc3RhdGVtZW50LgorCitEZWJ1Z2dl
ciB3YXMgZW5hYmxlZC4KK1NldCB0aW1lciBmb3IgdGVzdCBmdW5jdGlvbi4KK1NjcmlwdCBleGVj
dXRpb24gcGF1c2VkLgorUmVzdW1lZCBzY3JpcHQgZXhlY3V0aW9uLgorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXItcGF1c2Utb24tZGVidWdnZXItc3RhdGVtZW50
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXItcGF1c2Utb24tZGVidWdnZXIt
c3RhdGVtZW50Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTVkNzcwOTA4Y2U1M2YzYWI0MzY5ZWI2YjdjMjIx
MGZhMjEyZGRkOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1
Z2dlci1wYXVzZS1vbi1kZWJ1Z2dlci1zdGF0ZW1lbnQuaHRtbApAQCAtMCwwICsxLDcwIEBACis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3Bl
Y3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisKK2Z1bmN0aW9uIHRlc3RGdW5jdGlv
bigpIHsKKyAgICBkZWJ1Z2dlcjsKK30KKworZnVuY3Rpb24gZG9pdCgpCit7CisgICAgZnVuY3Rp
b24gY2FsbGJhY2socmVzdWx0KQorICAgIHsKKyAgICAgICAgaWYgKHJlc3VsdCBpbnN0YW5jZW9m
IEFycmF5KSB7CisgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJlc3VsdC5sZW5ndGg7
IGkrKykKKyAgICAgICAgICAgICAgICBvdXRwdXQocmVzdWx0W2ldKTsKKyAgICAgICAgfSBlbHNl
CisgICAgICAgICAgICBvdXRwdXQocmVzdWx0KTsKKyAgICAgICAgbm90aWZ5RG9uZSgpOworICAg
IH0KKyAgICBldmFsdWF0ZUluV2ViSW5zcGVjdG9yKCJmcm9udGVuZF90ZXN0UGF1c2VPbkRlYnVn
Z2VyU3RhdGVtZW50IiwgY2FsbGJhY2spOworfQorCitmdW5jdGlvbiBmcm9udGVuZF90ZXN0UGF1
c2VPbkRlYnVnZ2VyU3RhdGVtZW50KHRlc3RDb250cm9sbGVyKQoreworICAgIHRlc3RDb250cm9s
bGVyLndhaXRVbnRpbERvbmUoKTsKKworICAgIGZyb250ZW5kX3Nob3dQYW5lbCgic2NyaXB0cyIp
OworICAgIGZyb250ZW5kX2Vuc3VyZURlYnVnZ2VyRW5hYmxlZChkZWJ1Z2dlcldhc0VuYWJsZWRD
YWxsYmFjayk7CisKKyAgICBmdW5jdGlvbiBkZWJ1Z2dlcldhc0VuYWJsZWRDYWxsYmFjaygpCisg
ICAgeworICAgICAgICB0ZXN0Q29udHJvbGxlci5yZXN1bHRzLnB1c2goIkRlYnVnZ2VyIHdhcyBl
bmFibGVkLiIpOworICAgICAgICBmcm9udGVuZF9ldmFsdWF0ZUluQ29uc29sZSgic2V0VGltZW91
dCh0ZXN0RnVuY3Rpb24sIDApIiwgZnVuY3Rpb24ocmVzdWx0KQorICAgICAgICB7CisgICAgICAg
ICAgICB0ZXN0Q29udHJvbGxlci5yZXN1bHRzLnB1c2goIlNldCB0aW1lciBmb3IgdGVzdCBmdW5j
dGlvbi4iKTsKKyAgICAgICAgfSk7CisgICAgfQorCisgICAgZnJvbnRlbmRfYWRkU25pZmZlcihX
ZWJJbnNwZWN0b3IsICJwYXVzZWRTY3JpcHQiLCBmdW5jdGlvbihjYWxsRnJhbWVzKQorICAgIHsK
KyAgICAgICAgdGVzdENvbnRyb2xsZXIucmVzdWx0cy5wdXNoKCJTY3JpcHQgZXhlY3V0aW9uIHBh
dXNlZC4iKTsKKyAgICAgICAgaWYgKFdlYkluc3BlY3Rvci5wYW5lbHMuc2NyaXB0cy5wYXVzZWQp
CisgICAgICAgICAgICBXZWJJbnNwZWN0b3IucGFuZWxzLnNjcmlwdHMuX3RvZ2dsZVBhdXNlKCk7
CisgICAgICAgIHRlc3RDb250cm9sbGVyLnJlc3VsdHMucHVzaCgiUmVzdW1lZCBzY3JpcHQgZXhl
Y3V0aW9uLiIpOworICAgICAgICB0ZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7CisgICAgfSk7
Cit9CisKK2Z1bmN0aW9uIGZyb250ZW5kX2Vuc3VyZURlYnVnZ2VyRW5hYmxlZChjYWxsYmFjaykK
K3sKKyAgICBpZiAoV2ViSW5zcGVjdG9yLnBhbmVscy5zY3JpcHRzLl9kZWJ1Z2dlckVuYWJsZWQp
IHsKKyAgICAgICAgY2FsbGJhY2soKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGZy
b250ZW5kX2FkZFNuaWZmZXIoV2ViSW5zcGVjdG9yLCAiZGVidWdnZXJXYXNFbmFibGVkIiwgY2Fs
bGJhY2spOworICAgIFdlYkluc3BlY3Rvci5wYW5lbHMuc2NyaXB0cy5fdG9nZ2xlRGVidWdnaW5n
KGZhbHNlKTsKK30KKworPC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5IG9ubG9hZD0ib25sb2Fk
KCkiPgorPHA+CitUZXN0cyB0aGF0IGRlYnVnZ2VyIHdpbGwgc3RvcCBvbiAiZGVidWdnZXIiIHN0
YXRlbWVudC4KKzwvcD4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBjMzM3NGVhZmMwYWY5NGIzZjBmNjYy
NzRiZGVmZWY5YzZlN2E0N2I4Li41ZDk3ZWI2NzI3MTQwZjIzYmRjNjk0NTJlZGNlNzZhNmI3NGJl
MDdhIDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDI0IEBACisyMDEwLTA2LTIxICBZdXJ5IFNlbWlraGF0c2t5ICA8eXVyeXNA
Y2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFdlYiBJbnNwZWN0b3I6IGltcGxlbWVudCBsYXlvdXQgdGVzdHMgZm9yIGRlYnVnZ2Vy
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MDc3NAor
CisgICAgICAgIFRlc3Q6IGluc3BlY3Rvci9kZWJ1Z2dlci1wYXVzZS1vbi1kZWJ1Z2dlci1zdGF0
ZW1lbnQuaHRtbAorCisgICAgICAgICogYmluZGluZ3MvanMvU2NyaXB0RGVidWdTZXJ2ZXIuY3Bw
OiByZW1vdmUgdW51c2VkIG9ic29sZXRlIGNvZGUgdGhhdCBkZWFscyB3aXRoIGdsb2JhbCBsaXN0
ZW5lcnMuCisgICAgICAgIChXZWJDb3JlOjpTY3JpcHREZWJ1Z1NlcnZlcjo6U2NyaXB0RGVidWdT
ZXJ2ZXIpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0RGVidWdTZXJ2ZXI6OnJlbW92ZUxpc3Rl
bmVyKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdERlYnVnU2VydmVyOjpkaXNwYXRjaEZ1bmN0
aW9uVG9MaXN0ZW5lcnMpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0RGVidWdTZXJ2ZXI6OnBh
dXNlSWZOZWVkZWQpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0RGVidWdTZXJ2ZXI6OmRpZEFk
ZExpc3RlbmVyKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdERlYnVnU2VydmVyOjpkaWRSZW1v
dmVMaXN0ZW5lcik6CisgICAgICAgICogYmluZGluZ3MvanMvU2NyaXB0RGVidWdTZXJ2ZXIuaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvRXZlbnRMb29wTWFjLm1tOgorICAgICAgICAoV2ViQ29y
ZTo6RXZlbnRMb29wOjpjeWNsZSk6IHdhaXQgYXQgbW9zdCAxMG1zIGZvciBuZXcgZXZlbnQsIG90
aGVyd2lzZSBsYXlvdXQgdGVzdHMgd291bGQKKyAgICAgICAgaGFuZyBiZWNhdXNlIGluIHRoZWly
IGNhc2UgdGhlcmUgbWF5IGJlIG5vIGV2ZW50cyBldmVyLgorCiAyMDEwLTA2LTIxICBCZW5qYW1p
biBQb3VsYWluICA8YmVuamFtaW4ucG91bGFpbkBub2tpYS5jb20+CiAKICAgICAgICAgUmV2aWV3
ZWQgYnkgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4uCmRpZmYgLS1naXQgYS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL1NjcmlwdERlYnVnU2VydmVyLmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvanMvU2Ny
aXB0RGVidWdTZXJ2ZXIuY3BwCmluZGV4IGViMDkyM2JhZTNlMmRlZDk4NTcxNWJlYjg2MmY1ODY4
MDdhZmJhODQuLjIxNDAwZDNjMGFlYmM0ZjdjYTdmMzg1MDU5Y2YwNGVmNjUwOWJiOTggMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0RGVidWdTZXJ2ZXIuY3BwCisrKyBiL1dl
YkNvcmUvYmluZGluZ3MvanMvU2NyaXB0RGVidWdTZXJ2ZXIuY3BwCkBAIC02OSw2ICs2OSw3IEBA
IFNjcmlwdERlYnVnU2VydmVyOjpTY3JpcHREZWJ1Z1NlcnZlcigpCiAgICAgLCBtX3BhdXNlT25F
eGNlcHRpb25zU3RhdGUoRG9udFBhdXNlT25FeGNlcHRpb25zKQogICAgICwgbV9wYXVzZU9uTmV4
dFN0YXRlbWVudChmYWxzZSkKICAgICAsIG1fcGF1c2VkKGZhbHNlKQorICAgICwgbV9wYXVzZWRQ
YWdlKDApCiAgICAgLCBtX2RvbmVQcm9jZXNzaW5nRGVidWdnZXJFdmVudHModHJ1ZSkKICAgICAs
IG1fYnJlYWtwb2ludHNBY3RpdmF0ZWQodHJ1ZSkKICAgICAsIG1fcGF1c2VPbkNhbGxGcmFtZSgw
KQpAQCAtMTEzLDggKzExNCw2IEBAIHZvaWQgU2NyaXB0RGVidWdTZXJ2ZXI6OnJlbW92ZUxpc3Rl
bmVyKFNjcmlwdERlYnVnTGlzdGVuZXIqIGxpc3RlbmVyLCBQYWdlKiBwYWdlCiAgICAgfQogCiAg
ICAgZGlkUmVtb3ZlTGlzdGVuZXIocGFnZSk7Ci0gICAgaWYgKCFoYXNMaXN0ZW5lcnMoKSkKLSAg
ICAgICAgZGlkUmVtb3ZlTGFzdExpc3RlbmVyKCk7CiB9CiAKIHZvaWQgU2NyaXB0RGVidWdTZXJ2
ZXI6OnBhZ2VDcmVhdGVkKFBhZ2UqIHBhZ2UpCkBAIC0zNjAsOCArMzU5LDYgQEAgdm9pZCBTY3Jp
cHREZWJ1Z1NlcnZlcjo6ZGlzcGF0Y2hGdW5jdGlvblRvTGlzdGVuZXJzKEphdmFTY3JpcHRFeGVj
dXRpb25DYWxsYmFjawogCiAgICAgbV9jYWxsaW5nTGlzdGVuZXJzID0gdHJ1ZTsKIAotICAgIEFT
U0VSVChoYXNMaXN0ZW5lcnMoKSk7Ci0KICAgICBpZiAoTGlzdGVuZXJTZXQqIHBhZ2VMaXN0ZW5l
cnMgPSBtX3BhZ2VMaXN0ZW5lcnNNYXAuZ2V0KHBhZ2UpKSB7CiAgICAgICAgIEFTU0VSVCghcGFn
ZUxpc3RlbmVycy0+aXNFbXB0eSgpKTsKICAgICAgICAgZGlzcGF0Y2hGdW5jdGlvblRvTGlzdGVu
ZXJzKCpwYWdlTGlzdGVuZXJzLCBjYWxsYmFjayk7CkBAIC00NDMsNiArNDQwLDcgQEAgdm9pZCBT
Y3JpcHREZWJ1Z1NlcnZlcjo6cGF1c2VJZk5lZWRlZChQYWdlKiBwYWdlKQogICAgIG1fcGF1c2VP
bkNhbGxGcmFtZSA9IDA7CiAgICAgbV9wYXVzZU9uTmV4dFN0YXRlbWVudCA9IGZhbHNlOwogICAg
IG1fcGF1c2VkID0gdHJ1ZTsKKyAgICBtX3BhdXNlZFBhZ2UgPSBwYWdlOwogCiAgICAgZGlzcGF0
Y2hGdW5jdGlvblRvTGlzdGVuZXJzKCZTY3JpcHREZWJ1Z1NlcnZlcjo6ZGlzcGF0Y2hEaWRQYXVz
ZSwgcGFnZSk7CiAKQEAgLTQ1OCw2ICs0NTYsNyBAQCB2b2lkIFNjcmlwdERlYnVnU2VydmVyOjpw
YXVzZUlmTmVlZGVkKFBhZ2UqIHBhZ2UpCiAgICAgc2V0SmF2YVNjcmlwdFBhdXNlZChwYWdlLT5n
cm91cCgpLCBmYWxzZSk7CiAKICAgICBtX3BhdXNlZCA9IGZhbHNlOworICAgIG1fcGF1c2VkUGFn
ZSA9IDA7CiAKICAgICBkaXNwYXRjaEZ1bmN0aW9uVG9MaXN0ZW5lcnMoJlNjcmlwdERlYnVnU2Vy
dmVyOjpkaXNwYXRjaERpZENvbnRpbnVlLCBwYWdlKTsKIH0KQEAgLTU3MywyOSArNTcyLDE5IEBA
IHZvaWQgU2NyaXB0RGVidWdTZXJ2ZXI6OnJlY29tcGlsZUFsbEpTRnVuY3Rpb25zKFRpbWVyPFNj
cmlwdERlYnVnU2VydmVyPiopCiB2b2lkIFNjcmlwdERlYnVnU2VydmVyOjpkaWRBZGRMaXN0ZW5l
cihQYWdlKiBwYWdlKQogewogICAgIHJlY29tcGlsZUFsbEpTRnVuY3Rpb25zU29vbigpOwotCi0g
ICAgaWYgKHBhZ2UpCi0gICAgICAgIHBhZ2UtPnNldERlYnVnZ2VyKHRoaXMpOwotICAgIGVsc2UK
LSAgICAgICAgUGFnZTo6c2V0RGVidWdnZXJGb3JBbGxQYWdlcyh0aGlzKTsKKyAgICBwYWdlLT5z
ZXREZWJ1Z2dlcih0aGlzKTsKIH0KIAogdm9pZCBTY3JpcHREZWJ1Z1NlcnZlcjo6ZGlkUmVtb3Zl
TGlzdGVuZXIoUGFnZSogcGFnZSkKIHsKLSAgICBpZiAocGFnZSAmJiBoYXNMaXN0ZW5lcnNJbnRl
cmVzdGVkSW5QYWdlKHBhZ2UpKQorICAgIGlmIChoYXNMaXN0ZW5lcnNJbnRlcmVzdGVkSW5QYWdl
KHBhZ2UpKQogICAgICAgICByZXR1cm47CiAKLSAgICByZWNvbXBpbGVBbGxKU0Z1bmN0aW9uc1Nv
b24oKTsKKyAgICBpZiAobV9wYXVzZWRQYWdlID09IHBhZ2UpCisgICAgICAgIG1fZG9uZVByb2Nl
c3NpbmdEZWJ1Z2dlckV2ZW50cyA9IHRydWU7CiAKLSAgICBpZiAocGFnZSkKLSAgICAgICAgcGFn
ZS0+c2V0RGVidWdnZXIoMCk7Ci0gICAgZWxzZQotICAgICAgICBQYWdlOjpzZXREZWJ1Z2dlckZv
ckFsbFBhZ2VzKDApOwotfQotCi12b2lkIFNjcmlwdERlYnVnU2VydmVyOjpkaWRSZW1vdmVMYXN0
TGlzdGVuZXIoKQotewotICAgIG1fZG9uZVByb2Nlc3NpbmdEZWJ1Z2dlckV2ZW50cyA9IHRydWU7
CisgICAgcmVjb21waWxlQWxsSlNGdW5jdGlvbnNTb29uKCk7CisgICAgcGFnZS0+c2V0RGVidWdn
ZXIoMCk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
YmluZGluZ3MvanMvU2NyaXB0RGVidWdTZXJ2ZXIuaCBiL1dlYkNvcmUvYmluZGluZ3MvanMvU2Ny
aXB0RGVidWdTZXJ2ZXIuaAppbmRleCBhNDVmYWU0Y2EwMTk1YjQ0MzdmNDNiMWVjM2JlODJjYzcy
N2E3ZTgzLi5kY2YyOTBlMTY1N2ZjZWNlZTFjNDZiZGZkYzY2OTZhMjQ3OTQ0ZWFiIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdERlYnVnU2VydmVyLmgKKysrIGIvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9TY3JpcHREZWJ1Z1NlcnZlci5oCkBAIC0xMDEsNyArMTAxLDYgQEAgcHJp
dmF0ZToKICAgICB+U2NyaXB0RGVidWdTZXJ2ZXIoKTsKIAogICAgIGJvb2wgaGFzQnJlYWtwb2lu
dChpbnRwdHJfdCBzb3VyY2VJRCwgdW5zaWduZWQgbGluZU51bWJlcikgY29uc3Q7Ci0gICAgYm9v
bCBoYXNMaXN0ZW5lcnMoKSBjb25zdCB7IHJldHVybiAhbV9wYWdlTGlzdGVuZXJzTWFwLmlzRW1w
dHkoKTsgfQogICAgIGJvb2wgaGFzTGlzdGVuZXJzSW50ZXJlc3RlZEluUGFnZShQYWdlKik7CiAK
ICAgICB2b2lkIHNldEphdmFTY3JpcHRQYXVzZWQoY29uc3QgUGFnZUdyb3VwJiwgYm9vbCBwYXVz
ZWQpOwpAQCAtMTMxLDcgKzEzMCw2IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIGRpZEFkZExpc3Rl
bmVyKFBhZ2UqKTsKICAgICB2b2lkIGRpZFJlbW92ZUxpc3RlbmVyKFBhZ2UqKTsKLSAgICB2b2lk
IGRpZFJlbW92ZUxhc3RMaXN0ZW5lcigpOwogCiAgICAgdHlwZWRlZiBIYXNoTWFwPFBhZ2UqLCBM
aXN0ZW5lclNldCo+IFBhZ2VMaXN0ZW5lcnNNYXA7CiAgICAgdHlwZWRlZiBIYXNoTWFwPGludHB0
cl90LCBTb3VyY2VCcmVha3BvaW50cz4gQnJlYWtwb2ludHNNYXA7CkBAIC0xNDEsNiArMTM5LDcg
QEAgcHJpdmF0ZToKICAgICBQYXVzZU9uRXhjZXB0aW9uc1N0YXRlIG1fcGF1c2VPbkV4Y2VwdGlv
bnNTdGF0ZTsKICAgICBib29sIG1fcGF1c2VPbk5leHRTdGF0ZW1lbnQ7CiAgICAgYm9vbCBtX3Bh
dXNlZDsKKyAgICBQYWdlKiBtX3BhdXNlZFBhZ2U7CiAgICAgYm9vbCBtX2RvbmVQcm9jZXNzaW5n
RGVidWdnZXJFdmVudHM7CiAgICAgYm9vbCBtX2JyZWFrcG9pbnRzQWN0aXZhdGVkOwogICAgIEph
dmFTY3JpcHRDYWxsRnJhbWUqIG1fcGF1c2VPbkNhbGxGcmFtZTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGxhdGZvcm0vbWFjL0V2ZW50TG9vcE1hYy5tbSBiL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0V2
ZW50TG9vcE1hYy5tbQppbmRleCAwNWVmMzNhMjhkZTczNzIzNTZiMDI3MDFiYjA1YmMzZTE5MWJh
NWE4Li41ZTZjZWQ0NjBlZjVjMjhmNDhmMzhkYWIwOTQ0NzFiZjI0YmQ2ZDNmIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BsYXRmb3JtL21hYy9FdmVudExvb3BNYWMubW0KKysrIGIvV2ViQ29yZS9wbGF0
Zm9ybS9tYWMvRXZlbnRMb29wTWFjLm1tCkBAIC0zMiw3ICszMiwxMCBAQCB2b2lkIEV2ZW50TG9v
cDo6Y3ljbGUoKQogewogICAgIC8vIEZJWE1FOiBTaG91bGQgdGhpcyB1c2UgTlNSdW5Mb29wQ29t
bW9uTW9kZXM/IFN3aXRjaGluZyB0byBOU1J1bkxvb3BDb21tb25Nb2RlcyBjYXVzZXMgU2FmYXJp
IHRvIGhhbmcgaW4gYSB0aWdodCBsb29wLgogICAgIFtOU0FwcCBzZXRXaW5kb3dzTmVlZFVwZGF0
ZTpZRVNdOwotICAgIE5TRXZlbnQgKmV2ZW50ID0gW05TQXBwIG5leHRFdmVudE1hdGNoaW5nTWFz
azpOU0FueUV2ZW50TWFzayB1bnRpbERhdGU6W05TRGF0ZSBkaXN0YW50RnV0dXJlXSBpbk1vZGU6
TlNEZWZhdWx0UnVuTG9vcE1vZGUgZGVxdWV1ZTpZRVNdOworICAgIE5TVGltZUludGVydmFsIGlu
dGVydmFsID0gW1tOU0RhdGUgZGF0ZV0gdGltZUludGVydmFsU2luY2VSZWZlcmVuY2VEYXRlXTsK
KyAgICBpbnRlcnZhbCArPSAwLjAxOworICAgIE5TRGF0ZSAqdW50aWxEYXRlID0gW05TRGF0ZSBk
YXRlV2l0aFRpbWVJbnRlcnZhbFNpbmNlUmVmZXJlbmNlRGF0ZTppbnRlcnZhbF07CisgICAgTlNF
dmVudCAqZXZlbnQgPSBbTlNBcHAgbmV4dEV2ZW50TWF0Y2hpbmdNYXNrOk5TQW55RXZlbnRNYXNr
IHVudGlsRGF0ZTp1bnRpbERhdGUgaW5Nb2RlOk5TRGVmYXVsdFJ1bkxvb3BNb2RlIGRlcXVldWU6
WUVTXTsKICAgICBbTlNBcHAgc2VuZEV2ZW50OmV2ZW50XTsKIH0KIApkaWZmIC0tZ2l0IGEvV2Vi
S2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXgg
MmVhMmRhNjIxOTAzNjk3ZGI5NGZlYzg5OTZlY2I0MjI0YmM4YzNkMS4uMmI4ODE1OTJmMjE4OGVh
MWI1YjE1ZjIwYjg1NTNiYzYxYmNjNzJkNyAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL0No
YW5nZUxvZworKysgYi9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMTAtMDYtMjEgIFl1cnkgU2VtaWtoYXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2ViIEluc3BlY3Rv
cjogaW1wbGVtZW50IGxheW91dCB0ZXN0cyBmb3IgZGVidWdnZXIKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQwNzc0CisKKyAgICAgICAgKiBzcmMvV2Vi
RGV2VG9vbHNGcm9udGVuZEltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJEZXZUb29sc0Zy
b250ZW5kSW1wbDo6V2ViRGV2VG9vbHNGcm9udGVuZEltcGwpOgorCiAyMDEwLTA2LTIwICBZdXJ5
IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IFBhdmVsIEZlbGRtYW4uCmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRldlRv
b2xzRnJvbnRlbmRJbXBsLmNwcCBiL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRGV2VG9vbHNGcm9u
dGVuZEltcGwuY3BwCmluZGV4IDBhNmM4ZGVhZTZmMjFmMzY5ZDJkNDlmNDk4ODgxOWM0ZmI0OGM5
YTkuLmVkYTJmNzc3MGUzMDQ2MDFmM2Q5YzgyMmVhMzYyYmZjYTgxMjIxYTYgMTAwNjQ0Ci0tLSBh
L1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRGV2VG9vbHNGcm9udGVuZEltcGwuY3BwCisrKyBiL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViRGV2VG9vbHNGcm9udGVuZEltcGwuY3BwCkBAIC0xMDUsNiAr
MTA1LDEwIEBAIFdlYkRldlRvb2xzRnJvbnRlbmRJbXBsOjpXZWJEZXZUb29sc0Zyb250ZW5kSW1w
bCgKICAgICBJbnNwZWN0b3JDb250cm9sbGVyKiBpYyA9IG1fd2ViVmlld0ltcGwtPnBhZ2UoKS0+
aW5zcGVjdG9yQ29udHJvbGxlcigpOwogICAgIGljLT5zZXRJbnNwZWN0b3JGcm9udGVuZENsaWVu
dChuZXcgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsKG1fd2ViVmlld0ltcGwtPnBhZ2UoKSwg
bV9jbGllbnQsIHRoaXMpKTsKIAorICAgIC8vIFB1dCBEZXZUb29scyBmcm9udGVuZCBQYWdlIGlu
dG8gaXRzIG93biBncm91cCBzbyB0aGF0IGl0J3Mgbm90CisgICAgLy8gZGVmZXJyZWQgYWxvbmcg
d2l0aCBpbnNwZWN0ZWQgcGFnZS4KKyAgICBtX3dlYlZpZXdJbXBsLT5wYWdlKCktPnNldEdyb3Vw
TmFtZSgiRGV2VG9vbHNGcm9udGVuZCIpOworCiAgICAgV2ViRnJhbWVJbXBsKiBmcmFtZSA9IG1f
d2ViVmlld0ltcGwtPm1haW5GcmFtZUltcGwoKTsKICAgICB2ODo6SGFuZGxlU2NvcGUgc2NvcGU7
CiAgICAgdjg6OkhhbmRsZTx2ODo6Q29udGV4dD4gZnJhbWVDb250ZXh0ID0gVjhQcm94eTo6Y29u
dGV4dChmcmFtZS0+ZnJhbWUoKSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>59372</attachid>
            <date>2010-06-22 08:35:39 -0700</date>
            <delta_ts>2010-06-24 02:01:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-40774-20100622193536.patch</filename>
            <type>text/plain</type>
            <size>13449</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBiNGY2NWNjNzJkYzlmZDNkOWRhOWMxMTkyZTE1NzQwZDkyOTFhZDhkLi5jMGI3YTM2
ZGQwNjQ3OTRmOWMzODBiZDc3ZTkwZDA3NmEyNzY1MmE4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAK
KzIwMTAtMDYtMjEgIFl1cnkgU2VtaWtoYXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2ViIEluc3BlY3Rv
cjogaW1wbGVtZW50IGxheW91dCB0ZXN0cyBmb3IgZGVidWdnZXIKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQwNzc0CisKKyAgICAgICAgKiBodHRwL3Rl
c3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qczoKKyAgICAgICAgKG5vdGlmeURvbmUpOgor
ICAgICAgICAoZnJvbnRlbmRfc2hvd1BhbmVsKToKKyAgICAgICAgKGZyb250ZW5kX2FkZFNuaWZm
ZXIucmVjZWl2ZXIubWV0aG9kTmFtZSk6CisgICAgICAgIChmcm9udGVuZF9hZGRTbmlmZmVyKToK
KyAgICAgICAgKGZyb250ZW5kX2NyZWF0ZUtleUV2ZW50KToKKyAgICAgICAgKGZyb250ZW5kX2V2
YWx1YXRlSW5Db25zb2xlKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZGVidWdnZXItcGF1c2Utb24t
ZGVidWdnZXItc3RhdGVtZW50LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaW5zcGVj
dG9yL2RlYnVnZ2VyLXBhdXNlLW9uLWRlYnVnZ2VyLXN0YXRlbWVudC5odG1sOiBBZGRlZC4KKwog
MjAxMC0wNi0yMiAgWXVyeSBTZW1pa2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KIAogICAg
ICAgICBSZXZpZXdlZCBieSBQYXZlbCBGZWxkbWFuLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcwppbmRleCAzYTE3MDQ3MWJiMjNkMTFh
MDA3YmZhY2RhMzUzNGVlNDJhZTQxYTkzLi43MTRhMzIxODIyZDI2MjMxYzdlZGIyYmM1N2Y5MDZj
ZTEwMzgxNTM5IDEwMDc1NQotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9p
bnNwZWN0b3ItdGVzdC5qcworKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9p
bnNwZWN0b3ItdGVzdC5qcwpAQCAtMzMsOCArMzMsMTAgQEAgZnVuY3Rpb24gZXZhbHVhdGVJbldl
Ykluc3BlY3RvcihzY3JpcHQsIGNhbGxiYWNrKQogZnVuY3Rpb24gbm90aWZ5RG9uZSgpCiB7CiAg
ICAgZXZhbHVhdGVJbldlYkluc3BlY3RvcigidHJ1ZSIsIGZ1bmN0aW9uKCkgewotICAgICAgICBp
ZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICBpZiAod2luZG93LmxheW91
dFRlc3RDb250cm9sbGVyKSB7CiAgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3Rp
ZnlEb25lKCk7CisgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5jbG9zZVdlYkluc3Bl
Y3RvcigpOworICAgICAgICB9CiAgICAgfSk7CiB9CiAKQEAgLTEwNSwzICsxMDcsNDQgQEAgZnVu
Y3Rpb24gZnJvbnRlbmRfc2V0dXBUZXN0RW52aXJvbm1lbnQoKQogewogICAgV2ViSW5zcGVjdG9y
LnNob3dFbGVtZW50c1BhbmVsKCk7CiB9CisKK2Z1bmN0aW9uIGZyb250ZW5kX2FkZFNuaWZmZXIo
cmVjZWl2ZXIsIG1ldGhvZE5hbWUsIG92ZXJyaWRlLCBvcHRfc3RpY2t5KQoreworICAgIHZhciBv
cmlnID0gcmVjZWl2ZXJbbWV0aG9kTmFtZV07CisgICAgaWYgKHR5cGVvZiBvcmlnICE9PSAiZnVu
Y3Rpb24iKQorICAgICAgICB0aHJvdyAoIkNhbm5vdCBmaW5kIG1ldGhvZCB0byBvdmVycmlkZTog
IiArIG1ldGhvZE5hbWUpOworICAgIHJlY2VpdmVyW21ldGhvZE5hbWVdID0gZnVuY3Rpb24odmFy
X2FyZ3MpIHsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIHZhciByZXN1bHQgPSBvcmlnLmFw
cGx5KHRoaXMsIGFyZ3VtZW50cyk7CisgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICBp
ZiAoIW9wdF9zdGlja3kpCisgICAgICAgICAgICAgICAgcmVjZWl2ZXJbbWV0aG9kTmFtZV0gPSBv
cmlnOworICAgICAgICB9CisgICAgICAgIC8vIEluIGNhc2Ugb2YgZXhjZXB0aW9uIHRoZSBvdmVy
cmlkZSB3b24ndCBiZSBjYWxsZWQuCisgICAgICAgIHRyeSB7CisgICAgICAgICAgICBvdmVycmlk
ZS5hcHBseSh0aGlzLCBhcmd1bWVudHMpOworICAgICAgICB9IGNhdGNoIChlKSB7CisgICAgICAg
ICAgICB0aHJvdyAoIkV4Y2VwdGlvbiBpbiBvdmVycmlkZW4gbWV0aG9kICciICsgbWV0aG9kTmFt
ZSArICInOiAiICsgZSk7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9
OworfQorCitmdW5jdGlvbiBmcm9udGVuZF9jcmVhdGVLZXlFdmVudChrZXlJZGVudGlmaWVyKQor
eworICAgIHZhciBldnQgPSBkb2N1bWVudC5jcmVhdGVFdmVudCgiS2V5Ym9hcmRFdmVudCIpOwor
ICAgIGV2dC5pbml0S2V5Ym9hcmRFdmVudCgia2V5ZG93biIsIHRydWUgLyogY2FuIGJ1YmJsZSAq
LywgdHJ1ZSAvKiBjYW4gY2FuY2VsICovLCBudWxsIC8qIHZpZXcgKi8sIGtleUlkZW50aWZpZXIs
ICIiKTsKKyAgICByZXR1cm4gZXZ0OworfQorCitmdW5jdGlvbiBmcm9udGVuZF9ldmFsdWF0ZUlu
Q29uc29sZShjb2RlLCBjYWxsYmFjaykKK3sKKyAgICBXZWJJbnNwZWN0b3IuY29uc29sZS52aXNp
YmxlID0gdHJ1ZTsKKyAgICBXZWJJbnNwZWN0b3IuY29uc29sZS5wcm9tcHQudGV4dCA9IGNvZGU7
CisgICAgV2ViSW5zcGVjdG9yLmNvbnNvbGUucHJvbXB0RWxlbWVudC5kaXNwYXRjaEV2ZW50KGZy
b250ZW5kX2NyZWF0ZUtleUV2ZW50KCJFbnRlciIpKTsKKworICAgIGZyb250ZW5kX2FkZFNuaWZm
ZXIoV2ViSW5zcGVjdG9yLkNvbnNvbGVWaWV3LnByb3RvdHlwZSwgImFkZE1lc3NhZ2UiLAorICAg
ICAgICBmdW5jdGlvbihjb21tYW5kUmVzdWx0KSB7CisgICAgICAgICAgICBjYWxsYmFjayhjb21t
YW5kUmVzdWx0LnRvTWVzc2FnZUVsZW1lbnQoKS50ZXh0Q29udGVudCk7CisgICAgICAgIH0pOwor
fQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyLXBhdXNlLW9uLWRl
YnVnZ2VyLXN0YXRlbWVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVi
dWdnZXItcGF1c2Utb24tZGVidWdnZXItc3RhdGVtZW50LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4wZWM5Yzk5ODdhMDgyOGQwMjI4MDQwNTI5NDI1ZmU3YmQyMTUwOGFjCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyLXBhdXNlLW9uLWRlYnVnZ2VyLXN0
YXRlbWVudC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACitUZXN0cyB0aGF0IGRlYnVnZ2Vy
IHdpbGwgc3RvcCBvbiAiZGVidWdnZXIiIHN0YXRlbWVudC4KKworRGVidWdnZXIgd2FzIGVuYWJs
ZWQuCitTZXQgdGltZXIgZm9yIHRlc3QgZnVuY3Rpb24uCitTY3JpcHQgZXhlY3V0aW9uIHBhdXNl
ZC4KK1Jlc3VtZWQgc2NyaXB0IGV4ZWN1dGlvbi4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL2RlYnVnZ2VyLXBhdXNlLW9uLWRlYnVnZ2VyLXN0YXRlbWVudC5odG1sIGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyLXBhdXNlLW9uLWRlYnVnZ2VyLXN0YXRlbWVudC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmY1NDhkZmFjYjNmYzUyMzkwMGViMWViNDNmZWU2ZTIyZGY0Y2U0ODYK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXItcGF1c2Ut
b24tZGVidWdnZXItc3RhdGVtZW50Lmh0bWwKQEAgLTAsMCArMSw3MCBAQAorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorCitmdW5jdGlvbiB0ZXN0RnVuY3Rpb24oKSB7CisgICAg
ZGVidWdnZXI7Cit9CisKK2Z1bmN0aW9uIGRvaXQoKQoreworICAgIGZ1bmN0aW9uIGNhbGxiYWNr
KHJlc3VsdCkKKyAgICB7CisgICAgICAgIGlmIChyZXN1bHQgaW5zdGFuY2VvZiBBcnJheSkgewor
ICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCByZXN1bHQubGVuZ3RoOyBpKyspCisgICAg
ICAgICAgICAgICAgb3V0cHV0KHJlc3VsdFtpXSk7CisgICAgICAgIH0gZWxzZQorICAgICAgICAg
ICAgb3V0cHV0KHJlc3VsdCk7CisgICAgICAgIG5vdGlmeURvbmUoKTsKKyAgICB9CisgICAgZXZh
bHVhdGVJbldlYkluc3BlY3RvcigiZnJvbnRlbmRfdGVzdFBhdXNlT25EZWJ1Z2dlclN0YXRlbWVu
dCIsIGNhbGxiYWNrKTsKK30KKworZnVuY3Rpb24gZnJvbnRlbmRfdGVzdFBhdXNlT25EZWJ1Z2dl
clN0YXRlbWVudCh0ZXN0Q29udHJvbGxlcikKK3sKKyAgICB0ZXN0Q29udHJvbGxlci53YWl0VW50
aWxEb25lKCk7CisKKyAgICBXZWJJbnNwZWN0b3Iuc2hvd1NjcmlwdHNQYW5lbCgpOworICAgIGZy
b250ZW5kX2Vuc3VyZURlYnVnZ2VyRW5hYmxlZChkZWJ1Z2dlcldhc0VuYWJsZWRDYWxsYmFjayk7
CisKKyAgICBmdW5jdGlvbiBkZWJ1Z2dlcldhc0VuYWJsZWRDYWxsYmFjaygpCisgICAgeworICAg
ICAgICB0ZXN0Q29udHJvbGxlci5yZXN1bHRzLnB1c2goIkRlYnVnZ2VyIHdhcyBlbmFibGVkLiIp
OworICAgICAgICBmcm9udGVuZF9ldmFsdWF0ZUluQ29uc29sZSgic2V0VGltZW91dCh0ZXN0RnVu
Y3Rpb24sIDApIiwgZnVuY3Rpb24ocmVzdWx0KQorICAgICAgICB7CisgICAgICAgICAgICB0ZXN0
Q29udHJvbGxlci5yZXN1bHRzLnB1c2goIlNldCB0aW1lciBmb3IgdGVzdCBmdW5jdGlvbi4iKTsK
KyAgICAgICAgfSk7CisgICAgfQorCisgICAgZnJvbnRlbmRfYWRkU25pZmZlcihXZWJJbnNwZWN0
b3IsICJwYXVzZWRTY3JpcHQiLCBmdW5jdGlvbihjYWxsRnJhbWVzKQorICAgIHsKKyAgICAgICAg
dGVzdENvbnRyb2xsZXIucmVzdWx0cy5wdXNoKCJTY3JpcHQgZXhlY3V0aW9uIHBhdXNlZC4iKTsK
KyAgICAgICAgaWYgKFdlYkluc3BlY3Rvci5wYW5lbHMuc2NyaXB0cy5wYXVzZWQpCisgICAgICAg
ICAgICBXZWJJbnNwZWN0b3IucGFuZWxzLnNjcmlwdHMuX3RvZ2dsZVBhdXNlKCk7CisgICAgICAg
IHRlc3RDb250cm9sbGVyLnJlc3VsdHMucHVzaCgiUmVzdW1lZCBzY3JpcHQgZXhlY3V0aW9uLiIp
OworICAgICAgICB0ZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7CisgICAgfSk7Cit9CisKK2Z1
bmN0aW9uIGZyb250ZW5kX2Vuc3VyZURlYnVnZ2VyRW5hYmxlZChjYWxsYmFjaykKK3sKKyAgICBp
ZiAoV2ViSW5zcGVjdG9yLnBhbmVscy5zY3JpcHRzLl9kZWJ1Z2dlckVuYWJsZWQpIHsKKyAgICAg
ICAgY2FsbGJhY2soKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGZyb250ZW5kX2Fk
ZFNuaWZmZXIoV2ViSW5zcGVjdG9yLCAiZGVidWdnZXJXYXNFbmFibGVkIiwgY2FsbGJhY2spOwor
ICAgIFdlYkluc3BlY3Rvci5wYW5lbHMuc2NyaXB0cy5fdG9nZ2xlRGVidWdnaW5nKGZhbHNlKTsK
K30KKworPC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5IG9ubG9hZD0ib25sb2FkKCkiPgorPHA+
CitUZXN0cyB0aGF0IGRlYnVnZ2VyIHdpbGwgc3RvcCBvbiAiZGVidWdnZXIiIHN0YXRlbWVudC4K
KzwvcD4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cg
Yi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBiOWJiNTdhMDhiNjUwOWQyOTNjNDlmNzc1YmM4Mzg5
MzZhZjg5MTg2Li5lZWJhZGRlNjgzYWI1NDQwOWE3N2I2YWM1Yjc1MzhiMTM0NWNmNWNmIDEwMDY0
NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDI0IEBACisyMDEwLTA2LTIxICBZdXJ5IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21pdW0u
b3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdl
YiBJbnNwZWN0b3I6IGltcGxlbWVudCBsYXlvdXQgdGVzdHMgZm9yIGRlYnVnZ2VyCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MDc3NAorCisgICAgICAg
IFRlc3Q6IGluc3BlY3Rvci9kZWJ1Z2dlci1wYXVzZS1vbi1kZWJ1Z2dlci1zdGF0ZW1lbnQuaHRt
bAorCisgICAgICAgICogYmluZGluZ3MvanMvU2NyaXB0RGVidWdTZXJ2ZXIuY3BwOiByZW1vdmUg
dW51c2VkIG9ic29sZXRlIGNvZGUgdGhhdCBkZWFscyB3aXRoIGdsb2JhbCBsaXN0ZW5lcnMuCisg
ICAgICAgIChXZWJDb3JlOjpTY3JpcHREZWJ1Z1NlcnZlcjo6U2NyaXB0RGVidWdTZXJ2ZXIpOgor
ICAgICAgICAoV2ViQ29yZTo6U2NyaXB0RGVidWdTZXJ2ZXI6OnJlbW92ZUxpc3RlbmVyKToKKyAg
ICAgICAgKFdlYkNvcmU6OlNjcmlwdERlYnVnU2VydmVyOjpkaXNwYXRjaEZ1bmN0aW9uVG9MaXN0
ZW5lcnMpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0RGVidWdTZXJ2ZXI6OnBhdXNlSWZOZWVk
ZWQpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0RGVidWdTZXJ2ZXI6OmRpZEFkZExpc3RlbmVy
KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdERlYnVnU2VydmVyOjpkaWRSZW1vdmVMaXN0ZW5l
cik6CisgICAgICAgICogYmluZGluZ3MvanMvU2NyaXB0RGVidWdTZXJ2ZXIuaDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9tYWMvRXZlbnRMb29wTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRM
b29wOjpjeWNsZSk6IHdhaXQgYXQgbW9zdCAxMG1zIGZvciBuZXcgZXZlbnQsIG90aGVyd2lzZSBs
YXlvdXQgdGVzdHMgd291bGQKKyAgICAgICAgaGFuZyBiZWNhdXNlIGluIHRoZWlyIGNhc2UgdGhl
cmUgbWF5IGJlIG5vIGV2ZW50cyBldmVyLgorCiAyMDEwLTA2LTIyICBZdXRhIEtpdGFtdXJhICA8
eXV0YWtAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFsZXhleSBQcm9za3Vy
eWFrb3YuCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdERlYnVnU2VydmVy
LmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0RGVidWdTZXJ2ZXIuY3BwCmluZGV4IGVi
MDkyM2JhZTNlMmRlZDk4NTcxNWJlYjg2MmY1ODY4MDdhZmJhODQuLjIxNDAwZDNjMGFlYmM0Zjdj
YTdmMzg1MDU5Y2YwNGVmNjUwOWJiOTggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMv
U2NyaXB0RGVidWdTZXJ2ZXIuY3BwCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0RGVi
dWdTZXJ2ZXIuY3BwCkBAIC02OSw2ICs2OSw3IEBAIFNjcmlwdERlYnVnU2VydmVyOjpTY3JpcHRE
ZWJ1Z1NlcnZlcigpCiAgICAgLCBtX3BhdXNlT25FeGNlcHRpb25zU3RhdGUoRG9udFBhdXNlT25F
eGNlcHRpb25zKQogICAgICwgbV9wYXVzZU9uTmV4dFN0YXRlbWVudChmYWxzZSkKICAgICAsIG1f
cGF1c2VkKGZhbHNlKQorICAgICwgbV9wYXVzZWRQYWdlKDApCiAgICAgLCBtX2RvbmVQcm9jZXNz
aW5nRGVidWdnZXJFdmVudHModHJ1ZSkKICAgICAsIG1fYnJlYWtwb2ludHNBY3RpdmF0ZWQodHJ1
ZSkKICAgICAsIG1fcGF1c2VPbkNhbGxGcmFtZSgwKQpAQCAtMTEzLDggKzExNCw2IEBAIHZvaWQg
U2NyaXB0RGVidWdTZXJ2ZXI6OnJlbW92ZUxpc3RlbmVyKFNjcmlwdERlYnVnTGlzdGVuZXIqIGxp
c3RlbmVyLCBQYWdlKiBwYWdlCiAgICAgfQogCiAgICAgZGlkUmVtb3ZlTGlzdGVuZXIocGFnZSk7
Ci0gICAgaWYgKCFoYXNMaXN0ZW5lcnMoKSkKLSAgICAgICAgZGlkUmVtb3ZlTGFzdExpc3RlbmVy
KCk7CiB9CiAKIHZvaWQgU2NyaXB0RGVidWdTZXJ2ZXI6OnBhZ2VDcmVhdGVkKFBhZ2UqIHBhZ2Up
CkBAIC0zNjAsOCArMzU5LDYgQEAgdm9pZCBTY3JpcHREZWJ1Z1NlcnZlcjo6ZGlzcGF0Y2hGdW5j
dGlvblRvTGlzdGVuZXJzKEphdmFTY3JpcHRFeGVjdXRpb25DYWxsYmFjawogCiAgICAgbV9jYWxs
aW5nTGlzdGVuZXJzID0gdHJ1ZTsKIAotICAgIEFTU0VSVChoYXNMaXN0ZW5lcnMoKSk7Ci0KICAg
ICBpZiAoTGlzdGVuZXJTZXQqIHBhZ2VMaXN0ZW5lcnMgPSBtX3BhZ2VMaXN0ZW5lcnNNYXAuZ2V0
KHBhZ2UpKSB7CiAgICAgICAgIEFTU0VSVCghcGFnZUxpc3RlbmVycy0+aXNFbXB0eSgpKTsKICAg
ICAgICAgZGlzcGF0Y2hGdW5jdGlvblRvTGlzdGVuZXJzKCpwYWdlTGlzdGVuZXJzLCBjYWxsYmFj
ayk7CkBAIC00NDMsNiArNDQwLDcgQEAgdm9pZCBTY3JpcHREZWJ1Z1NlcnZlcjo6cGF1c2VJZk5l
ZWRlZChQYWdlKiBwYWdlKQogICAgIG1fcGF1c2VPbkNhbGxGcmFtZSA9IDA7CiAgICAgbV9wYXVz
ZU9uTmV4dFN0YXRlbWVudCA9IGZhbHNlOwogICAgIG1fcGF1c2VkID0gdHJ1ZTsKKyAgICBtX3Bh
dXNlZFBhZ2UgPSBwYWdlOwogCiAgICAgZGlzcGF0Y2hGdW5jdGlvblRvTGlzdGVuZXJzKCZTY3Jp
cHREZWJ1Z1NlcnZlcjo6ZGlzcGF0Y2hEaWRQYXVzZSwgcGFnZSk7CiAKQEAgLTQ1OCw2ICs0NTYs
NyBAQCB2b2lkIFNjcmlwdERlYnVnU2VydmVyOjpwYXVzZUlmTmVlZGVkKFBhZ2UqIHBhZ2UpCiAg
ICAgc2V0SmF2YVNjcmlwdFBhdXNlZChwYWdlLT5ncm91cCgpLCBmYWxzZSk7CiAKICAgICBtX3Bh
dXNlZCA9IGZhbHNlOworICAgIG1fcGF1c2VkUGFnZSA9IDA7CiAKICAgICBkaXNwYXRjaEZ1bmN0
aW9uVG9MaXN0ZW5lcnMoJlNjcmlwdERlYnVnU2VydmVyOjpkaXNwYXRjaERpZENvbnRpbnVlLCBw
YWdlKTsKIH0KQEAgLTU3MywyOSArNTcyLDE5IEBAIHZvaWQgU2NyaXB0RGVidWdTZXJ2ZXI6OnJl
Y29tcGlsZUFsbEpTRnVuY3Rpb25zKFRpbWVyPFNjcmlwdERlYnVnU2VydmVyPiopCiB2b2lkIFNj
cmlwdERlYnVnU2VydmVyOjpkaWRBZGRMaXN0ZW5lcihQYWdlKiBwYWdlKQogewogICAgIHJlY29t
cGlsZUFsbEpTRnVuY3Rpb25zU29vbigpOwotCi0gICAgaWYgKHBhZ2UpCi0gICAgICAgIHBhZ2Ut
PnNldERlYnVnZ2VyKHRoaXMpOwotICAgIGVsc2UKLSAgICAgICAgUGFnZTo6c2V0RGVidWdnZXJG
b3JBbGxQYWdlcyh0aGlzKTsKKyAgICBwYWdlLT5zZXREZWJ1Z2dlcih0aGlzKTsKIH0KIAogdm9p
ZCBTY3JpcHREZWJ1Z1NlcnZlcjo6ZGlkUmVtb3ZlTGlzdGVuZXIoUGFnZSogcGFnZSkKIHsKLSAg
ICBpZiAocGFnZSAmJiBoYXNMaXN0ZW5lcnNJbnRlcmVzdGVkSW5QYWdlKHBhZ2UpKQorICAgIGlm
IChoYXNMaXN0ZW5lcnNJbnRlcmVzdGVkSW5QYWdlKHBhZ2UpKQogICAgICAgICByZXR1cm47CiAK
LSAgICByZWNvbXBpbGVBbGxKU0Z1bmN0aW9uc1Nvb24oKTsKKyAgICBpZiAobV9wYXVzZWRQYWdl
ID09IHBhZ2UpCisgICAgICAgIG1fZG9uZVByb2Nlc3NpbmdEZWJ1Z2dlckV2ZW50cyA9IHRydWU7
CiAKLSAgICBpZiAocGFnZSkKLSAgICAgICAgcGFnZS0+c2V0RGVidWdnZXIoMCk7Ci0gICAgZWxz
ZQotICAgICAgICBQYWdlOjpzZXREZWJ1Z2dlckZvckFsbFBhZ2VzKDApOwotfQotCi12b2lkIFNj
cmlwdERlYnVnU2VydmVyOjpkaWRSZW1vdmVMYXN0TGlzdGVuZXIoKQotewotICAgIG1fZG9uZVBy
b2Nlc3NpbmdEZWJ1Z2dlckV2ZW50cyA9IHRydWU7CisgICAgcmVjb21waWxlQWxsSlNGdW5jdGlv
bnNTb29uKCk7CisgICAgcGFnZS0+c2V0RGVidWdnZXIoMCk7CiB9CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0RGVidWdTZXJ2
ZXIuaCBiL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0RGVidWdTZXJ2ZXIuaAppbmRleCBhNDVm
YWU0Y2EwMTk1YjQ0MzdmNDNiMWVjM2JlODJjYzcyN2E3ZTgzLi5kY2YyOTBlMTY1N2ZjZWNlZTFj
NDZiZGZkYzY2OTZhMjQ3OTQ0ZWFiIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1Nj
cmlwdERlYnVnU2VydmVyLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHREZWJ1Z1Nl
cnZlci5oCkBAIC0xMDEsNyArMTAxLDYgQEAgcHJpdmF0ZToKICAgICB+U2NyaXB0RGVidWdTZXJ2
ZXIoKTsKIAogICAgIGJvb2wgaGFzQnJlYWtwb2ludChpbnRwdHJfdCBzb3VyY2VJRCwgdW5zaWdu
ZWQgbGluZU51bWJlcikgY29uc3Q7Ci0gICAgYm9vbCBoYXNMaXN0ZW5lcnMoKSBjb25zdCB7IHJl
dHVybiAhbV9wYWdlTGlzdGVuZXJzTWFwLmlzRW1wdHkoKTsgfQogICAgIGJvb2wgaGFzTGlzdGVu
ZXJzSW50ZXJlc3RlZEluUGFnZShQYWdlKik7CiAKICAgICB2b2lkIHNldEphdmFTY3JpcHRQYXVz
ZWQoY29uc3QgUGFnZUdyb3VwJiwgYm9vbCBwYXVzZWQpOwpAQCAtMTMxLDcgKzEzMCw2IEBAIHBy
aXZhdGU6CiAKICAgICB2b2lkIGRpZEFkZExpc3RlbmVyKFBhZ2UqKTsKICAgICB2b2lkIGRpZFJl
bW92ZUxpc3RlbmVyKFBhZ2UqKTsKLSAgICB2b2lkIGRpZFJlbW92ZUxhc3RMaXN0ZW5lcigpOwog
CiAgICAgdHlwZWRlZiBIYXNoTWFwPFBhZ2UqLCBMaXN0ZW5lclNldCo+IFBhZ2VMaXN0ZW5lcnNN
YXA7CiAgICAgdHlwZWRlZiBIYXNoTWFwPGludHB0cl90LCBTb3VyY2VCcmVha3BvaW50cz4gQnJl
YWtwb2ludHNNYXA7CkBAIC0xNDEsNiArMTM5LDcgQEAgcHJpdmF0ZToKICAgICBQYXVzZU9uRXhj
ZXB0aW9uc1N0YXRlIG1fcGF1c2VPbkV4Y2VwdGlvbnNTdGF0ZTsKICAgICBib29sIG1fcGF1c2VP
bk5leHRTdGF0ZW1lbnQ7CiAgICAgYm9vbCBtX3BhdXNlZDsKKyAgICBQYWdlKiBtX3BhdXNlZFBh
Z2U7CiAgICAgYm9vbCBtX2RvbmVQcm9jZXNzaW5nRGVidWdnZXJFdmVudHM7CiAgICAgYm9vbCBt
X2JyZWFrcG9pbnRzQWN0aXZhdGVkOwogICAgIEphdmFTY3JpcHRDYWxsRnJhbWUqIG1fcGF1c2VP
bkNhbGxGcmFtZTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0V2ZW50TG9vcE1h
Yy5tbSBiL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0V2ZW50TG9vcE1hYy5tbQppbmRleCAwNWVmMzNh
MjhkZTczNzIzNTZiMDI3MDFiYjA1YmMzZTE5MWJhNWE4Li40YzNjOGE0MzFmNzBkOTU1ZTk4Nzk4
M2QxNGZkNjAzYjhjNzgzNGE3IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL21hYy9FdmVu
dExvb3BNYWMubW0KKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvRXZlbnRMb29wTWFjLm1tCkBA
IC0zMiw3ICszMiwxMCBAQCB2b2lkIEV2ZW50TG9vcDo6Y3ljbGUoKQogewogICAgIC8vIEZJWE1F
OiBTaG91bGQgdGhpcyB1c2UgTlNSdW5Mb29wQ29tbW9uTW9kZXM/IFN3aXRjaGluZyB0byBOU1J1
bkxvb3BDb21tb25Nb2RlcyBjYXVzZXMgU2FmYXJpIHRvIGhhbmcgaW4gYSB0aWdodCBsb29wLgog
ICAgIFtOU0FwcCBzZXRXaW5kb3dzTmVlZFVwZGF0ZTpZRVNdOwotICAgIE5TRXZlbnQgKmV2ZW50
ID0gW05TQXBwIG5leHRFdmVudE1hdGNoaW5nTWFzazpOU0FueUV2ZW50TWFzayB1bnRpbERhdGU6
W05TRGF0ZSBkaXN0YW50RnV0dXJlXSBpbk1vZGU6TlNEZWZhdWx0UnVuTG9vcE1vZGUgZGVxdWV1
ZTpZRVNdOworICAgIE5TVGltZUludGVydmFsIGludGVydmFsID0gW1tOU0RhdGUgZGF0ZV0gdGlt
ZUludGVydmFsU2luY2VSZWZlcmVuY2VEYXRlXTsKKyAgICBpbnRlcnZhbCArPSAwLjA1OworICAg
IE5TRGF0ZSAqdW50aWxEYXRlID0gW05TRGF0ZSBkYXRlV2l0aFRpbWVJbnRlcnZhbFNpbmNlUmVm
ZXJlbmNlRGF0ZTppbnRlcnZhbF07CisgICAgTlNFdmVudCAqZXZlbnQgPSBbTlNBcHAgbmV4dEV2
ZW50TWF0Y2hpbmdNYXNrOk5TQW55RXZlbnRNYXNrIHVudGlsRGF0ZTp1bnRpbERhdGUgaW5Nb2Rl
Ok5TRGVmYXVsdFJ1bkxvb3BNb2RlIGRlcXVldWU6WUVTXTsKICAgICBbTlNBcHAgc2VuZEV2ZW50
OmV2ZW50XTsKIH0KIApkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1dl
YktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggMjQ2OWNlMzQ3OTE2ZWQ1ZjBjZmE4OGNjN2Q5
MjEyYTU3NjQ3OGEyMy4uMWRmNjI2ZTVlZWU5NjNmZjY2NWE5NWI0MDZjZjE3ZjFlMDMxZDFlOCAx
MDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9XZWJLaXQvY2hyb21p
dW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTAtMDYtMjEgIFl1cnkgU2VtaWtoYXRz
a3kgIDx5dXJ5c0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogaW1wbGVtZW50IGxheW91dCB0ZXN0cyBm
b3IgZGVidWdnZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTQwNzc0CisKKyAgICAgICAgKiBzcmMvV2ViRGV2VG9vbHNGcm9udGVuZEltcGwuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJEZXZUb29sc0Zyb250ZW5kSW1wbDo6V2ViRGV2VG9vbHNGcm9u
dGVuZEltcGwpOgorCiAyMDEwLTA2LTIyICBNaWtoYWlsIE5hZ2Fub3YgIDxtbmFnYW5vdkBjaHJv
bWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgUGF2ZWwgRmVsZG1hbi4KZGlmZiAtLWdp
dCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRGV2VG9vbHNGcm9udGVuZEltcGwuY3BwIGIvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJEZXZUb29sc0Zyb250ZW5kSW1wbC5jcHAKaW5kZXggMGE2Yzhk
ZWFlNmYyMWYzNjlkMmQ0OWY0OTg4ODE5YzRmYjQ4YzlhOS4uZWRhMmY3NzcwZTMwNDYwMWYzZDlj
ODIyZWEzNjJiZmNhODEyMjFhNiAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJE
ZXZUb29sc0Zyb250ZW5kSW1wbC5jcHAKKysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEZXZU
b29sc0Zyb250ZW5kSW1wbC5jcHAKQEAgLTEwNSw2ICsxMDUsMTAgQEAgV2ViRGV2VG9vbHNGcm9u
dGVuZEltcGw6OldlYkRldlRvb2xzRnJvbnRlbmRJbXBsKAogICAgIEluc3BlY3RvckNvbnRyb2xs
ZXIqIGljID0gbV93ZWJWaWV3SW1wbC0+cGFnZSgpLT5pbnNwZWN0b3JDb250cm9sbGVyKCk7CiAg
ICAgaWMtPnNldEluc3BlY3RvckZyb250ZW5kQ2xpZW50KG5ldyBJbnNwZWN0b3JGcm9udGVuZENs
aWVudEltcGwobV93ZWJWaWV3SW1wbC0+cGFnZSgpLCBtX2NsaWVudCwgdGhpcykpOwogCisgICAg
Ly8gUHV0IERldlRvb2xzIGZyb250ZW5kIFBhZ2UgaW50byBpdHMgb3duIGdyb3VwIHNvIHRoYXQg
aXQncyBub3QKKyAgICAvLyBkZWZlcnJlZCBhbG9uZyB3aXRoIGluc3BlY3RlZCBwYWdlLgorICAg
IG1fd2ViVmlld0ltcGwtPnBhZ2UoKS0+c2V0R3JvdXBOYW1lKCJEZXZUb29sc0Zyb250ZW5kIik7
CisKICAgICBXZWJGcmFtZUltcGwqIGZyYW1lID0gbV93ZWJWaWV3SW1wbC0+bWFpbkZyYW1lSW1w
bCgpOwogICAgIHY4OjpIYW5kbGVTY29wZSBzY29wZTsKICAgICB2ODo6SGFuZGxlPHY4OjpDb250
ZXh0PiBmcmFtZUNvbnRleHQgPSBWOFByb3h5Ojpjb250ZXh0KGZyYW1lLT5mcmFtZSgpKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>