<?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>72621</bug_id>
          
          <creation_ts>2011-11-17 08:45:44 -0800</creation_ts>
          <short_desc>Web Inspector: dispatch messages from the front-end to the backend asynchronously.</short_desc>
          <delta_ts>2011-11-18 05:29: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>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>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Pavel Feldman">pfeldman</reporter>
          <assigned_to name="Pavel Feldman">pfeldman</assigned_to>
          <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>504898</commentid>
    <comment_count>0</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-11-17 08:45:44 -0800</bug_when>
    <thetext>We should align the way we dispatch messages from the front-end to backend across the environments:

- WebKit has it synchronoulsly
- Chromium has it asynchronously
- Remote debugging has it asynchronously

Making it asynchronous made a number of flaky Qt tests pass.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>504899</commentid>
    <comment_count>1</comment_count>
      <attachid>115601</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-11-17 08:47:51 -0800</bug_when>
    <thetext>Created attachment 115601
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>504927</commentid>
    <comment_count>2</comment_count>
      <attachid>115601</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2011-11-17 09:47:19 -0800</bug_when>
    <thetext>Comment on attachment 115601
Patch

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

&gt; Source/WebCore/inspector/InspectorConsoleAgent.cpp:138
&gt; +    m_inspectorState-&gt;setBoolean(ConsoleAgentState::consoleMessagesEnabled, false);

How is this related to async?

&gt; LayoutTests/inspector/timeline/timeline-script-tag-1.html:40
&gt; +            else if (record.type === WebInspector.TimelineAgent.RecordType.ParseHTML) {
&gt; +                var children = [];
&gt; +                for (var i = 0; i &lt; record.children.length; ++i) {
&gt; +                    if (record.children[i].type !== WebInspector.TimelineAgent.RecordType.RecalculateStyles)
&gt; +                        children.push(record.children[i]);
&gt; +                }
&gt; +                record.children = children;

How is changing this related to async dispatch? This wasn&apos;t one of the skipped tests so why does it need to change?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>504972</commentid>
    <comment_count>3</comment_count>
      <attachid>115601</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-11-17 10:30:26 -0800</bug_when>
    <thetext>Comment on attachment 115601
Patch

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

&gt;&gt; Source/WebCore/inspector/InspectorConsoleAgent.cpp:138
&gt;&gt; +    m_inspectorState-&gt;setBoolean(ConsoleAgentState::consoleMessagesEnabled, false);
&gt; 
&gt; How is this related to async?

This was actually a bug that was uncovered while running Qt tests after migrating to the async messaging. There was a race condition making console messages reported twice upon re-connecting to the backend: first event was generated upon console call, while the second copy was sent in return to the ::enable command.

&gt;&gt; LayoutTests/inspector/timeline/timeline-script-tag-1.html:40
&gt;&gt; +                record.children = children;
&gt; 
&gt; How is changing this related to async dispatch? This wasn&apos;t one of the skipped tests so why does it need to change?

It is making this test pass. Now that the commands are asynchronous, extra style recalculation event is generated which this test is not testing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>504978</commentid>
    <comment_count>4</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2011-11-17 10:36:01 -0800</bug_when>
    <thetext>Those are good comments for the ChangeLog.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>505692</commentid>
    <comment_count>5</comment_count>
      <attachid>115786</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-11-18 05:06:18 -0800</bug_when>
    <thetext>Created attachment 115786
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>505694</commentid>
    <comment_count>6</comment_count>
      <attachid>115786</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-11-18 05:24:42 -0800</bug_when>
    <thetext>Comment on attachment 115786
Patch

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

&gt; Source/WebCore/inspector/InspectorConsoleAgent.cpp:138
&gt; +    m_inspectorState-&gt;setBoolean(ConsoleAgentState::consoleMessagesEnabled, false);

It looks like we may clear inspector state once when front-end is disconnecting instead of spreading this logic over individual agents.

&gt; Source/WebCore/inspector/InspectorFrontendClientLocal.cpp:83
&gt; +            m_inspectorController-&gt;dispatchMessageFromFrontend(m_messages.takeFirst());

Please add a comment here that this task may be already destroyed after dispatchMessageFromFrontend call.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>505698</commentid>
    <comment_count>7</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-11-18 05:29:40 -0800</bug_when>
    <thetext>Committed r100756: &lt;http://trac.webkit.org/changeset/100756&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>115601</attachid>
            <date>2011-11-17 08:47:51 -0800</date>
            <delta_ts>2011-11-18 05:06:09 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-72621-20111117204749.patch</filename>
            <type>text/plain</type>
            <size>14607</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAwNTkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWM3MWYwODFmMjZiM2Rl
NmJiMTY2NTg4MmM1ODI4ZTE4NTFlMzIwMi4uZDJkMjk3NTI4MzhiOGEzMDZhZmVlYTJmOTBlZDFm
ZjljNWJmYWM1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDExLTExLTE3ICBQYXZl
bCBGZWxkbWFuICA8cGZlbGRtYW5AZ29vZ2xlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9y
OiBkaXNwYXRjaCBtZXNzYWdlcyBmcm9tIHRoZSBmcm9udC1lbmQgdG8gdGhlIGJhY2tlbmQgYXN5
bmNocm9ub3VzbHkuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD03MjYyMQorCisgICAgICAgIFdlIHNob3VsZCBhbGlnbiB0aGUgd2F5IHdlIGRpc3BhdGNo
IG1lc3NhZ2VzIGZyb20gdGhlIGZyb250LWVuZCB0byBiYWNrZW5kIGFjcm9zcyB0aGUgZW52aXJv
bm1lbnRzOgorICAgICAgICAgIC0gV2ViS2l0IGhhcyBpdCBzeW5jaHJvbm91bHNseQorICAgICAg
ICAgIC0gQ2hyb21pdW0gaGFzIGl0IGFzeW5jaHJvbm91c2x5CisgICAgICAgICAgLSBSZW1vdGUg
ZGVidWdnaW5nIGhhcyBpdCBhc3luY2hyb25vdXNseQorICAgICAgICBNYWtpbmcgaXQgYXN5bmNo
cm9ub3VzIG1hZGUgYSBudW1iZXIgb2YgZmxha3kgUXQgdGVzdHMgcGFzcy4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0
b3JDb25zb2xlQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29uc29sZUFn
ZW50OjpjbGVhckZyb250ZW5kKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdl
bnQuY3BwOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5oOgorICAgICAg
ICAqIGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudC5oOgorICAgICAgICAqIGluc3Bl
Y3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
Okluc3BlY3RvckJhY2tlbmREaXNwYXRjaFRhc2s6Okluc3BlY3RvckJhY2tlbmREaXNwYXRjaFRh
c2spOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQmFja2VuZERpc3BhdGNoVGFzazo6ZGlz
cGF0Y2gpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQmFja2VuZERpc3BhdGNoVGFzazo6
cmVzZXQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQmFja2VuZERpc3BhdGNoVGFzazo6
b25UaW1lcik6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2Fs
OjpJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3Bl
Y3RvckZyb250ZW5kQ2xpZW50TG9jYWw6OndpbmRvd09iamVjdENsZWFyZWQpOgorICAgICAgICAo
V2ViQ29yZTo6SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbDo6cmVxdWVzdERpc2Nvbm5lY3RG
cm9tQmFja2VuZCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JGcm9udGVuZENsaWVudExv
Y2FsOjpzZW5kTWVzc2FnZVRvQmFja2VuZCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rv
ckZyb250ZW5kQ2xpZW50TG9jYWwuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRnJv
bnRlbmRIb3N0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckZyb250ZW5kSG9zdDo6
ZGlzY29ubmVjdEZyb21CYWNrZW5kKToKKwogMjAxMS0xMS0xNiAgQWxleGFuZGVyIFBhdmxvdiAg
PGFwYXZsb3ZAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IGluc3BlY3Rv
ciBmb2xsb3dzIGphdmFzY3JpcHQ6IGhyZWZzIGFzIHJlbGF0aXZlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hh
bmdlTG9nCmluZGV4IDYzMmIwN2YwZmFjNzQxZDYxNmI2NzYzYjgyYmQ4YTRiZGM0YTM3OTQuLjEy
OTZmYjMwNDdiZDM3NTRlZTJmODg0MzI3YjdlMGJiZjIzZWVmMTYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMTEtMTcgIFBhdmVsIEZlbGRtYW4gIDxw
ZmVsZG1hbkBnb29nbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IGRpc3BhdGNoIG1l
c3NhZ2VzIGZyb20gdGhlIGZyb250LWVuZCB0byB0aGUgYmFja2VuZCBhc3luY2hyb25vdXNseS4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjIxCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBzcmMvSW5z
cGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6SW5zcGVjdG9y
RnJvbnRlbmRDbGllbnRJbXBsOjpwZXJmb3JtRGlzY29ubmVjdEZyb21CYWNrZW5kKToKKyAgICAg
ICAgKiBzcmMvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsLmg6CisKIDIwMTEtMTEtMTcgIEFk
YW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBbQ2hyb21pdW1dIEludHJv
ZHVjZSBXZWJTZWN1cml0eU9yaWdpbjo6aXNVbmlxdWUgaW4gcHJlcGFyYXRpb24gZm9yIHJlbW92
aW5nIFdlYlNlY3VyaXR5T3JpZ2luOjppc0VtcHR5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29uc29sZUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JDb25zb2xlQWdlbnQuY3BwCmluZGV4IDgyZjYwNDQ4YzhjYzVmM2Nk
YjA0YmE2OTdjMWQwMTQwMzYyNGU1NTQuLjFlM2Q3ZWI1NmE5MzhhMDFjM2Y4ZGJjMDBmMmFiNDU2
NGY1Y2IwMWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JD
b25zb2xlQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JD
b25zb2xlQWdlbnQuY3BwCkBAIC0xMzUsNiArMTM1LDcgQEAgdm9pZCBJbnNwZWN0b3JDb25zb2xl
QWdlbnQ6OnNldEZyb250ZW5kKEluc3BlY3RvckZyb250ZW5kKiBmcm9udGVuZCkKIHZvaWQgSW5z
cGVjdG9yQ29uc29sZUFnZW50OjpjbGVhckZyb250ZW5kKCkKIHsKICAgICBtX2Zyb250ZW5kID0g
MDsKKyAgICBtX2luc3BlY3RvclN0YXRlLT5zZXRCb29sZWFuKENvbnNvbGVBZ2VudFN0YXRlOjpj
b25zb2xlTWVzc2FnZXNFbmFibGVkLCBmYWxzZSk7CiB9CiAKIHZvaWQgSW5zcGVjdG9yQ29uc29s
ZUFnZW50OjphZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdl
VHlwZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgUGFz
c1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+IGFyZ3VtZW50cywgUGFzc1JlZlB0cjxTY3JpcHRDYWxs
U3RhY2s+IGNhbGxTdGFjaykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JET01BZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
RE9NQWdlbnQuY3BwCmluZGV4IDlkODA1Y2FjNzhhYmY3NGNjZTUwOTkzMDgyYmMyNDU4N2RlMjY3
MWYuLmZhYWM0MTNmZTNhMDYzYjRmMzk1Y2QxMGM5M2U3NmI5NDc4NTJkNWYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcApAQCAtODAsNiArODAs
NyBAQAogI2luY2x1ZGUgIlNjcmlwdEV2ZW50TGlzdGVuZXIuaCIKICNpbmNsdWRlICJTdHlsZVNo
ZWV0TGlzdC5oIgogI2luY2x1ZGUgIlRleHQuaCIKKyNpbmNsdWRlICJUaW1lci5oIgogI2luY2x1
ZGUgIlhQYXRoUmVzdWx0LmgiCiAKICNpbmNsdWRlICJtYXJrdXAuaCIKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5oIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmgKaW5kZXggMGY4MGQ0ODc3OGQ2ZTlkYTM2
YTZmOTM2ODhhMDE0MjM3ZGEzMDczNS4uYzMyNzc0MTE2MDM1Yzg1ZDJiODFkNGJkNGNhYTE3NjBm
Yzk4MDkzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRP
TUFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50
LmgKQEAgLTM1LDcgKzM1LDYgQEAKICNpbmNsdWRlICJJbmplY3RlZFNjcmlwdE1hbmFnZXIuaCIK
ICNpbmNsdWRlICJJbnNwZWN0b3JGcm9udGVuZC5oIgogI2luY2x1ZGUgIkluc3BlY3RvclZhbHVl
cy5oIgotI2luY2x1ZGUgIlRpbWVyLmgiCiAKICNpbmNsdWRlIDx3dGYvRGVxdWUuaD4KICNpbmNs
dWRlIDx3dGYvTGlzdEhhc2hTZXQuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckZyb250ZW5kQ2xpZW50LmgKaW5kZXggYmM4YTEzNTBhN2NmMzhhMWYwYWVkZWNh
MTQ5NTNlYTc3NjU4NGRhMS4uMDA1ZDljZDhhODdhOGU1YTZjYjFkMjczM2QzYjA5NGE1NTU5MWMy
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5k
Q2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5k
Q2xpZW50LmgKQEAgLTUzLDcgKzUzLDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIGJy
aW5nVG9Gcm9udCgpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgY2xvc2VXaW5kb3coKSA9IDA7Ci0g
ICAgdmlydHVhbCB2b2lkIGRpc2Nvbm5lY3RGcm9tQmFja2VuZCgpID0gMDsKKyAgICB2aXJ0dWFs
IHZvaWQgcmVxdWVzdERpc2Nvbm5lY3RGcm9tQmFja2VuZCgpID0gMDsKIAogICAgIHZpcnR1YWwg
dm9pZCByZXF1ZXN0QXR0YWNoV2luZG93KCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0
RGV0YWNoV2luZG93KCkgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuY3BwCmluZGV4IDc3NDNlYzA2Mzg4MTkz
YzBkMjQ5NzE1NzE5MGVjZGI1NGY5YWFhNzYuLmE4ZjBjYTk0OGZhM2U0YjhiYzJmZWJjOWUxNWY0
ODViMTFhNWNjMTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JGcm9udGVuZENsaWVudExvY2FsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5jcHAKQEAgLTQ1LDYgKzQ1LDcgQEAKICNpbmNs
dWRlICJTY3JpcHRGdW5jdGlvbkNhbGwuaCIKICNpbmNsdWRlICJTY3JpcHRPYmplY3QuaCIKICNp
bmNsdWRlICJTZXR0aW5ncy5oIgorI2luY2x1ZGUgIlRpbWVyLmgiCiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIApAQCAtNTMsNiArNTQsNDEgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGRlZmF1bHRB
dHRhY2hlZEhlaWdodCA9IDMwMDsKIHN0YXRpYyBjb25zdCBmbG9hdCBtaW5pbXVtQXR0YWNoZWRI
ZWlnaHQgPSAyNTAuMGY7CiBzdGF0aWMgY29uc3QgZmxvYXQgbWF4aW11bUF0dGFjaGVkSGVpZ2h0
UmF0aW8gPSAwLjc1ZjsKIAorY2xhc3MgSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoVGFzayB7Citw
dWJsaWM6CisgICAgSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoVGFzayhJbnNwZWN0b3JDb250cm9s
bGVyKiBpbnNwZWN0b3JDb250cm9sbGVyKQorICAgICAgICA6IG1faW5zcGVjdG9yQ29udHJvbGxl
cihpbnNwZWN0b3JDb250cm9sbGVyKQorICAgICAgICAsIG1fdGltZXIodGhpcywgJkluc3BlY3Rv
ckJhY2tlbmREaXNwYXRjaFRhc2s6Om9uVGltZXIpCisgICAgeworICAgIH0KKworICAgIHZvaWQg
ZGlzcGF0Y2goY29uc3QgU3RyaW5nJiBtZXNzYWdlKQorICAgIHsKKyAgICAgICAgbV9tZXNzYWdl
cy5hcHBlbmQobWVzc2FnZSk7CisgICAgICAgIGlmICghbV90aW1lci5pc0FjdGl2ZSgpKQorICAg
ICAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgfQorCisgICAgdm9pZCByZXNl
dCgpCisgICAgeworICAgICAgICBtX21lc3NhZ2VzLmNsZWFyKCk7CisgICAgICAgIG1fdGltZXIu
c3RvcCgpOworICAgIH0KKworICAgIHZvaWQgb25UaW1lcihUaW1lcjxJbnNwZWN0b3JCYWNrZW5k
RGlzcGF0Y2hUYXNrPiopCisgICAgeworICAgICAgICBWZWN0b3I8U3RyaW5nPiBtZXNzYWdlcyA9
IG1fbWVzc2FnZXM7CisgICAgICAgIG1fbWVzc2FnZXMuY2xlYXIoKTsKKyAgICAgICAgZm9yIChW
ZWN0b3I8U3RyaW5nPjo6aXRlcmF0b3IgaXQgPSBtZXNzYWdlcy5iZWdpbigpOyBpdCAhPSBtZXNz
YWdlcy5lbmQoKTsgKytpdCkKKyAgICAgICAgICAgIG1faW5zcGVjdG9yQ29udHJvbGxlci0+ZGlz
cGF0Y2hNZXNzYWdlRnJvbUZyb250ZW5kKCppdCk7CisgICAgfQorCitwcml2YXRlOgorICAgIElu
c3BlY3RvckNvbnRyb2xsZXIqIG1faW5zcGVjdG9yQ29udHJvbGxlcjsKKyAgICBUaW1lcjxJbnNw
ZWN0b3JCYWNrZW5kRGlzcGF0Y2hUYXNrPiBtX3RpbWVyOworICAgIFZlY3RvcjxTdHJpbmc+IG1f
bWVzc2FnZXM7Cit9OworCiBTdHJpbmcgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbDo6U2V0
dGluZ3M6OmdldFByb3BlcnR5KGNvbnN0IFN0cmluZyYpCiB7CiAgICAgcmV0dXJuIFN0cmluZygp
OwpAQCAtNjksNiArMTA1LDcgQEAgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbDo6SW5zcGVj
dG9yRnJvbnRlbmRDbGllbnRMb2NhbChJbnNwZWN0b3JDb250cm9sbGVyKgogICAgICwgbV9zZXR0
aW5ncyhzZXR0aW5ncykKIHsKICAgICBtX2Zyb250ZW5kUGFnZS0+c2V0dGluZ3MoKS0+c2V0QWxs
b3dGaWxlQWNjZXNzRnJvbUZpbGVVUkxzKHRydWUpOworICAgIG1fZGlzcGF0Y2hUYXNrID0gYWRv
cHRQdHIobmV3IEluc3BlY3RvckJhY2tlbmREaXNwYXRjaFRhc2soaW5zcGVjdG9yQ29udHJvbGxl
cikpOwogfQogCiBJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsOjp+SW5zcGVjdG9yRnJvbnRl
bmRDbGllbnRMb2NhbCgpCkBAIC04Myw2ICsxMjAsNyBAQCBJbnNwZWN0b3JGcm9udGVuZENsaWVu
dExvY2FsOjp+SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbCgpCiB2b2lkIEluc3BlY3RvckZy
b250ZW5kQ2xpZW50TG9jYWw6OndpbmRvd09iamVjdENsZWFyZWQoKQogewogICAgIC8vIEZJWE1F
OiBkb24ndCBrZWVwIHJlZmVyZW5jZSB0byB0aGUgc2NyaXB0IHN0YXRlCisgICAgbV9kaXNwYXRj
aFRhc2stPnJlc2V0KCk7CiAgICAgbV9mcm9udGVuZFNjcmlwdFN0YXRlID0gc2NyaXB0U3RhdGVG
cm9tUGFnZShkZWJ1Z2dlcldvcmxkKCksIG1fZnJvbnRlbmRQYWdlKTsKICAgICBtX2Zyb250ZW5k
SG9zdCA9IEluc3BlY3RvckZyb250ZW5kSG9zdDo6Y3JlYXRlKHRoaXMsIG1fZnJvbnRlbmRQYWdl
KTsKICAgICBTY3JpcHRHbG9iYWxPYmplY3Q6OnNldChtX2Zyb250ZW5kU2NyaXB0U3RhdGUsICJJ
bnNwZWN0b3JGcm9udGVuZEhvc3QiLCBtX2Zyb250ZW5kSG9zdC5nZXQoKSk7CkBAIC05NCw2ICsx
MzIsMTIgQEAgdm9pZCBJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsOjpmcm9udGVuZExvYWRl
ZCgpCiAgICAgbV9pbnNwZWN0b3JDb250cm9sbGVyLT5jb25uZWN0RnJvbnRlbmQoKTsKIH0KIAor
dm9pZCBJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsOjpyZXF1ZXN0RGlzY29ubmVjdEZyb21C
YWNrZW5kKCkKK3sKKyAgICBtX2Rpc3BhdGNoVGFzay0+cmVzZXQoKTsKKyAgICBkaXNjb25uZWN0
RnJvbUJhY2tlbmQoKTsKK30KKwogdm9pZCBJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsOjpy
ZXF1ZXN0QXR0YWNoV2luZG93KCkKIHsKICAgICBpZiAoIWNhbkF0dGFjaFdpbmRvdygpKQpAQCAt
MTYzLDcgKzIwNyw3IEBAIHVuc2lnbmVkIEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWw6OmNv
bnN0cmFpbmVkQXR0YWNoZWRXaW5kb3dIZWlnaHQodW5zaWduZWQKIAogdm9pZCBJbnNwZWN0b3JG
cm9udGVuZENsaWVudExvY2FsOjpzZW5kTWVzc2FnZVRvQmFja2VuZChjb25zdCBTdHJpbmcmIG1l
c3NhZ2UpCiB7Ci0gICAgbV9pbnNwZWN0b3JDb250cm9sbGVyLT5kaXNwYXRjaE1lc3NhZ2VGcm9t
RnJvbnRlbmQobWVzc2FnZSk7CisgICAgbV9kaXNwYXRjaFRhc2stPmRpc3BhdGNoKG1lc3NhZ2Up
OwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5oIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuaAppbmRleCBlMDk1YjQ1
Y2YyMzdjYWRlMjQxNzVkZmM5Mzc1MjBiYmYwYTQ4YzFmLi41YWJjOWRmZDAyMWQ5OTk5NzA0Mzk4
NGQzZDU2NmYxNzY3YzYxNWIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmgKQEAgLTM1LDEwICszNSwxMiBAQAog
I2luY2x1ZGUgIlNjcmlwdFN0YXRlLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgSW5zcGVjdG9yQ29udHJvbGxlcjsKK2NsYXNzIEluc3Bl
Y3RvckJhY2tlbmREaXNwYXRjaFRhc2s7CiBjbGFzcyBJbnNwZWN0b3JGcm9udGVuZEhvc3Q7CiBj
bGFzcyBQYWdlOwogCkBAIC01OCw2ICs2MCw3IEBAIHB1YmxpYzoKICAgICAKICAgICB2aXJ0dWFs
IHZvaWQgd2luZG93T2JqZWN0Q2xlYXJlZCgpOwogICAgIHZpcnR1YWwgdm9pZCBmcm9udGVuZExv
YWRlZCgpOworICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0RGlzY29ubmVjdEZyb21CYWNrZW5kKCk7
CiAKICAgICB2aXJ0dWFsIHZvaWQgbW92ZVdpbmRvd0J5KGZsb2F0IHgsIGZsb2F0IHkpOwogCkBA
IC02OCw2ICs3MSw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBhdHRhY2hXaW5kb3co
KSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGRldGFjaFdpbmRvdygpID0gMDsKKyAgICB2aXJ0dWFs
IHZvaWQgZGlzY29ubmVjdEZyb21CYWNrZW5kKCkgPSAwOwogCiAgICAgdmlydHVhbCB2b2lkIHNl
bmRNZXNzYWdlVG9CYWNrZW5kKGNvbnN0IFN0cmluZyYgbWVzc2FnZSk7CiAKQEAgLTg4LDYgKzky
LDcgQEAgcHJpdmF0ZToKICAgICAvLyBUT0RPKHl1cnlzKTogdGhpcyByZWYgc2hvdWxkbid0IGJl
IG5lZWRlZC4KICAgICBSZWZQdHI8SW5zcGVjdG9yRnJvbnRlbmRIb3N0PiBtX2Zyb250ZW5kSG9z
dDsKICAgICBPd25QdHI8SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbDo6U2V0dGluZ3M+IG1f
c2V0dGluZ3M7CisgICAgT3duUHRyPEluc3BlY3RvckJhY2tlbmREaXNwYXRjaFRhc2s+IG1fZGlz
cGF0Y2hUYXNrOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNwcAppbmRleCA5ZjQ5YjRk
ZDM0ZjNhYjhlYTI5NzM3MDQ5MTA0Y2E0NWMxZjUwNWQwLi5iNmZlYjE4YmI1Y2IxZjU4NzM0OWNk
NjgwMzdmZDdlMWIxMjNmYmQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNwcApAQCAtMTcyLDcgKzE3Miw3IEBAIHZvaWQgSW5zcGVj
dG9yRnJvbnRlbmRIb3N0OjpjbG9zZVdpbmRvdygpCiB2b2lkIEluc3BlY3RvckZyb250ZW5kSG9z
dDo6ZGlzY29ubmVjdEZyb21CYWNrZW5kKCkKIHsKICAgICBpZiAobV9jbGllbnQpIHsKLSAgICAg
ICAgbV9jbGllbnQtPmRpc2Nvbm5lY3RGcm9tQmFja2VuZCgpOworICAgICAgICBtX2NsaWVudC0+
cGVyZm9ybURpc2Nvbm5lY3RGcm9tQmFja2VuZCgpOwogICAgICAgICBkaXNjb25uZWN0Q2xpZW50
KCk7IC8vIERpc2Nvbm5lY3QgZnJvbSBjbGllbnQuCiAgICAgfQogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsLmNwcCBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0luc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbC5j
cHAKaW5kZXggZWJmODFmMDVmNWYxNDAxOTYwMzMwZjUyYmZkNTdhOWE3MGFmYTZjNi4uZDU2MGFj
YWUwZjg2ZTc2NDU2ZDRmY2MzNTkzNDg0ZTJlNDgzMDE0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9JbnNwZWN0b3JGcm9udGVuZENsaWVudEltcGwuY3Bw
CkBAIC0xMDcsNyArMTA3LDcgQEAgdm9pZCBJbnNwZWN0b3JGcm9udGVuZENsaWVudEltcGw6OmNs
b3NlV2luZG93KCkKICAgICBtX2NsaWVudC0+Y2xvc2VXaW5kb3coKTsKIH0KIAotdm9pZCBJbnNw
ZWN0b3JGcm9udGVuZENsaWVudEltcGw6OmRpc2Nvbm5lY3RGcm9tQmFja2VuZCgpCit2b2lkIElu
c3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbDo6cGVyZm9ybURpc2Nvbm5lY3RGcm9tQmFja2VuZCgp
CiB7CiAgICAgbV9jbGllbnQtPmNsb3NlV2luZG93KCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9JbnNwZWN0b3JGcm9udGVuZENsaWVudEltcGwuaCBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL0luc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbC5oCmluZGV4
IGZkNDVmNWIyYjA4NjZiNWE2NDNiZTlhNGNlYWQxNWUzN2UyYmZhNGQuLmM2NmU3MzgxZDk1OGE3
MjkwNzk4ZmUwN2U5MDczNGY4NTNjY2VkYTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL0luc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL0luc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbC5oCkBAIC02MSw3ICs2
MSw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBicmluZ1RvRnJvbnQoKTsKICAgICB2
aXJ0dWFsIHZvaWQgY2xvc2VXaW5kb3coKTsKLSAgICB2aXJ0dWFsIHZvaWQgZGlzY29ubmVjdEZy
b21CYWNrZW5kKCk7CisgICAgdmlydHVhbCB2b2lkIHBlcmZvcm1EaXNjb25uZWN0RnJvbUJhY2tl
bmQoKTsKIAogICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0QXR0YWNoV2luZG93KCk7CiAgICAgdmly
dHVhbCB2b2lkIHJlcXVlc3REZXRhY2hXaW5kb3coKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAzNDNkNjk2OWQxMzliZmUx
MTY4MjcyODY1Njg5ODQ3NzliMzNiMDJkLi5iMzNkMDg0NWM1ZGUzNzY1Njc5MzllYzAyN2YzMjE0
NjYyY2FkZTJhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMTEtMTcgIFBhdmVsIEZlbGRt
YW4gIDxwZmVsZG1hbkBnb29nbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IGRpc3Bh
dGNoIG1lc3NhZ2VzIGZyb20gdGhlIGZyb250LWVuZCB0byB0aGUgYmFja2VuZCBhc3luY2hyb25v
dXNseS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcy
NjIxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBp
bnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtc2NyaXB0LXRhZy0xLmh0bWw6CisgICAgICAgICog
cGxhdGZvcm0vcXQvU2tpcHBlZDoKKwogMjAxMS0xMS0xNyAgU3RldmUgQmxvY2sgIDxzdGV2ZWJs
b2NrQGdvb2dsZS5jb20+CiAKICAgICAgICAgW2Nocm9taXVtXSBTdXBwb3J0IENvcmVBbmltYXRp
b24gcGx1Z2luIG1vZGVsIG9uIE1hYwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L3RpbWVsaW5lL3RpbWVsaW5lLXNjcmlwdC10YWctMS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL3RpbWVsaW5lL3RpbWVsaW5lLXNjcmlwdC10YWctMS5odG1sCmluZGV4IGU4ZjYxMzFiOTY1
MDc5YThjMjgyYzI3ZDg5OTYwMDJmMmYyMWQ1MDguLjhkNzkwZjY4Mjg2NmI4ZWFhN2NkNjYyZTUz
NGQ4ODhjMjZjOGY2ODAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGlu
ZS90aW1lbGluZS1zY3JpcHQtdGFnLTEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
dGltZWxpbmUvdGltZWxpbmUtc2NyaXB0LXRhZy0xLmh0bWwKQEAgLTI3LDExICsyNywxOSBAQCBm
dW5jdGlvbiB0ZXN0KCkKIAogICAgIGZ1bmN0aW9uIHN0ZXAzKCkKICAgICB7Ci0gICAgICAgIGZ1
bmN0aW9uIGZvcm1hdChyZWNvcmQpIHsKKyAgICAgICAgZnVuY3Rpb24gZm9ybWF0KHJlY29yZCkK
KyAgICAgICAgewogICAgICAgICAgICAgaWYgKHJlY29yZC50eXBlID09PSBXZWJJbnNwZWN0b3Iu
VGltZWxpbmVBZ2VudC5SZWNvcmRUeXBlLkV2YWx1YXRlU2NyaXB0KQogICAgICAgICAgICAgICAg
IEluc3BlY3RvclRlc3QucHJpbnRUaW1lbGluZVJlY29yZFByb3BlcnRpZXMocmVjb3JkKTsKLSAg
ICAgICAgICAgIGVsc2UgaWYgKHJlY29yZC50eXBlID09PSBXZWJJbnNwZWN0b3IuVGltZWxpbmVB
Z2VudC5SZWNvcmRUeXBlLlBhcnNlSFRNTCkKKyAgICAgICAgICAgIGVsc2UgaWYgKHJlY29yZC50
eXBlID09PSBXZWJJbnNwZWN0b3IuVGltZWxpbmVBZ2VudC5SZWNvcmRUeXBlLlBhcnNlSFRNTCkg
eworICAgICAgICAgICAgICAgIHZhciBjaGlsZHJlbiA9IFtdOworICAgICAgICAgICAgICAgIGZv
ciAodmFyIGkgPSAwOyBpIDwgcmVjb3JkLmNoaWxkcmVuLmxlbmd0aDsgKytpKSB7CisgICAgICAg
ICAgICAgICAgICAgIGlmIChyZWNvcmQuY2hpbGRyZW5baV0udHlwZSAhPT0gV2ViSW5zcGVjdG9y
LlRpbWVsaW5lQWdlbnQuUmVjb3JkVHlwZS5SZWNhbGN1bGF0ZVN0eWxlcykKKyAgICAgICAgICAg
ICAgICAgICAgICAgIGNoaWxkcmVuLnB1c2gocmVjb3JkLmNoaWxkcmVuW2ldKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICAgICAgcmVjb3JkLmNoaWxkcmVuID0gY2hpbGRyZW47CiAg
ICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wVGltZWxpbmVSZWNvcmQocmVjb3JkKTsK
KyAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgICAgICBJbnNwZWN0b3JUZXN0LnByaW50VGlt
ZWxpbmVSZWNvcmRzKG51bGwsIGZvcm1hdCk7CiAgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxl
dGVUZXN0KCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZAppbmRleCAyYTUzZjlkZTk4Mzg1NTgwYzNj
Nzk4MjhmZWNjZDI5NTcxMzA5YWFlLi44MmY2ZDVjNzlhZDNmMzJiZGQyZWJiNWZmNDBhMzIyNmQ3
OTI2ZDJjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCisrKyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKQEAgLTI0MTUsMTIgKzI0MTUsNiBAQCBm
YXN0L3RleHQvbGluZS1pbml0aWFsLWFuZC1maW5hbC1zd2FzaGVzLmh0bWwKICMgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY5OTMzCiBmYXN0L2JvcmRlcnMvaW5saW5l
LW1hc2stb3ZlcmxheS1pbWFnZS1vdXRzZXQtdmVydGljYWwtcmwuaHRtbAogCi0jIFdlYiBJbnNw
ZWN0b3I6IFJFR1JFU1NJT04ocjk3MjY3KTogSXQgbWFkZSAzIHRlc3RzIGZhaWwgb24gdGhlIFF0
IGJvdAotIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwMDUKLWh0
dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1kb2N1bWVudC11
cmwuaHRtbAotaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVl
LWZyYW1lLW5hdmlnYXRlLmh0bWwKLWh0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUv
cmVzb3VyY2UtdHJlZS1ub24tdW5pcXVlLXVybC5odG1sCi0KICMgW1F0XSBBc3NlcnRpb24gZmFp
bCBpbiBDU1NQcmltaXRpdmVWYWx1ZSBjdG9yCiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD02OTkzMwogZmFzdC9ib3JkZXJzL2lubGluZS1tYXNrLW92ZXJsYXktaW1h
Z2Utb3V0c2V0Lmh0bWwK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>115786</attachid>
            <date>2011-11-18 05:06:18 -0800</date>
            <delta_ts>2011-11-18 05:24:42 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-72621-20111118170615.patch</filename>
            <type>text/plain</type>
            <size>8639</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAwNzUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTExYjg4NDc0YzI0ODdl
ODEyYWE2YjFmZjg5NzQzZjI0NWU3ZjdkYS4uN2IwNzhiZmM3ZTEzOGExNjNmMTZmODFiNmU4YjU2
NTY3NTJlYWMyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDExLTExLTE3ICBQYXZl
bCBGZWxkbWFuICA8cGZlbGRtYW5AZ29vZ2xlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9y
OiBkaXNwYXRjaCBtZXNzYWdlcyBmcm9tIHRoZSBmcm9udC1lbmQgdG8gdGhlIGJhY2tlbmQgYXN5
bmNocm9ub3VzbHkuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD03MjYyMQorCisgICAgICAgIFdlIHNob3VsZCBhbGlnbiB0aGUgd2F5IHdlIGRpc3BhdGNo
IG1lc3NhZ2VzIGZyb20gdGhlIGZyb250LWVuZCB0byBiYWNrZW5kIGFjcm9zcyB0aGUgZW52aXJv
bm1lbnRzOgorICAgICAgICAgIC0gV2ViS2l0IGhhcyBpdCBzeW5jaHJvbm91bHNseQorICAgICAg
ICAgIC0gQ2hyb21pdW0gaGFzIGl0IGFzeW5jaHJvbm91c2x5CisgICAgICAgICAgLSBSZW1vdGUg
ZGVidWdnaW5nIGhhcyBpdCBhc3luY2hyb25vdXNseQorICAgICAgICBNYWtpbmcgaXQgYXN5bmNo
cm9ub3VzIG1hZGUgYSBudW1iZXIgb2YgZmxha3kgUXQgdGVzdHMgcGFzcy4KKworICAgICAgICBU
ZXN0cyB1bmNvdmVyZWQgY29uc29sZSBhZ2VudCBwcm9ibGVtIHRoYXQgd2FzIGFsc28gZml4ZWQu
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBpbnNw
ZWN0b3IvSW5zcGVjdG9yQ29uc29sZUFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3Bl
Y3RvckNvbnNvbGVBZ2VudDo6Y2xlYXJGcm9udGVuZCk6CisgICAgICAgICogaW5zcGVjdG9yL0lu
c3BlY3RvckZyb250ZW5kQ2xpZW50Lmg6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckZy
b250ZW5kQ2xpZW50TG9jYWwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQmFja2Vu
ZERpc3BhdGNoVGFzazo6SW5zcGVjdG9yQmFja2VuZERpc3BhdGNoVGFzayk6CisgICAgICAgIChX
ZWJDb3JlOjpJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hUYXNrOjpkaXNwYXRjaCk6CisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hUYXNrOjpyZXNldCk6CisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hUYXNrOjpvblRpbWVyKToKKyAgICAg
ICAgKFdlYkNvcmU6Okluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWw6Okluc3BlY3RvckZyb250
ZW5kQ2xpZW50TG9jYWwpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRnJvbnRlbmRDbGll
bnRMb2NhbDo6d2luZG93T2JqZWN0Q2xlYXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0
b3JGcm9udGVuZENsaWVudExvY2FsOjpzZW5kTWVzc2FnZVRvQmFja2VuZCk6CisgICAgICAgICog
aW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuaDoKKwogMjAxMS0xMS0xOCAg
SWFpbiBNZXJyaWNrICA8aHVza3lAZ29vZ2xlLmNvbT4KIAogICAgICAgICBbY2hyb21pdW1dIFBh
c3Mgc2NyZWVuIHJlZnJlc2ggcmF0ZSBpbnRvIGNvbXBvc2l0b3IuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hh
bmdlTG9nCmluZGV4IGU3MjMzNTRiZDE4NmJhMDI5ODllNmMwNmUwN2JkYjY5YmUzZjBkYzAuLjQy
ZDhjYmQ3YjQ1NzA0ZTM5NjY5NmI0NTM0ZDFlMTcyNzc2NmFmMjcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMTEtMTcgIFBhdmVsIEZlbGRtYW4gIDxw
ZmVsZG1hbkBnb29nbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IGRpc3BhdGNoIG1l
c3NhZ2VzIGZyb20gdGhlIGZyb250LWVuZCB0byB0aGUgYmFja2VuZCBhc3luY2hyb25vdXNseS4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjIxCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBzcmMvSW5z
cGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6SW5zcGVjdG9y
RnJvbnRlbmRDbGllbnRJbXBsOjpwZXJmb3JtRGlzY29ubmVjdEZyb21CYWNrZW5kKToKKyAgICAg
ICAgKiBzcmMvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsLmg6CisKIDIwMTEtMTEtMTggIElh
aW4gTWVycmljayAgPGh1c2t5QGdvb2dsZS5jb20+CiAKICAgICAgICAgW2Nocm9taXVtXSBQYXNz
IHNjcmVlbiByZWZyZXNoIHJhdGUgaW50byBjb21wb3NpdG9yLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnNvbGVBZ2VudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29uc29sZUFnZW50LmNwcAppbmRleCA4MmY2MDQ0OGM4
Y2M1ZjNjZGIwNGJhNjk3YzFkMDE0MDM2MjRlNTU0Li4xZTNkN2ViNTZhOTM4YTAxYzNmOGRiYzAw
ZjJhYjQ1NjRmNWNiMDFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yQ29uc29sZUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yQ29uc29sZUFnZW50LmNwcApAQCAtMTM1LDYgKzEzNSw3IEBAIHZvaWQgSW5zcGVjdG9y
Q29uc29sZUFnZW50OjpzZXRGcm9udGVuZChJbnNwZWN0b3JGcm9udGVuZCogZnJvbnRlbmQpCiB2
b2lkIEluc3BlY3RvckNvbnNvbGVBZ2VudDo6Y2xlYXJGcm9udGVuZCgpCiB7CiAgICAgbV9mcm9u
dGVuZCA9IDA7CisgICAgbV9pbnNwZWN0b3JTdGF0ZS0+c2V0Qm9vbGVhbihDb25zb2xlQWdlbnRT
dGF0ZTo6Y29uc29sZU1lc3NhZ2VzRW5hYmxlZCwgZmFsc2UpOwogfQogCiB2b2lkIEluc3BlY3Rv
ckNvbnNvbGVBZ2VudDo6YWRkTWVzc2FnZVRvQ29uc29sZShNZXNzYWdlU291cmNlIHNvdXJjZSwg
TWVzc2FnZVR5cGUgdHlwZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3Nh
Z2UsIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPiBhcmd1bWVudHMsIFBhc3NSZWZQdHI8U2Ny
aXB0Q2FsbFN0YWNrPiBjYWxsU3RhY2spCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5jcHAKaW5kZXggNzc0M2VjMDYz
ODgxOTNjMGQyNDk3MTU3MTkwZWNkYjU0ZjlhYWE3Ni4uZTk0ZTAwMDhmMTBiNWVjZWYxMzRiODQ4
MGE5MDdiMDdkNzcwMmYzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmNwcApAQCAtNDUsNiArNDUsOCBAQAog
I2luY2x1ZGUgIlNjcmlwdEZ1bmN0aW9uQ2FsbC5oIgogI2luY2x1ZGUgIlNjcmlwdE9iamVjdC5o
IgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCisjaW5jbHVkZSAiVGltZXIuaCIKKyNpbmNsdWRlIDx3
dGYvRGVxdWUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC01Myw2ICs1NSw0MSBAQCBz
dGF0aWMgY29uc3QgdW5zaWduZWQgZGVmYXVsdEF0dGFjaGVkSGVpZ2h0ID0gMzAwOwogc3RhdGlj
IGNvbnN0IGZsb2F0IG1pbmltdW1BdHRhY2hlZEhlaWdodCA9IDI1MC4wZjsKIHN0YXRpYyBjb25z
dCBmbG9hdCBtYXhpbXVtQXR0YWNoZWRIZWlnaHRSYXRpbyA9IDAuNzVmOwogCitjbGFzcyBJbnNw
ZWN0b3JCYWNrZW5kRGlzcGF0Y2hUYXNrIHsKK3B1YmxpYzoKKyAgICBJbnNwZWN0b3JCYWNrZW5k
RGlzcGF0Y2hUYXNrKEluc3BlY3RvckNvbnRyb2xsZXIqIGluc3BlY3RvckNvbnRyb2xsZXIpCisg
ICAgICAgIDogbV9pbnNwZWN0b3JDb250cm9sbGVyKGluc3BlY3RvckNvbnRyb2xsZXIpCisgICAg
ICAgICwgbV90aW1lcih0aGlzLCAmSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoVGFzazo6b25UaW1l
cikKKyAgICB7CisgICAgfQorCisgICAgdm9pZCBkaXNwYXRjaChjb25zdCBTdHJpbmcmIG1lc3Nh
Z2UpCisgICAgeworICAgICAgICBtX21lc3NhZ2VzLmFwcGVuZChtZXNzYWdlKTsKKyAgICAgICAg
aWYgKCFtX3RpbWVyLmlzQWN0aXZlKCkpCisgICAgICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hv
dCgwKTsKKyAgICB9CisKKyAgICB2b2lkIHJlc2V0KCkKKyAgICB7CisgICAgICAgIG1fbWVzc2Fn
ZXMuY2xlYXIoKTsKKyAgICAgICAgbV90aW1lci5zdG9wKCk7CisgICAgfQorCisgICAgdm9pZCBv
blRpbWVyKFRpbWVyPEluc3BlY3RvckJhY2tlbmREaXNwYXRjaFRhc2s+KikKKyAgICB7CisgICAg
ICAgIGlmICghbV9tZXNzYWdlcy5pc0VtcHR5KCkpIHsKKyAgICAgICAgICAgIG1fdGltZXIuc3Rh
cnRPbmVTaG90KDApOworICAgICAgICAgICAgbV9pbnNwZWN0b3JDb250cm9sbGVyLT5kaXNwYXRj
aE1lc3NhZ2VGcm9tRnJvbnRlbmQobV9tZXNzYWdlcy50YWtlRmlyc3QoKSk7CisgICAgICAgIH0K
KyAgICB9CisKK3ByaXZhdGU6CisgICAgSW5zcGVjdG9yQ29udHJvbGxlciogbV9pbnNwZWN0b3JD
b250cm9sbGVyOworICAgIFRpbWVyPEluc3BlY3RvckJhY2tlbmREaXNwYXRjaFRhc2s+IG1fdGlt
ZXI7CisgICAgRGVxdWU8U3RyaW5nPiBtX21lc3NhZ2VzOworfTsKKwogU3RyaW5nIEluc3BlY3Rv
ckZyb250ZW5kQ2xpZW50TG9jYWw6OlNldHRpbmdzOjpnZXRQcm9wZXJ0eShjb25zdCBTdHJpbmcm
KQogewogICAgIHJldHVybiBTdHJpbmcoKTsKQEAgLTY5LDYgKzEwNiw3IEBAIEluc3BlY3RvckZy
b250ZW5kQ2xpZW50TG9jYWw6Okluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwoSW5zcGVjdG9y
Q29udHJvbGxlcioKICAgICAsIG1fc2V0dGluZ3Moc2V0dGluZ3MpCiB7CiAgICAgbV9mcm9udGVu
ZFBhZ2UtPnNldHRpbmdzKCktPnNldEFsbG93RmlsZUFjY2Vzc0Zyb21GaWxlVVJMcyh0cnVlKTsK
KyAgICBtX2Rpc3BhdGNoVGFzayA9IGFkb3B0UHRyKG5ldyBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0
Y2hUYXNrKGluc3BlY3RvckNvbnRyb2xsZXIpKTsKIH0KIAogSW5zcGVjdG9yRnJvbnRlbmRDbGll
bnRMb2NhbDo6fkluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwoKQpAQCAtMTYzLDcgKzIwMSw3
IEBAIHVuc2lnbmVkIEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWw6OmNvbnN0cmFpbmVkQXR0
YWNoZWRXaW5kb3dIZWlnaHQodW5zaWduZWQKIAogdm9pZCBJbnNwZWN0b3JGcm9udGVuZENsaWVu
dExvY2FsOjpzZW5kTWVzc2FnZVRvQmFja2VuZChjb25zdCBTdHJpbmcmIG1lc3NhZ2UpCiB7Ci0g
ICAgbV9pbnNwZWN0b3JDb250cm9sbGVyLT5kaXNwYXRjaE1lc3NhZ2VGcm9tRnJvbnRlbmQobWVz
c2FnZSk7CisgICAgbV9kaXNwYXRjaFRhc2stPmRpc3BhdGNoKG1lc3NhZ2UpOwogfQogCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuaAppbmRleCBlMDk1YjQ1Y2YyMzdjYWRlMjQx
NzVkZmM5Mzc1MjBiYmYwYTQ4YzFmLi40N2IxNTcwM2Q2YWJjNDlkYjc5Nzg3NjRhZjhhYTEzY2Q4
ZTlmOTBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJv
bnRlbmRDbGllbnRMb2NhbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JGcm9udGVuZENsaWVudExvY2FsLmgKQEAgLTM5LDYgKzM5LDcgQEAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogY2xhc3MgSW5zcGVjdG9yQ29udHJvbGxlcjsKK2NsYXNzIEluc3BlY3RvckJhY2tl
bmREaXNwYXRjaFRhc2s7CiBjbGFzcyBJbnNwZWN0b3JGcm9udGVuZEhvc3Q7CiBjbGFzcyBQYWdl
OwogCkBAIC04OCw2ICs4OSw3IEBAIHByaXZhdGU6CiAgICAgLy8gVE9ETyh5dXJ5cyk6IHRoaXMg
cmVmIHNob3VsZG4ndCBiZSBuZWVkZWQuCiAgICAgUmVmUHRyPEluc3BlY3RvckZyb250ZW5kSG9z
dD4gbV9mcm9udGVuZEhvc3Q7CiAgICAgT3duUHRyPEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9j
YWw6OlNldHRpbmdzPiBtX3NldHRpbmdzOworICAgIE93blB0cjxJbnNwZWN0b3JCYWNrZW5kRGlz
cGF0Y2hUYXNrPiBtX2Rpc3BhdGNoVGFzazsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAzMDMxYmE0ZjQzZWE1NGQxYjM0YjE2Njk1MTQzMDI2YTM3Y2U0ODk3Li40M2VjZWU4
ZjAyZDg4YTAxNTBhM2ZlYzg3YmM4ODY3ZWQ0NzA4ZjUyIDEwMDc1NQotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAK
KzIwMTEtMTEtMTcgIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBnb29nbGUuY29tPgorCisgICAg
ICAgIFdlYiBJbnNwZWN0b3I6IGRpc3BhdGNoIG1lc3NhZ2VzIGZyb20gdGhlIGZyb250LWVuZCB0
byB0aGUgYmFja2VuZCBhc3luY2hyb25vdXNseS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjIxCisKKyAgICAgICAgTm93IHRoYXQgZGlzcGF0Y2hp
bmcgaXMgYXN5bmNocm9ub3VzLCB0aW1lbGluZSB0ZXN0IG5lZWRlZCBhIGZpeC4KKyAgICAgICAg
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaW5zcGVj
dG9yL3RpbWVsaW5lL3RpbWVsaW5lLXNjcmlwdC10YWctMS5odG1sOgorICAgICAgICAqIHBsYXRm
b3JtL3F0L1NraXBwZWQ6CisKIDIwMTEtMTEtMTggIFN0ZXZlIEJsb2NrICA8c3RldmVibG9ja0Bn
b29nbGUuY29tPgogCiAgICAgICAgIFJlYmFzZWxpbmUgc3ZnL2NsaXAtcGF0aCBmb3IgQ2hyb21p
dW0gTWFjIDEwLjUgQ0cgYWZ0ZXIgaHR0cDovL2NycmV2LmNvbS8xMTA1NDMKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1zY3JpcHQtdGFnLTEuaHRt
bCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1zY3JpcHQtdGFnLTEu
aHRtbAppbmRleCBlOGY2MTMxYjk2NTA3OWE4YzI4MmMyN2Q4OTk2MDAyZjJmMjFkNTA4Li44ZDc5
MGY2ODI4NjZiOGVhYTdjZDY2MmU1MzRkODg4YzI2YzhmNjgwIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtc2NyaXB0LXRhZy0xLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLXNjcmlwdC10YWctMS5odG1s
CkBAIC0yNywxMSArMjcsMTkgQEAgZnVuY3Rpb24gdGVzdCgpCiAKICAgICBmdW5jdGlvbiBzdGVw
MygpCiAgICAgewotICAgICAgICBmdW5jdGlvbiBmb3JtYXQocmVjb3JkKSB7CisgICAgICAgIGZ1
bmN0aW9uIGZvcm1hdChyZWNvcmQpCisgICAgICAgIHsKICAgICAgICAgICAgIGlmIChyZWNvcmQu
dHlwZSA9PT0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lQWdlbnQuUmVjb3JkVHlwZS5FdmFsdWF0ZVNj
cmlwdCkKICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LnByaW50VGltZWxpbmVSZWNvcmRQ
cm9wZXJ0aWVzKHJlY29yZCk7Ci0gICAgICAgICAgICBlbHNlIGlmIChyZWNvcmQudHlwZSA9PT0g
V2ViSW5zcGVjdG9yLlRpbWVsaW5lQWdlbnQuUmVjb3JkVHlwZS5QYXJzZUhUTUwpCisgICAgICAg
ICAgICBlbHNlIGlmIChyZWNvcmQudHlwZSA9PT0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lQWdlbnQu
UmVjb3JkVHlwZS5QYXJzZUhUTUwpIHsKKyAgICAgICAgICAgICAgICB2YXIgY2hpbGRyZW4gPSBb
XTsKKyAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJlY29yZC5jaGlsZHJlbi5s
ZW5ndGg7ICsraSkgeworICAgICAgICAgICAgICAgICAgICBpZiAocmVjb3JkLmNoaWxkcmVuW2ld
LnR5cGUgIT09IFdlYkluc3BlY3Rvci5UaW1lbGluZUFnZW50LlJlY29yZFR5cGUuUmVjYWxjdWxh
dGVTdHlsZXMpCisgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbi5wdXNoKHJlY29yZC5j
aGlsZHJlbltpXSk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIHJlY29yZC5j
aGlsZHJlbiA9IGNoaWxkcmVuOwogICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZHVtcFRp
bWVsaW5lUmVjb3JkKHJlY29yZCk7CisgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICAgICAg
SW5zcGVjdG9yVGVzdC5wcmludFRpbWVsaW5lUmVjb3JkcyhudWxsLCBmb3JtYXQpOwogICAgICAg
ICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwo=
</data>
<flag name="review"
          id="114790"
          type_id="1"
          status="+"
          setter="yurys"
    />
          </attachment>
      

    </bug>

</bugzilla>