<?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>137676</bug_id>
          
          <creation_ts>2014-10-13 15:25:55 -0700</creation_ts>
          <short_desc>Crash in WebCore::UserGestureIndicator::processingUserGesture with WebWorkers</short_desc>
          <delta_ts>2014-10-14 14:02:24 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore JavaScript</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dean Jackson">dino</reporter>
          <assigned_to name="Dean Jackson">dino</assigned_to>
          <cc>aboxhall</cc>
    
    <cc>apinheiro</cc>
    
    <cc>ap</cc>
    
    <cc>cfleizach</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>japhet</cc>
    
    <cc>jcraig</cc>
    
    <cc>jdiggs</cc>
    
    <cc>kangil.han</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>mario</cc>
    
    <cc>samuel_white</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1041377</commentid>
    <comment_count>0</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2014-10-13 15:25:55 -0700</bug_when>
    <thetext>Crash in WebCore::UserGestureIndicator::processingUserGesture with WebWorkers</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1041387</commentid>
    <comment_count>1</comment_count>
      <attachid>239753</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2014-10-13 15:39:29 -0700</bug_when>
    <thetext>Created attachment 239753
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1041393</commentid>
    <comment_count>2</comment_count>
      <attachid>239753</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-10-13 15:48:03 -0700</bug_when>
    <thetext>Comment on attachment 239753
Patch

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

Can a regression test be added for this?

I&apos;m concerned that this is not right when there are multiple pages served by one process - interacting with one tab doesn&apos;t mean that we interacted with another.

&gt; Source/WebCore/loader/FrameLoader.cpp:1862
&gt; +    if (m_frame.isMainFrame())
&gt; +        UserGestureIndicator::resetLastUserGestureTimestamp();

Did you check that this code runs when doing a cached back/forward load?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1041473</commentid>
    <comment_count>3</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-10-13 23:10:44 -0700</bug_when>
    <thetext>&lt;rdar://problem/15735049&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1041483</commentid>
    <comment_count>4</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-10-13 23:54:00 -0700</bug_when>
    <thetext>&gt; Can a regression test be added for this?

OK, so it looks like the answer is no, and that&apos;s because the crash was already fixed, probably in &lt;http://trac.webkit.org/changeset/152238&gt;, which was then polished in &lt;http://trac.webkit.org/changeset/159198&gt;.

ScriptController::processingUserGesture() and UserGestureIndicator::processingUserGesture() are now very simple functions that can&apos;t crash.

I still think that much of the refactoring done in this patch is needed - the code inEventTarget::fireEventListeners() is quite incorrect. Dispatching any arbitrary event shouldn&apos;t result in calling resetLastHandledUserGestureTimestamp(), as most events are not user gestures.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1041655</commentid>
    <comment_count>5</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2014-10-14 12:41:06 -0700</bug_when>
    <thetext>(In reply to comment #2)

&gt; &gt; Source/WebCore/loader/FrameLoader.cpp:1862
&gt; &gt; +    if (m_frame.isMainFrame())
&gt; &gt; +        UserGestureIndicator::resetLastUserGestureTimestamp();
&gt; 
&gt; Did you check that this code runs when doing a cached back/forward load?

In the refactored patch (about to be posted) we don&apos;t actually care about this any more.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1041656</commentid>
    <comment_count>6</comment_count>
      <attachid>239818</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2014-10-14 12:43:51 -0700</bug_when>
    <thetext>Created attachment 239818
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1041659</commentid>
    <comment_count>7</comment_count>
      <attachid>239818</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-10-14 12:53:47 -0700</bug_when>
    <thetext>Comment on attachment 239818
Patch

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

Looks good to me. Please wait to EWS to agree :)

&gt; Source/WebCore/dom/UserGestureIndicator.h:46
&gt; +    WEBCORE_EXPORT explicit UserGestureIndicator(ProcessingUserGestureState, Document* = nullptr);

Maybe add a comment here, explaining that latest user event timestamp is updated in the document if provided?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1041670</commentid>
    <comment_count>8</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2014-10-14 13:36:13 -0700</bug_when>
    <thetext>Seems like this might be failing as a result: fast/dom/remove-body-during-body-replacement2.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1041674</commentid>
    <comment_count>9</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-10-14 13:45:29 -0700</bug_when>
    <thetext>Actually, fast/dom/remove-body-during-body-replacement2.html regressed with r174637. And fast/hidpi/image-srcset-relative-svg-canvas.html has been very flaky on EWS recently (but not on regular bots).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1041677</commentid>
    <comment_count>10</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2014-10-14 13:58:31 -0700</bug_when>
    <thetext>Great!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1041679</commentid>
    <comment_count>11</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2014-10-14 14:02:24 -0700</bug_when>
    <thetext>Committed r174700: &lt;http://trac.webkit.org/changeset/174700&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>239753</attachid>
            <date>2014-10-13 15:39:29 -0700</date>
            <delta_ts>2014-10-14 12:43:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-137676-20141014093932.patch</filename>
            <type>text/plain</type>
            <size>11211</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc0NjU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWYwNjQ2ZWUzNDYxNTZi
NWM0ODA1OTYzMDBmODIwNWE2MGQ2OTg1YS4uNDRiYjk3MTczN2M4NzY0ZTI3YTY0YjhmZmVhN2Yy
ZjQ1MjkzNDIyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDE0LTEwLTEzICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBDcmFzaCBpbiBXZWJDb3JlOjpV
c2VyR2VzdHVyZUluZGljYXRvcjo6cHJvY2Vzc2luZ1VzZXJHZXN0dXJlIHdpdGggV2ViV29ya2Vy
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM3Njc2
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3Zl
IHRoZSBjb2RlIEkgYWRkZWQgdGhhdCB0cmFja3MgdGhlIHRpbWVzdGFtcCBvZiB0aGUgbW9zdCBy
ZWNlbnQKKyAgICAgICAgdXNlciBnZXN0dXJlIGZyb20gdGhlIGV2ZW50IGhhbmRsaW5nIGRpc3Bh
dGNoLCBhcyBpdCB3YXMgYm90aAorICAgICAgICBhIHNpbGx5IHBsYWNlIHRvIGRvIGl0IGFuZCBp
dCBjcmFzaGVkIHdoZW4gZXZlbnRzIHdlcmUgZmlyZWQgZnJvbQorICAgICAgICBXb3JrZXIgdGhy
ZWFkcy4KKworICAgICAgICBJdCdzIG5vdyByZWNvcmRlZCBpbiB0aGUgVXNlckdlc3R1cmVJbmRp
Y2F0b3IsIHdoaWNoIGlzIGdvb2QgYmVjYXVzZQorICAgICAgICBpdCBrbm93cyB3aGVuIGEgdXNl
ciBoYXMgdHJpZ2dlcmVkIGFuIGV2ZW50LCBvciBpZiB3ZSdyZSBmYWtpbmcgb25lLgorICAgICAg
ICBJdCdzIGEgc3RhdGljIG1lbWJlciBvbiB0aGUgY2xhc3MsIHNvIHdlIGhhdmUgdG8gcmVzZXQg
aXQgYXMgd2UKKyAgICAgICAgbG9hZCBhIG5ldyBkb2N1bWVudCBpbnRvIHRoZSBtYWluIGZyYW1l
IChvdGhlcndpc2UgYW4gaW5jb21pbmcgcGFnZQorICAgICAgICBtaWdodCBzdGlsbCBiZSByZW1l
bWJlcmluZyB0aGUgY2xpY2sgb24gdGhlIGxpbmsgdGhhdCB0cmlnZ2VyZWQgdGhlCisgICAgICAg
IG5hdmlnYXRpb24pLgorCisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDogUmVtb3ZlIHRoZSBt
X2xhc3RIYW5kbGVkVXNlckdlc3R1cmVUaW1lc3RhbXAgc3R1ZmYuCisgICAgICAgIChXZWJDb3Jl
OjpEb2N1bWVudDo6RG9jdW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnJlc2V0
TGFzdEhhbmRsZWRVc2VyR2VzdHVyZVRpbWVzdGFtcCk6IERlbGV0ZWQuCisgICAgICAgICogZG9t
L0RvY3VtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6bGFzdEhhbmRsZWRVc2Vy
R2VzdHVyZVRpbWVzdGFtcCk6IERlbGV0ZWQuCisKKyAgICAgICAgKiBkb20vRXZlbnRUYXJnZXQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRUYXJnZXQ6OmZpcmVFdmVudExpc3RlbmVycyk6
IERvbid0IHJlY29yZCB0aGUgdGltZXN0YW1wCisgICAgICAgIGhlcmUgYW55IG1vcmUuCisKKyAg
ICAgICAgKiBkb20vVXNlckdlc3R1cmVJbmRpY2F0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
VXNlckdlc3R1cmVJbmRpY2F0b3I6OlVzZXJHZXN0dXJlSW5kaWNhdG9yKTogUmVjb3JkIHRoZSB0
aW1lc3RhbXAKKyAgICAgICAgaWYgdGhpcyByZWFsbHkgaXMgYSB1c2VyIGdlc3R1cmUuCisgICAg
ICAgICogZG9tL1VzZXJHZXN0dXJlSW5kaWNhdG9yLmg6IEFkZCB0aGUgdGltZXN0YW1wIHJlY29y
ZGVyIGFuZCBhY2Nlc3MuCisgICAgICAgIChXZWJDb3JlOjpVc2VyR2VzdHVyZUluZGljYXRvcjo6
bGFzdFVzZXJHZXN0dXJlVGltZXN0YW1wKToKKyAgICAgICAgKFdlYkNvcmU6OlVzZXJHZXN0dXJl
SW5kaWNhdG9yOjpyZXNldExhc3RVc2VyR2VzdHVyZVRpbWVzdGFtcCk6CisKKyAgICAgICAgKiBo
dG1sL0hUTUxQbHVnSW5JbWFnZUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6aGFkUmVj
ZW50VXNlckdlc3R1cmUpOiBSZW5hbWVkIGZyb20gZG9jdW1lbnRIYWRSZWNlbnRVc2VyR2VzdHVy
ZSwgYW5kIG5vdworICAgICAgICB1c2VzIFVzZXJHZXN0dXJlSW5kaWNhdG9yLgorICAgICAgICAo
V2ViQ29yZTo6SFRNTFBsdWdJbkltYWdlRWxlbWVudDo6Y2hlY2tTaXplQ2hhbmdlRm9yU25hcHNo
b3R0aW5nKTogQ2FsbCB0aGUgbmV3IG5hbWUuCisgICAgICAgIChXZWJDb3JlOjpIVE1MUGx1Z0lu
SW1hZ2VFbGVtZW50OjpzdWJmcmFtZUxvYWRlcldpbGxDcmVhdGVQbHVnSW4pOiBEaXR0by4KKyAg
ICAgICAgKFdlYkNvcmU6OmRvY3VtZW50SGFkUmVjZW50VXNlckdlc3R1cmUpOiBEZWxldGVkLgor
CisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZy
YW1lTG9hZGVyOjpjb21taXRQcm92aXNpb25hbExvYWQpOiBSZXNldCB0aGUgdGltZXN0YW1wIGlm
IHRoaXMgaXMKKyAgICAgICAgdGhlIG1haW4gZnJhbWUuCisKIDIwMTQtMTAtMTMgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBVc2UgaXM8PigpIC8gZG93bmNhc3Q8
PigpIGZvciBGaWx0ZXIgLyBGaWx0ZXJPcGVyYXRpb24gc3ViY2xhc3NlcwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5jcHAKaW5kZXggZWUzYTU3MDUwNzhlZjkwOTM0ODU4YjYwYjVlMDFjMzYwZjEyYjhlYS4u
MTY3YjM4YmZmYThiYzIyNDFiMjlhNWI2N2ZkZGNlZDI0NjM1NjZhYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnQuY3BwCkBAIC00ODcsNyArNDg3LDYgQEAgRG9jdW1lbnQ6OkRvY3VtZW50KEZyYW1lKiBm
cmFtZSwgY29uc3QgVVJMJiB1cmwsIHVuc2lnbmVkIGRvY3VtZW50Q2xhc3NlcywgdW5zaWcKICAg
ICAsIG1fd3JpdGVSZWN1cnNpb25Jc1Rvb0RlZXAoZmFsc2UpCiAgICAgLCBtX3dyaXRlUmVjdXJz
aW9uRGVwdGgoMCkKICAgICAsIG1fd2hlZWxFdmVudEhhbmRsZXJDb3VudCgwKQotICAgICwgbV9s
YXN0SGFuZGxlZFVzZXJHZXN0dXJlVGltZXN0YW1wKDApCiAjaWYgUExBVEZPUk0oSU9TKQogI2lm
IEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCiAgICAgLCBtX2RldmljZU1vdGlvbkNsaWVudChz
dGQ6Om1ha2VfdW5pcXVlPERldmljZU1vdGlvbkNsaWVudElPUz4oKSkKQEAgLTU5MTAsMTEgKzU5
MDksNiBAQCB2b2lkIERvY3VtZW50OjpkaWRSZW1vdmVFdmVudFRhcmdldE5vZGUoTm9kZSogaGFu
ZGxlcikKIH0KICNlbmRpZgogCi12b2lkIERvY3VtZW50OjpyZXNldExhc3RIYW5kbGVkVXNlckdl
c3R1cmVUaW1lc3RhbXAoKQotewotICAgIG1fbGFzdEhhbmRsZWRVc2VyR2VzdHVyZVRpbWVzdGFt
cCA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwotfQotCiBEb2N1bWVudExvYWRlciog
RG9jdW1lbnQ6OmxvYWRlcigpIGNvbnN0CiB7CiAgICAgaWYgKCFtX2ZyYW1lKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnQuaAppbmRleCA2YmRjMDYyMGI0Njc0MGQxYTIwZTBjNmYzNWZlZTRkYzZiNjRhY2JkLi5k
ODU4N2UwZDI4MGJmZTY5ZjIxY2U2N2M4N2FjYTJiNzAwNWMwYTI4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1l
bnQuaApAQCAtMTIwMSw5ICsxMjAxLDYgQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIHZv
aWQgZGlkQWRkV2hlZWxFdmVudEhhbmRsZXIoKTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGRp
ZFJlbW92ZVdoZWVsRXZlbnRIYW5kbGVyKCk7CiAKLSAgICBkb3VibGUgbGFzdEhhbmRsZWRVc2Vy
R2VzdHVyZVRpbWVzdGFtcCgpIGNvbnN0IHsgcmV0dXJuIG1fbGFzdEhhbmRsZWRVc2VyR2VzdHVy
ZVRpbWVzdGFtcDsgfQotICAgIHZvaWQgcmVzZXRMYXN0SGFuZGxlZFVzZXJHZXN0dXJlVGltZXN0
YW1wKCk7Ci0KICNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQogICAgIGJvb2wgaGFzVG91Y2hFdmVu
dEhhbmRsZXJzKCkgY29uc3QgeyByZXR1cm4gKG1fdG91Y2hFdmVudFRhcmdldHMuZ2V0KCkpID8g
bV90b3VjaEV2ZW50VGFyZ2V0cy0+c2l6ZSgpIDogZmFsc2U7IH0KICNlbHNlCkBAIC0xNjIyLDgg
KzE2MTksNiBAQCBwcml2YXRlOgogICAgIHN0ZDo6dW5pcXVlX3B0cjxUb3VjaEV2ZW50VGFyZ2V0
U2V0PiBtX3RvdWNoRXZlbnRUYXJnZXRzOwogI2VuZGlmCiAKLSAgICBkb3VibGUgbV9sYXN0SGFu
ZGxlZFVzZXJHZXN0dXJlVGltZXN0YW1wOwotCiAjaWYgRU5BQkxFKFJFUVVFU1RfQU5JTUFUSU9O
X0ZSQU1FKQogICAgIHZvaWQgY2xlYXJTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIoKTsKICAg
ICBSZWZQdHI8U2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyPiBtX3NjcmlwdGVkQW5pbWF0aW9u
Q29udHJvbGxlcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuY3BwCmluZGV4IDk4OWY1MDI2MWY2
MTUxZjljNjMxNmUwZjk2OGE0Zjg3YzA5NGFlMmYuLjg0NjJmZWQyMDc5NjA3MThjYTU0OGIxMDll
ZDlhN2Y1MjgwYjk4MzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdl
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmNwcApAQCAtMjEzLDcg
KzIxMyw2IEBAIHZvaWQgRXZlbnRUYXJnZXQ6OmZpcmVFdmVudExpc3RlbmVycyhFdmVudCogZXZl
bnQsIEV2ZW50VGFyZ2V0RGF0YSogZCwgRXZlbnRMaXN0CiAgICAgLy8gQWxzbywgZG9uJ3QgZmly
ZSBldmVudCBsaXN0ZW5lcnMgYWRkZWQgZHVyaW5nIGV2ZW50IGRpc3BhdGNoLiBDb252ZW5pZW50
bHksIGFsbCBuZXcgZXZlbnQgbGlzdGVuZXJzIHdpbGwgYmUgYWRkZWQKICAgICAvLyBhZnRlciBv
ciBhdCBpbmRleCB8c2l6ZXwsIHNvIGl0ZXJhdGluZyB1cCB0byAoYnV0IG5vdCBpbmNsdWRpbmcp
IHxzaXplfCBuYXR1cmFsbHkgZXhjbHVkZXMgbmV3IGV2ZW50IGxpc3RlbmVycy4KIAotICAgIGJv
b2wgdXNlckV2ZW50V2FzSGFuZGxlZCA9IGZhbHNlOwogICAgIHNpemVfdCBpID0gMDsKICAgICBz
aXplX3Qgc2l6ZSA9IGVudHJ5LnNpemUoKTsKICAgICBpZiAoIWQtPmZpcmluZ0V2ZW50SXRlcmF0
b3JzKQpAQCAtMjQ0LDEzICsyNDMsOSBAQCB2b2lkIEV2ZW50VGFyZ2V0OjpmaXJlRXZlbnRMaXN0
ZW5lcnMoRXZlbnQqIGV2ZW50LCBFdmVudFRhcmdldERhdGEqIGQsIEV2ZW50TGlzdAogICAgICAg
ICAvLyBUbyBtYXRjaCBNb3ppbGxhLCB0aGUgQVRfVEFSR0VUIHBoYXNlIGZpcmVzIGJvdGggY2Fw
dHVyaW5nIGFuZCBidWJibGluZwogICAgICAgICAvLyBldmVudCBsaXN0ZW5lcnMsIGV2ZW4gdGhv
dWdoIHRoYXQgdmlvbGF0ZXMgc29tZSB2ZXJzaW9ucyBvZiB0aGUgRE9NIHNwZWMuCiAgICAgICAg
IHJlZ2lzdGVyZWRMaXN0ZW5lci5saXN0ZW5lci0+aGFuZGxlRXZlbnQoY29udGV4dCwgZXZlbnQp
OwotICAgICAgICBpZiAoIXVzZXJFdmVudFdhc0hhbmRsZWQgJiYgU2NyaXB0Q29udHJvbGxlcjo6
cHJvY2Vzc2luZ1VzZXJHZXN0dXJlKCkpCi0gICAgICAgICAgICB1c2VyRXZlbnRXYXNIYW5kbGVk
ID0gdHJ1ZTsKICAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRIYW5kbGVFdmVu
dChjb29raWUpOwogICAgIH0KICAgICBkLT5maXJpbmdFdmVudEl0ZXJhdG9ycy0+cmVtb3ZlTGFz
dCgpOwotICAgIGlmICh1c2VyRXZlbnRXYXNIYW5kbGVkICYmIGRvY3VtZW50KQotICAgICAgICBk
b2N1bWVudC0+cmVzZXRMYXN0SGFuZGxlZFVzZXJHZXN0dXJlVGltZXN0YW1wKCk7CiAKICAgICBp
ZiAoZG9jdW1lbnQpCiAgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkRGlzcGF0
Y2hFdmVudCh3aWxsRGlzcGF0Y2hFdmVudENvb2tpZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vVXNlckdlc3R1cmVJbmRpY2F0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1Vz
ZXJHZXN0dXJlSW5kaWNhdG9yLmNwcAppbmRleCA1ZmQyMGI2Yzc3ZmYyOGQzZTNmODZlN2ZlMjI5
MGFlYWNmYzk2ODM4Li5jMTNkYTVkNjI5ZjJkNThmOWM2OThlOGY3MjQyYWJlNjdkMzM3YTI2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vVXNlckdlc3R1cmVJbmRpY2F0b3IuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Vc2VyR2VzdHVyZUluZGljYXRvci5jcHAKQEAgLTI2LDYg
KzI2LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJVc2VyR2VzdHVyZUluZGlj
YXRvci5oIgogCisjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CiAjaW5jbHVkZSA8d3RmL01h
aW5UaHJlYWQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMzcsNiArMzgsOCBAQCBzdGF0
aWMgYm9vbCBpc0RlZmluaXRlKFByb2Nlc3NpbmdVc2VyR2VzdHVyZVN0YXRlIHN0YXRlKQogCiBQ
cm9jZXNzaW5nVXNlckdlc3R1cmVTdGF0ZSBVc2VyR2VzdHVyZUluZGljYXRvcjo6c19zdGF0ZSA9
IERlZmluaXRlbHlOb3RQcm9jZXNzaW5nVXNlckdlc3R1cmU7CiAKK2RvdWJsZSBVc2VyR2VzdHVy
ZUluZGljYXRvcjo6c19sYXN0VXNlckdlc3R1cmVUaW1lc3RhbXAgPSAwOworCiBVc2VyR2VzdHVy
ZUluZGljYXRvcjo6VXNlckdlc3R1cmVJbmRpY2F0b3IoUHJvY2Vzc2luZ1VzZXJHZXN0dXJlU3Rh
dGUgc3RhdGUpCiAgICAgOiBtX3ByZXZpb3VzU3RhdGUoc19zdGF0ZSkKIHsKQEAgLTQ3LDYgKzUw
LDkgQEAgVXNlckdlc3R1cmVJbmRpY2F0b3I6OlVzZXJHZXN0dXJlSW5kaWNhdG9yKFByb2Nlc3Np
bmdVc2VyR2VzdHVyZVN0YXRlIHN0YXRlKQogICAgIGlmIChpc0RlZmluaXRlKHN0YXRlKSkKICAg
ICAgICAgc19zdGF0ZSA9IHN0YXRlOwogICAgIEFTU0VSVChpc0RlZmluaXRlKHNfc3RhdGUpKTsK
KworICAgIGlmIChzX3N0YXRlID09IERlZmluaXRlbHlQcm9jZXNzaW5nVXNlckdlc3R1cmUpCisg
ICAgICAgIHNfbGFzdFVzZXJHZXN0dXJlVGltZXN0YW1wID0gbW9ub3RvbmljYWxseUluY3JlYXNp
bmdUaW1lKCk7CiB9CiAKIFVzZXJHZXN0dXJlSW5kaWNhdG9yOjp+VXNlckdlc3R1cmVJbmRpY2F0
b3IoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1VzZXJHZXN0dXJlSW5kaWNhdG9y
LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vVXNlckdlc3R1cmVJbmRpY2F0b3IuaAppbmRleCAzNTVj
YTY5ZDI5MjAzZDJmZmY2ZTU1M2M5NDAwOWRlYmI4YzQ4Y2QyLi4xN2NkMGUwZDI3ZjMwMGFlOTc0
ZjUxMzMxNDBkMTE3MmUyYmI1YzBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vVXNl
ckdlc3R1cmVJbmRpY2F0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vVXNlckdlc3R1cmVJ
bmRpY2F0b3IuaApAQCAtNDAsNiArNDAsOCBAQCBjbGFzcyBVc2VyR2VzdHVyZUluZGljYXRvciB7
CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVXNlckdlc3R1cmVJbmRpY2F0b3IpOwogcHVibGlj
OgogICAgIHN0YXRpYyBib29sIHByb2Nlc3NpbmdVc2VyR2VzdHVyZSgpOworICAgIHN0YXRpYyBk
b3VibGUgbGFzdFVzZXJHZXN0dXJlVGltZXN0YW1wKCkgeyByZXR1cm4gc19sYXN0VXNlckdlc3R1
cmVUaW1lc3RhbXA7IH0KKyAgICBzdGF0aWMgdm9pZCByZXNldExhc3RVc2VyR2VzdHVyZVRpbWVz
dGFtcCgpIHsgc19sYXN0VXNlckdlc3R1cmVUaW1lc3RhbXAgPSAwOyB9CiAKICAgICBXRUJDT1JF
X0VYUE9SVCBleHBsaWNpdCBVc2VyR2VzdHVyZUluZGljYXRvcihQcm9jZXNzaW5nVXNlckdlc3R1
cmVTdGF0ZSk7CiAgICAgV0VCQ09SRV9FWFBPUlQgflVzZXJHZXN0dXJlSW5kaWNhdG9yKCk7CkBA
IC00Nyw2ICs0OSw3IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICBXRUJDT1JFX0VYUE9SVCBz
dGF0aWMgUHJvY2Vzc2luZ1VzZXJHZXN0dXJlU3RhdGUgc19zdGF0ZTsKKyAgICBzdGF0aWMgZG91
YmxlIHNfbGFzdFVzZXJHZXN0dXJlVGltZXN0YW1wOwogICAgIFByb2Nlc3NpbmdVc2VyR2VzdHVy
ZVN0YXRlIG1fcHJldmlvdXNTdGF0ZTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTFBsdWdJbkltYWdlRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxQbHVnSW5JbWFnZUVsZW1lbnQuY3BwCmluZGV4IDQwZmEwZGY4MDQ2MzNhZWM5ZGVkZjY5NmMw
NTY4NzJmNzE1YmZhYzUuLjhmYzQ5MDMzMzllYWRlODlkMTBhNWFmYjU5ODBmYTQwMjQ5NjcxNDAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkltYWdlRWxlbWVudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luSW1hZ2VFbGVtZW50LmNwcApA
QCAtNTAsNiArNTAsNyBAQAogI2luY2x1ZGUgIlNoYWRvd1Jvb3QuaCIKICNpbmNsdWRlICJTdHls
ZVJlc29sdmVyLmgiCiAjaW5jbHVkZSAiU3ViZnJhbWVMb2FkZXIuaCIKKyNpbmNsdWRlICJVc2Vy
R2VzdHVyZUluZGljYXRvci5oIgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0FQSUNhc3QuaD4K
ICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1h
cC5oPgpAQCAtNTIxLDEyICs1MjIsOSBAQCB2b2lkIEhUTUxQbHVnSW5JbWFnZUVsZW1lbnQ6OnNp
bXVsYXRlZE1vdXNlQ2xpY2tUaW1lckZpcmVkKCkKICAgICBtX3BlbmRpbmdDbGlja0V2ZW50RnJv
bVNuYXBzaG90ID0gbnVsbHB0cjsKIH0KIAotc3RhdGljIGJvb2wgZG9jdW1lbnRIYWRSZWNlbnRV
c2VyR2VzdHVyZShEb2N1bWVudCYgZG9jdW1lbnQpCitzdGF0aWMgYm9vbCBoYWRSZWNlbnRVc2Vy
R2VzdHVyZSgpCiB7Ci0gICAgZG91YmxlIGxhc3RLbm93blVzZXJHZXN0dXJlVGltZXN0YW1wID0g
ZG9jdW1lbnQubGFzdEhhbmRsZWRVc2VyR2VzdHVyZVRpbWVzdGFtcCgpOwotCi0gICAgaWYgKGRv
Y3VtZW50LmZyYW1lKCkgIT0gJmRvY3VtZW50LnBhZ2UoKS0+bWFpbkZyYW1lKCkgJiYgZG9jdW1l
bnQucGFnZSgpLT5tYWluRnJhbWUoKS5kb2N1bWVudCgpKQotICAgICAgICBsYXN0S25vd25Vc2Vy
R2VzdHVyZVRpbWVzdGFtcCA9IHN0ZDo6bWF4KGxhc3RLbm93blVzZXJHZXN0dXJlVGltZXN0YW1w
LCBkb2N1bWVudC5wYWdlKCktPm1haW5GcmFtZSgpLmRvY3VtZW50KCktPmxhc3RIYW5kbGVkVXNl
ckdlc3R1cmVUaW1lc3RhbXAoKSk7CisgICAgZG91YmxlIGxhc3RLbm93blVzZXJHZXN0dXJlVGlt
ZXN0YW1wID0gVXNlckdlc3R1cmVJbmRpY2F0b3I6Omxhc3RVc2VyR2VzdHVyZVRpbWVzdGFtcCgp
OwogCiAgICAgaWYgKG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpIC0gbGFzdEtub3duVXNl
ckdlc3R1cmVUaW1lc3RhbXAgPCBhdXRvc3RhcnRTb29uQWZ0ZXJVc2VyR2VzdHVyZVRocmVzaG9s
ZCkKICAgICAgICAgcmV0dXJuIHRydWU7CkBAIC01MzYsNyArNTM0LDcgQEAgc3RhdGljIGJvb2wg
ZG9jdW1lbnRIYWRSZWNlbnRVc2VyR2VzdHVyZShEb2N1bWVudCYgZG9jdW1lbnQpCiAKIHZvaWQg
SFRNTFBsdWdJbkltYWdlRWxlbWVudDo6Y2hlY2tTaXplQ2hhbmdlRm9yU25hcHNob3R0aW5nKCkK
IHsKLSAgICBpZiAoIW1fbmVlZHNDaGVja0ZvclNpemVDaGFuZ2UgfHwgbV9zbmFwc2hvdERlY2lz
aW9uICE9IE1heVNuYXBzaG90V2hlblJlc2l6ZWQgfHwgZG9jdW1lbnRIYWRSZWNlbnRVc2VyR2Vz
dHVyZShkb2N1bWVudCgpKSkKKyAgICBpZiAoIW1fbmVlZHNDaGVja0ZvclNpemVDaGFuZ2UgfHwg
bV9zbmFwc2hvdERlY2lzaW9uICE9IE1heVNuYXBzaG90V2hlblJlc2l6ZWQgfHwgaGFkUmVjZW50
VXNlckdlc3R1cmUoKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgbV9uZWVkc0NoZWNrRm9yU2l6
ZUNoYW5nZSA9IGZhbHNlOwpAQCAtNjYyLDcgKzY2MCw3IEBAIHZvaWQgSFRNTFBsdWdJbkltYWdl
RWxlbWVudDo6c3ViZnJhbWVMb2FkZXJXaWxsQ3JlYXRlUGx1Z0luKGNvbnN0IFVSTCYgdXJsKQog
ICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgaWYgKGRvY3VtZW50SGFkUmVjZW50VXNlckdl
c3R1cmUoZG9jdW1lbnQoKSkpIHsKKyAgICBpZiAoaGFkUmVjZW50VXNlckdlc3R1cmUoKSkgewog
ICAgICAgICBMT0coUGx1Z2lucywgIiVwIFBsdWctaW4gd2FzIGNyZWF0ZWQgc2hvcnRseSBhZnRl
ciBhIHVzZXIgZ2VzdHVyZSwgc2V0IHRvIHBsYXkiLCB0aGlzKTsKICAgICAgICAgbV9zbmFwc2hv
dERlY2lzaW9uID0gTmV2ZXJTbmFwc2hvdDsKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9GcmFtZUxvYWRlci5jcHAKaW5kZXggMjRkZDI4YWU0YTAzMWZjMzU3YmU0MzNiNDNlY2U2
ZTIxNjMzOGQ3Ni4uNzRlNjhjOTczNzVjN2E5ZTg2MzUwNGQzNWFiZjI4MWJhNzQ4YTEzYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCkBAIC0xMTMsNiArMTEzLDcgQEAKICNp
bmNsdWRlICJTZXR0aW5ncy5oIgogI2luY2x1ZGUgIlN1YmZyYW1lTG9hZGVyLmgiCiAjaW5jbHVk
ZSAiVGV4dFJlc291cmNlRGVjb2Rlci5oIgorI2luY2x1ZGUgIlVzZXJHZXN0dXJlSW5kaWNhdG9y
LmgiCiAjaW5jbHVkZSAiV2luZG93RmVhdHVyZXMuaCIKICNpbmNsdWRlICJYTUxEb2N1bWVudFBh
cnNlci5oIgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgpAQCAtMTg1Niw2ICsxODU3LDkg
QEAgdm9pZCBGcmFtZUxvYWRlcjo6Y29tbWl0UHJvdmlzaW9uYWxMb2FkKCkKICAgICAgICAgLy8g
RklYTUU6IFdoeSBvbmx5IHRoaXMgZnJhbWUgYW5kIG5vdCBwYXJlbnQgZnJhbWVzPwogICAgICAg
ICBjaGVja0xvYWRDb21wbGV0ZUZvclRoaXNGcmFtZSgpOwogICAgIH0KKworICAgIGlmIChtX2Zy
YW1lLmlzTWFpbkZyYW1lKCkpCisgICAgICAgIFVzZXJHZXN0dXJlSW5kaWNhdG9yOjpyZXNldExh
c3RVc2VyR2VzdHVyZVRpbWVzdGFtcCgpOwogfQogCiB2b2lkIEZyYW1lTG9hZGVyOjp0cmFuc2l0
aW9uVG9Db21taXR0ZWQoQ2FjaGVkUGFnZSogY2FjaGVkUGFnZSkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>239818</attachid>
            <date>2014-10-14 12:43:51 -0700</date>
            <delta_ts>2014-10-14 12:53:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-137676-20141015064355.patch</filename>
            <type>text/plain</type>
            <size>14395</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc0NjU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWYwNjQ2ZWUzNDYxNTZi
NWM0ODA1OTYzMDBmODIwNWE2MGQ2OTg1YS4uODcyNDFlZWY0NDgxZTg4OTdiYjMwYTg1MjQ2ZTM2
YmEzZGYxYTc2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU2IEBACisyMDE0LTEwLTE0ICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBDcmFzaCBpbiBXZWJDb3JlOjpV
c2VyR2VzdHVyZUluZGljYXRvcjo6cHJvY2Vzc2luZ1VzZXJHZXN0dXJlIHdpdGggV2ViV29ya2Vy
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM3Njc2
CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xNTczNTA0OT4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW1vdmUgdGhlIGNvZGUgSSBhZGRlZCB0aGF0
IHRyYWNrcyB0aGUgdGltZXN0YW1wIG9mIHRoZSBtb3N0IHJlY2VudAorICAgICAgICB1c2VyIGdl
c3R1cmUgZnJvbSB0aGUgZXZlbnQgaGFuZGxpbmcgZGlzcGF0Y2gsIGFzIGl0IHdhcyBib3RoCisg
ICAgICAgIGEgc2lsbHkgcGxhY2UgdG8gZG8gaXQgYW5kIGl0IG9yaWdpbmFsbHkgY3Jhc2hlZCB3
aGVuIGV2ZW50cyB3ZXJlIGZpcmVkIGZyb20KKyAgICAgICAgV29ya2VyIHRocmVhZHMgKGFsdGhv
dWdoIHRoaXMgd2FzIGZpeGVkIGluIHIxNTIyMzgpLgorCisgICAgICAgIEl0J3Mgbm93IHJlY29y
ZGVkIGJ5IGdvaW5nIHRocm91Z2ggVXNlckdlc3R1cmVJbmRpY2F0b3IsIHdoaWNoIGlzIGdvb2Qg
YmVjYXVzZQorICAgICAgICBpdCBrbm93cyB3aGVuIGEgdXNlciBoYXMgdHJpZ2dlcmVkIGFuIGV2
ZW50LiBJdHMgY29uc3RydWN0b3Igbm93IHRha2VzCisgICAgICAgIGEgcG9pbnRlciB0byBEb2N1
bWVudCwgYW5kIHVwZGF0ZXMgdGhlIHRpbWVzdGFtcCB0aGVyZSBpZiBuZWNlc3NhcnkuCisKKyAg
ICAgICAgTm90IGFsbCBVc2VyR2VzdHVyZUluZGljYXRvciBpbnN0YW5jZXMgbmVlZGVkIHRvIHJl
c2V0IHRoZSB0aW1lc3RhbXA7IFRob3NlIGRpZAorICAgICAgICBub3QgaGF2ZSB0byBwYXNzIGFs
b25nIHRoZSBEb2N1bWVudC4KKworICAgICAgICBUaGlzIGlzIHVudGVzdGFibGUgZHVlIHRvIHRo
ZSBmaXggbWVudGlvbmVkIGFib3ZlLgorCisgICAgICAgICogV2ViQ29yZS5leHAuaW46IENoYW5n
ZSBjb25zdHJ1Y3RvciBzaWduYXR1cmUuCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlOb2RlT2JqZWN0LmNwcDogUGFzcyBhIHBvaW50ZXIgdG8gdGhlIERvY3VtZW50IGlu
dG8gdGhlIFVzZXJHZXN0dXJlSW5kaWNhdG9yLgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJp
bGl0eU5vZGVPYmplY3Q6OmluY3JlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmls
aXR5Tm9kZU9iamVjdDo6ZGVjcmVtZW50KToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlPYmplY3QuY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxp
dHlPYmplY3Q6OnByZXNzKToKKworICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpEb2N1bWVudDo6dXBkYXRlTGFzdEhhbmRsZWRVc2VyR2VzdHVyZVRpbWVzdGFt
cCk6IFJlbmFtZWQuCisgICAgICAgICogZG9tL0RvY3VtZW50Lmg6CisKKyAgICAgICAgKiBkb20v
RXZlbnRUYXJnZXQuY3BwOiBSZW1vdmUgdGhlIGNvZGUgdG8gdXBkYXRlIHRoZSB0aW1lc3RhbXAu
CisgICAgICAgIChXZWJDb3JlOjpFdmVudFRhcmdldDo6ZmlyZUV2ZW50TGlzdGVuZXJzKToKKwor
ICAgICAgICAqIGRvbS9Vc2VyR2VzdHVyZUluZGljYXRvci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpVc2VyR2VzdHVyZUluZGljYXRvcjo6VXNlckdlc3R1cmVJbmRpY2F0b3IpOiBJZiB0aGVyZSBp
cyBhIERvY3VtZW50IGFuZAorICAgICAgICB0aGlzIGlzIGEgdXNlciBnZXN0dXJlLCB0aGVuIHJl
c2V0IHRoZSB0aW1lc3RhbXAuCisgICAgICAgICogZG9tL1VzZXJHZXN0dXJlSW5kaWNhdG9yLmg6
CisKKyAgICAgICAgKiBwYWdlL0V2ZW50SGFuZGxlci5jcHA6IFBhc3MgYSBwb2ludGVyIHRvIHRo
ZSBEb2N1bWVudC4KKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VQ
cmVzc0V2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VE
b3VibGVDbGlja0V2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6aGFuZGxl
TW91c2VSZWxlYXNlRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjprZXlF
dmVudCk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OmhhbmRsZVRvdWNoRXZlbnQp
OgorCisgICAgICAgICogcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuY3BwOiBEaXR0by4KKyAgICAg
ICAgKFdlYkNvcmU6OkhpdFRlc3RSZXN1bHQ6OnRvZ2dsZU1lZGlhRnVsbHNjcmVlblN0YXRlKToK
KyAgICAgICAgKFdlYkNvcmU6OkhpdFRlc3RSZXN1bHQ6OmVudGVyRnVsbHNjcmVlbkZvclZpZGVv
KToKKwogMjAxNC0xMC0xMyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAg
ICAgIFVzZSBpczw+KCkgLyBkb3duY2FzdDw+KCkgZm9yIEZpbHRlciAvIEZpbHRlck9wZXJhdGlv
biBzdWJjbGFzc2VzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbiBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4IDUxYjRjNmMzZmMyNjQ5ZmFiMTdi
YzI5MTM3M2U2Nzc5YWE5OWZhNTMuLmQxNTQxMzFkMmNmMWIyMjAwNzBiNDExMzE2MzA1MzgxYzY3
MTRmOWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC04OTAsNyArODkwLDcgQEAgX19aTjdXZWJD
b3JlMjBSZXNvdXJjZVJlc3BvbnNlQmFzZUMyRXYKIF9fWk43V2ViQ29yZTIwVHJhbnNmb3JtYXRp
b25NYXRyaXg1c2NhbGVFZAogX19aTjdXZWJDb3JlMjBUcmFuc2Zvcm1hdGlvbk1hdHJpeDl0cmFu
c2xhdGVFZGQKIF9fWk43V2ViQ29yZTIwVXNlckdlc3R1cmVJbmRpY2F0b3I3c19zdGF0ZUUKLV9f
Wk43V2ViQ29yZTIwVXNlckdlc3R1cmVJbmRpY2F0b3JDMUVOU18yNlByb2Nlc3NpbmdVc2VyR2Vz
dHVyZVN0YXRlRQorX19aTjdXZWJDb3JlMjBVc2VyR2VzdHVyZUluZGljYXRvckMxRU5TXzI2UHJv
Y2Vzc2luZ1VzZXJHZXN0dXJlU3RhdGVFUE5TXzhEb2N1bWVudEUKIF9fWk43V2ViQ29yZTIwVXNl
ckdlc3R1cmVJbmRpY2F0b3JEMUV2CiBfX1pON1dlYkNvcmUyMGRlbGV0ZUVtcHR5RGlyZWN0b3J5
RVJLTjNXVEY2U3RyaW5nRQogX19aTjdXZWJDb3JlMjBsb29rc0xpa2VBYnNvbHV0ZVVSTEVQOE5T
U3RyaW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2li
aWxpdHlOb2RlT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNz
aWJpbGl0eU5vZGVPYmplY3QuY3BwCmluZGV4IDI5MGU1YmViMTJjM2U1NGI1NTM3YjA3MDFiYjc5
ZTgyZTU3ZTYzMGIuLmIzYTJiMDUxOTY3MGE2M2I3MmFkMThjMGYzYmE2Njc0Y2IyZjM4NTMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVP
YmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0
eU5vZGVPYmplY3QuY3BwCkBAIC0xMDc2LDEzICsxMDc2LDEzIEBAIHZvaWQgQWNjZXNzaWJpbGl0
eU5vZGVPYmplY3Q6OmFsdGVyU2xpZGVyVmFsdWUoYm9vbCBpbmNyZWFzZSkKICAgICAKIHZvaWQg
QWNjZXNzaWJpbGl0eU5vZGVPYmplY3Q6OmluY3JlbWVudCgpCiB7Ci0gICAgVXNlckdlc3R1cmVJ
bmRpY2F0b3IgZ2VzdHVyZUluZGljYXRvcihEZWZpbml0ZWx5UHJvY2Vzc2luZ1VzZXJHZXN0dXJl
KTsKKyAgICBVc2VyR2VzdHVyZUluZGljYXRvciBnZXN0dXJlSW5kaWNhdG9yKERlZmluaXRlbHlQ
cm9jZXNzaW5nVXNlckdlc3R1cmUsIGRvY3VtZW50KCkpOwogICAgIGFsdGVyU2xpZGVyVmFsdWUo
dHJ1ZSk7CiB9CiAKIHZvaWQgQWNjZXNzaWJpbGl0eU5vZGVPYmplY3Q6OmRlY3JlbWVudCgpCiB7
Ci0gICAgVXNlckdlc3R1cmVJbmRpY2F0b3IgZ2VzdHVyZUluZGljYXRvcihEZWZpbml0ZWx5UHJv
Y2Vzc2luZ1VzZXJHZXN0dXJlKTsKKyAgICBVc2VyR2VzdHVyZUluZGljYXRvciBnZXN0dXJlSW5k
aWNhdG9yKERlZmluaXRlbHlQcm9jZXNzaW5nVXNlckdlc3R1cmUsIGRvY3VtZW50KCkpOwogICAg
IGFsdGVyU2xpZGVyVmFsdWUoZmFsc2UpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcAppbmRleCAyYjE5MTlhNmI1YzM1
MDVkMzAzOGQyYjc2OTNhNzJiMmRkOGUyNzJlLi5lNDdiYTk0OThmMzBhNjlmYzlmZWQ3ZjlmYzZm
MzFiMGY5ZTFiMDIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
QWNjZXNzaWJpbGl0eU9iamVjdC5jcHAKQEAgLTg0NSw3ICs4NDUsOCBAQCBib29sIEFjY2Vzc2li
aWxpdHlPYmplY3Q6OnByZXNzKCkKICAgICAvLyBIaXQgdGVzdCBhdCB0aGlzIGxvY2F0aW9uIHRv
IGRldGVybWluZSBpZiB0aGVyZSBpcyBhIHN1Yi1ub2RlIGVsZW1lbnQgdGhhdCBzaG91bGQgYWN0
CiAgICAgLy8gYXMgdGhlIHRhcmdldCBvZiB0aGUgYWN0aW9uLgogICAgIEVsZW1lbnQqIGhpdFRl
c3RFbGVtZW50ID0gbnVsbHB0cjsKLSAgICBpZiAoRG9jdW1lbnQqIGRvY3VtZW50ID0gdGhpcy0+
ZG9jdW1lbnQoKSkgeworICAgIERvY3VtZW50KiBkb2N1bWVudCA9IHRoaXMtPmRvY3VtZW50KCk7
CisgICAgaWYgKGRvY3VtZW50KSB7CiAgICAgICAgIEhpdFRlc3RSZXF1ZXN0IHJlcXVlc3QoSGl0
VGVzdFJlcXVlc3Q6OlJlYWRPbmx5IHwgSGl0VGVzdFJlcXVlc3Q6OkFjdGl2ZSB8IEhpdFRlc3RS
ZXF1ZXN0OjpBY2Nlc3NpYmlsaXR5SGl0VGVzdCk7CiAgICAgICAgIEhpdFRlc3RSZXN1bHQgaGl0
VGVzdFJlc3VsdChjbGlja1BvaW50KCkpOwogICAgICAgICBkb2N1bWVudC0+cmVuZGVyVmlldygp
LT5oaXRUZXN0KHJlcXVlc3QsIGhpdFRlc3RSZXN1bHQpOwpAQCAtODY2LDcgKzg2Nyw3IEBAIGJv
b2wgQWNjZXNzaWJpbGl0eU9iamVjdDo6cHJlc3MoKQogICAgIGlmIChoaXRUZXN0RWxlbWVudCAm
JiBoaXRUZXN0RWxlbWVudC0+aXNEZXNjZW5kYW50T2YocHJlc3NFbGVtZW50KSkKICAgICAgICAg
cHJlc3NFbGVtZW50ID0gaGl0VGVzdEVsZW1lbnQ7CiAgICAgCi0gICAgVXNlckdlc3R1cmVJbmRp
Y2F0b3IgZ2VzdHVyZUluZGljYXRvcihEZWZpbml0ZWx5UHJvY2Vzc2luZ1VzZXJHZXN0dXJlKTsK
KyAgICBVc2VyR2VzdHVyZUluZGljYXRvciBnZXN0dXJlSW5kaWNhdG9yKERlZmluaXRlbHlQcm9j
ZXNzaW5nVXNlckdlc3R1cmUsIGRvY3VtZW50KTsKICAgICBwcmVzc0VsZW1lbnQtPmFjY2Vzc0tl
eUFjdGlvbih0cnVlKTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3Bw
CmluZGV4IGVlM2E1NzA1MDc4ZWY5MDkzNDg1OGI2MGI1ZTAxYzM2MGYxMmI4ZWEuLjk2ODQzN2Mx
OTNmZDJmNTEwOWVmZWU3OTlmMWQ2ZDNhODczZmRjMWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNw
cApAQCAtNTkwOSw4ICs1OTA5LDcgQEAgdm9pZCBEb2N1bWVudDo6ZGlkUmVtb3ZlRXZlbnRUYXJn
ZXROb2RlKE5vZGUqIGhhbmRsZXIpCiAgICAgfQogfQogI2VuZGlmCi0KLXZvaWQgRG9jdW1lbnQ6
OnJlc2V0TGFzdEhhbmRsZWRVc2VyR2VzdHVyZVRpbWVzdGFtcCgpCit2b2lkIERvY3VtZW50Ojp1
cGRhdGVMYXN0SGFuZGxlZFVzZXJHZXN0dXJlVGltZXN0YW1wKCkKIHsKICAgICBtX2xhc3RIYW5k
bGVkVXNlckdlc3R1cmVUaW1lc3RhbXAgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIvU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXggNmJkYzA2MjBiNDY3NDBkMWEyMGUwYzZmMzVmZWU0
ZGM2YjY0YWNiZC4uZDIzNmIyZTQ1ZDY0ZDRmMmNlNzUxMjA0OGIwZGJkYWExN2I2YTE3YyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmgKQEAgLTEyMDIsNyArMTIwMiw3IEBAIHB1YmxpYzoKICAgICBXRUJD
T1JFX0VYUE9SVCB2b2lkIGRpZFJlbW92ZVdoZWVsRXZlbnRIYW5kbGVyKCk7CiAKICAgICBkb3Vi
bGUgbGFzdEhhbmRsZWRVc2VyR2VzdHVyZVRpbWVzdGFtcCgpIGNvbnN0IHsgcmV0dXJuIG1fbGFz
dEhhbmRsZWRVc2VyR2VzdHVyZVRpbWVzdGFtcDsgfQotICAgIHZvaWQgcmVzZXRMYXN0SGFuZGxl
ZFVzZXJHZXN0dXJlVGltZXN0YW1wKCk7CisgICAgdm9pZCB1cGRhdGVMYXN0SGFuZGxlZFVzZXJH
ZXN0dXJlVGltZXN0YW1wKCk7CiAKICNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQogICAgIGJvb2wg
aGFzVG91Y2hFdmVudEhhbmRsZXJzKCkgY29uc3QgeyByZXR1cm4gKG1fdG91Y2hFdmVudFRhcmdl
dHMuZ2V0KCkpID8gbV90b3VjaEV2ZW50VGFyZ2V0cy0+c2l6ZSgpIDogZmFsc2U7IH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vRXZlbnRUYXJnZXQuY3BwCmluZGV4IDk4OWY1MDI2MWY2MTUxZjljNjMxNmUwZjk2OGE0
Zjg3YzA5NGFlMmYuLjg0NjJmZWQyMDc5NjA3MThjYTU0OGIxMDllZDlhN2Y1MjgwYjk4MzYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmNwcApAQCAtMjEzLDcgKzIxMyw2IEBAIHZvaWQgRXZl
bnRUYXJnZXQ6OmZpcmVFdmVudExpc3RlbmVycyhFdmVudCogZXZlbnQsIEV2ZW50VGFyZ2V0RGF0
YSogZCwgRXZlbnRMaXN0CiAgICAgLy8gQWxzbywgZG9uJ3QgZmlyZSBldmVudCBsaXN0ZW5lcnMg
YWRkZWQgZHVyaW5nIGV2ZW50IGRpc3BhdGNoLiBDb252ZW5pZW50bHksIGFsbCBuZXcgZXZlbnQg
bGlzdGVuZXJzIHdpbGwgYmUgYWRkZWQKICAgICAvLyBhZnRlciBvciBhdCBpbmRleCB8c2l6ZXws
IHNvIGl0ZXJhdGluZyB1cCB0byAoYnV0IG5vdCBpbmNsdWRpbmcpIHxzaXplfCBuYXR1cmFsbHkg
ZXhjbHVkZXMgbmV3IGV2ZW50IGxpc3RlbmVycy4KIAotICAgIGJvb2wgdXNlckV2ZW50V2FzSGFu
ZGxlZCA9IGZhbHNlOwogICAgIHNpemVfdCBpID0gMDsKICAgICBzaXplX3Qgc2l6ZSA9IGVudHJ5
LnNpemUoKTsKICAgICBpZiAoIWQtPmZpcmluZ0V2ZW50SXRlcmF0b3JzKQpAQCAtMjQ0LDEzICsy
NDMsOSBAQCB2b2lkIEV2ZW50VGFyZ2V0OjpmaXJlRXZlbnRMaXN0ZW5lcnMoRXZlbnQqIGV2ZW50
LCBFdmVudFRhcmdldERhdGEqIGQsIEV2ZW50TGlzdAogICAgICAgICAvLyBUbyBtYXRjaCBNb3pp
bGxhLCB0aGUgQVRfVEFSR0VUIHBoYXNlIGZpcmVzIGJvdGggY2FwdHVyaW5nIGFuZCBidWJibGlu
ZwogICAgICAgICAvLyBldmVudCBsaXN0ZW5lcnMsIGV2ZW4gdGhvdWdoIHRoYXQgdmlvbGF0ZXMg
c29tZSB2ZXJzaW9ucyBvZiB0aGUgRE9NIHNwZWMuCiAgICAgICAgIHJlZ2lzdGVyZWRMaXN0ZW5l
ci5saXN0ZW5lci0+aGFuZGxlRXZlbnQoY29udGV4dCwgZXZlbnQpOwotICAgICAgICBpZiAoIXVz
ZXJFdmVudFdhc0hhbmRsZWQgJiYgU2NyaXB0Q29udHJvbGxlcjo6cHJvY2Vzc2luZ1VzZXJHZXN0
dXJlKCkpCi0gICAgICAgICAgICB1c2VyRXZlbnRXYXNIYW5kbGVkID0gdHJ1ZTsKICAgICAgICAg
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRIYW5kbGVFdmVudChjb29raWUpOwogICAgIH0K
ICAgICBkLT5maXJpbmdFdmVudEl0ZXJhdG9ycy0+cmVtb3ZlTGFzdCgpOwotICAgIGlmICh1c2Vy
RXZlbnRXYXNIYW5kbGVkICYmIGRvY3VtZW50KQotICAgICAgICBkb2N1bWVudC0+cmVzZXRMYXN0
SGFuZGxlZFVzZXJHZXN0dXJlVGltZXN0YW1wKCk7CiAKICAgICBpZiAoZG9jdW1lbnQpCiAgICAg
ICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkRGlzcGF0Y2hFdmVudCh3aWxsRGlzcGF0
Y2hFdmVudENvb2tpZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vVXNlckdlc3R1
cmVJbmRpY2F0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1VzZXJHZXN0dXJlSW5kaWNhdG9y
LmNwcAppbmRleCA1ZmQyMGI2Yzc3ZmYyOGQzZTNmODZlN2ZlMjI5MGFlYWNmYzk2ODM4Li4xNTEz
NGUzMzkwYWU1MzdmZmQ0MTQzYjIyNWRkZWUxMTYwY2I4ZTc0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vVXNlckdlc3R1cmVJbmRpY2F0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Vc2VyR2VzdHVyZUluZGljYXRvci5jcHAKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRl
ICJjb25maWcuaCIKICNpbmNsdWRlICJVc2VyR2VzdHVyZUluZGljYXRvci5oIgogCisjaW5jbHVk
ZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CkBAIC0zNyw3ICszOCw3IEBAIHN0YXRpYyBib29sIGlzRGVmaW5pdGUoUHJvY2Vz
c2luZ1VzZXJHZXN0dXJlU3RhdGUgc3RhdGUpCiAKIFByb2Nlc3NpbmdVc2VyR2VzdHVyZVN0YXRl
IFVzZXJHZXN0dXJlSW5kaWNhdG9yOjpzX3N0YXRlID0gRGVmaW5pdGVseU5vdFByb2Nlc3NpbmdV
c2VyR2VzdHVyZTsKIAotVXNlckdlc3R1cmVJbmRpY2F0b3I6OlVzZXJHZXN0dXJlSW5kaWNhdG9y
KFByb2Nlc3NpbmdVc2VyR2VzdHVyZVN0YXRlIHN0YXRlKQorVXNlckdlc3R1cmVJbmRpY2F0b3I6
OlVzZXJHZXN0dXJlSW5kaWNhdG9yKFByb2Nlc3NpbmdVc2VyR2VzdHVyZVN0YXRlIHN0YXRlLCBE
b2N1bWVudCogZG9jdW1lbnQpCiAgICAgOiBtX3ByZXZpb3VzU3RhdGUoc19zdGF0ZSkKIHsKICAg
ICAvLyBTaWxlbnRseSBpZ25vcmUgVXNlckdlc3R1cmVJbmRpY2F0b3JzIG9uIG5vbiBtYWluIHRo
cmVhZHMuCkBAIC00Nyw2ICs0OCw5IEBAIFVzZXJHZXN0dXJlSW5kaWNhdG9yOjpVc2VyR2VzdHVy
ZUluZGljYXRvcihQcm9jZXNzaW5nVXNlckdlc3R1cmVTdGF0ZSBzdGF0ZSkKICAgICBpZiAoaXNE
ZWZpbml0ZShzdGF0ZSkpCiAgICAgICAgIHNfc3RhdGUgPSBzdGF0ZTsKICAgICBBU1NFUlQoaXNE
ZWZpbml0ZShzX3N0YXRlKSk7CisKKyAgICBpZiAoZG9jdW1lbnQgJiYgc19zdGF0ZSA9PSBEZWZp
bml0ZWx5UHJvY2Vzc2luZ1VzZXJHZXN0dXJlKQorICAgICAgICBkb2N1bWVudC0+dG9wRG9jdW1l
bnQoKS51cGRhdGVMYXN0SGFuZGxlZFVzZXJHZXN0dXJlVGltZXN0YW1wKCk7CiB9CiAKIFVzZXJH
ZXN0dXJlSW5kaWNhdG9yOjp+VXNlckdlc3R1cmVJbmRpY2F0b3IoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZG9tL1VzZXJHZXN0dXJlSW5kaWNhdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9k
b20vVXNlckdlc3R1cmVJbmRpY2F0b3IuaAppbmRleCAzNTVjYTY5ZDI5MjAzZDJmZmY2ZTU1M2M5
NDAwOWRlYmI4YzQ4Y2QyLi44NWE0YzY4MDE3MzM2OTQyOWUwZDA3ZmNkMDRkYWFlZmYxOTE1ZDhk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vVXNlckdlc3R1cmVJbmRpY2F0b3IuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vVXNlckdlc3R1cmVJbmRpY2F0b3IuaApAQCAtMzAsNiAr
MzAsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIERvY3VtZW50OworCiBlbnVt
IFByb2Nlc3NpbmdVc2VyR2VzdHVyZVN0YXRlIHsKICAgICBEZWZpbml0ZWx5UHJvY2Vzc2luZ1Vz
ZXJHZXN0dXJlLAogICAgIFBvc3NpYmx5UHJvY2Vzc2luZ1VzZXJHZXN0dXJlLApAQCAtNDEsMTAg
KzQzLDkgQEAgY2xhc3MgVXNlckdlc3R1cmVJbmRpY2F0b3IgewogcHVibGljOgogICAgIHN0YXRp
YyBib29sIHByb2Nlc3NpbmdVc2VyR2VzdHVyZSgpOwogCi0gICAgV0VCQ09SRV9FWFBPUlQgZXhw
bGljaXQgVXNlckdlc3R1cmVJbmRpY2F0b3IoUHJvY2Vzc2luZ1VzZXJHZXN0dXJlU3RhdGUpOwor
ICAgIFdFQkNPUkVfRVhQT1JUIGV4cGxpY2l0IFVzZXJHZXN0dXJlSW5kaWNhdG9yKFByb2Nlc3Np
bmdVc2VyR2VzdHVyZVN0YXRlLCBEb2N1bWVudCogPSBudWxscHRyKTsKICAgICBXRUJDT1JFX0VY
UE9SVCB+VXNlckdlc3R1cmVJbmRpY2F0b3IoKTsKIAotCiBwcml2YXRlOgogICAgIFdFQkNPUkVf
RVhQT1JUIHN0YXRpYyBQcm9jZXNzaW5nVXNlckdlc3R1cmVTdGF0ZSBzX3N0YXRlOwogICAgIFBy
b2Nlc3NpbmdVc2VyR2VzdHVyZVN0YXRlIG1fcHJldmlvdXNTdGF0ZTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RXZlbnRIYW5kbGVyLmNwcAppbmRleCA2NjFlYTU5ZjAwMTA3MTJjODc2MzQ2OWM2ZjkzM2E5ZTg0
YjJmNGE4Li45OTU4YTAzYzI4NWRkMDkyMmY0YzZjODgzZmZhMWQ4NDNhNzU1OThhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCkBAIC0xNjUzLDcgKzE2NTMsNyBAQCBib29sIEV2
ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VQcmVzc0V2ZW50KGNvbnN0IFBsYXRmb3JtTW91c2VFdmVu
dCYgcGxhdGZvcm1Nb3VzZQogICAgICAgICByZXR1cm4gdHJ1ZTsKICNlbmRpZgogCi0gICAgVXNl
ckdlc3R1cmVJbmRpY2F0b3IgZ2VzdHVyZUluZGljYXRvcihEZWZpbml0ZWx5UHJvY2Vzc2luZ1Vz
ZXJHZXN0dXJlKTsKKyAgICBVc2VyR2VzdHVyZUluZGljYXRvciBnZXN0dXJlSW5kaWNhdG9yKERl
ZmluaXRlbHlQcm9jZXNzaW5nVXNlckdlc3R1cmUsIG1fZnJhbWUuZG9jdW1lbnQoKSk7CiAKICAg
ICAvLyBGSVhNRSAoYnVnIDY4MTg1KTogdGhpcyBjYWxsIHNob3VsZCBiZSBtYWRlIGF0IGFub3Ro
ZXIgYWJzdHJhY3Rpb24gbGF5ZXIKICAgICBtX2ZyYW1lLmxvYWRlcigpLnJlc2V0TXVsdGlwbGVG
b3JtU3VibWlzc2lvblByb3RlY3Rpb24oKTsKQEAgLTE3OTAsNyArMTc5MCw3IEBAIGJvb2wgRXZl
bnRIYW5kbGVyOjpoYW5kbGVNb3VzZURvdWJsZUNsaWNrRXZlbnQoY29uc3QgUGxhdGZvcm1Nb3Vz
ZUV2ZW50JiBwbGF0Zm9yCiAKICAgICBtX2ZyYW1lLnNlbGVjdGlvbigpLnNldENhcmV0Qmxpbmtp
bmdTdXNwZW5kZWQoZmFsc2UpOwogCi0gICAgVXNlckdlc3R1cmVJbmRpY2F0b3IgZ2VzdHVyZUlu
ZGljYXRvcihEZWZpbml0ZWx5UHJvY2Vzc2luZ1VzZXJHZXN0dXJlKTsKKyAgICBVc2VyR2VzdHVy
ZUluZGljYXRvciBnZXN0dXJlSW5kaWNhdG9yKERlZmluaXRlbHlQcm9jZXNzaW5nVXNlckdlc3R1
cmUsIG1fZnJhbWUuZG9jdW1lbnQoKSk7CiAKICAgICAvLyBXZSBnZXQgdGhpcyBpbnN0ZWFkIG9m
IGEgc2Vjb25kIG1vdXNlLXVwIAogICAgIG1fbW91c2VQcmVzc2VkID0gZmFsc2U7CkBAIC0yMDM1
LDcgKzIwMzUsNyBAQCBib29sIEV2ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VSZWxlYXNlRXZlbnQo
Y29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50JiBwbGF0Zm9ybU1vdQogICAgICAgICByZXR1cm4gdHJ1
ZTsKICNlbmRpZgogCi0gICAgVXNlckdlc3R1cmVJbmRpY2F0b3IgZ2VzdHVyZUluZGljYXRvcihE
ZWZpbml0ZWx5UHJvY2Vzc2luZ1VzZXJHZXN0dXJlKTsKKyAgICBVc2VyR2VzdHVyZUluZGljYXRv
ciBnZXN0dXJlSW5kaWNhdG9yKERlZmluaXRlbHlQcm9jZXNzaW5nVXNlckdlc3R1cmUsIG1fZnJh
bWUuZG9jdW1lbnQoKSk7CiAKICNpZiBFTkFCTEUoUEFOX1NDUk9MTElORykKICAgICBtX2F1dG9z
Y3JvbGxDb250cm9sbGVyLT5oYW5kbGVNb3VzZVJlbGVhc2VFdmVudChwbGF0Zm9ybU1vdXNlRXZl
bnQpOwpAQCAtMzA3MSw3ICszMDcxLDcgQEAgYm9vbCBFdmVudEhhbmRsZXI6OmtleUV2ZW50KGNv
bnN0IFBsYXRmb3JtS2V5Ym9hcmRFdmVudCYgaW5pdGlhbEtleUV2ZW50KQogICAgIGlmICghZWxl
bWVudCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgVXNlckdlc3R1cmVJbmRpY2F0b3Ig
Z2VzdHVyZUluZGljYXRvcihEZWZpbml0ZWx5UHJvY2Vzc2luZ1VzZXJHZXN0dXJlKTsKKyAgICBV
c2VyR2VzdHVyZUluZGljYXRvciBnZXN0dXJlSW5kaWNhdG9yKERlZmluaXRlbHlQcm9jZXNzaW5n
VXNlckdlc3R1cmUsIG1fZnJhbWUuZG9jdW1lbnQoKSk7CiAgICAgVXNlclR5cGluZ0dlc3R1cmVJ
bmRpY2F0b3IgdHlwaW5nR2VzdHVyZUluZGljYXRvcihtX2ZyYW1lKTsKIAogICAgIGlmIChGcmFt
ZVZpZXcqIHZpZXcgPSBtX2ZyYW1lLnZpZXcoKSkKQEAgLTM3OTksNyArMzc5OSw3IEBAIGJvb2wg
RXZlbnRIYW5kbGVyOjpoYW5kbGVUb3VjaEV2ZW50KGNvbnN0IFBsYXRmb3JtVG91Y2hFdmVudCYg
ZXZlbnQpCiAKICAgICBjb25zdCBWZWN0b3I8UGxhdGZvcm1Ub3VjaFBvaW50PiYgcG9pbnRzID0g
ZXZlbnQudG91Y2hQb2ludHMoKTsKIAotICAgIFVzZXJHZXN0dXJlSW5kaWNhdG9yIGdlc3R1cmVJ
bmRpY2F0b3IoRGVmaW5pdGVseVByb2Nlc3NpbmdVc2VyR2VzdHVyZSk7CisgICAgVXNlckdlc3R1
cmVJbmRpY2F0b3IgZ2VzdHVyZUluZGljYXRvcihEZWZpbml0ZWx5UHJvY2Vzc2luZ1VzZXJHZXN0
dXJlLCBtX2ZyYW1lLmRvY3VtZW50KCkpOwogCiAgICAgdW5zaWduZWQgaTsKICAgICBib29sIGZy
ZXNoVG91Y2hFdmVudHMgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL0hpdFRlc3RSZXN1bHQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RS
ZXN1bHQuY3BwCmluZGV4IDZiNWMxZjIyNzRhZmQyZDVlOTZlYWY5M2U5MWI4YzFmN2FkMjM5YTYu
LjgwNTk4MjU0OTNjMGRmMzg4NDZjNTQyOGIwNDcwYzVkZTNmMjc0YWYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0UmVzdWx0LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5jcHAKQEAgLTQxNCw3ICs0MTQsNyBAQCB2b2lk
IEhpdFRlc3RSZXN1bHQ6OnRvZ2dsZU1lZGlhRnVsbHNjcmVlblN0YXRlKCkgY29uc3QKICNpZiBF
TkFCTEUoVklERU8pCiAgICAgaWYgKEhUTUxNZWRpYUVsZW1lbnQqIG1lZGlhRWxlbWVudCA9IHRo
aXMtPm1lZGlhRWxlbWVudCgpKSB7CiAgICAgICAgIGlmIChtZWRpYUVsZW1lbnQtPmlzVmlkZW8o
KSAmJiBtZWRpYUVsZW1lbnQtPnN1cHBvcnRzRnVsbHNjcmVlbigpKSB7Ci0gICAgICAgICAgICBV
c2VyR2VzdHVyZUluZGljYXRvciBpbmRpY2F0b3IoRGVmaW5pdGVseVByb2Nlc3NpbmdVc2VyR2Vz
dHVyZSk7CisgICAgICAgICAgICBVc2VyR2VzdHVyZUluZGljYXRvciBpbmRpY2F0b3IoRGVmaW5p
dGVseVByb2Nlc3NpbmdVc2VyR2VzdHVyZSwgJm1lZGlhRWxlbWVudC0+ZG9jdW1lbnQoKSk7CiAg
ICAgICAgICAgICBtZWRpYUVsZW1lbnQtPnRvZ2dsZUZ1bGxzY3JlZW5TdGF0ZSgpOwogICAgICAg
ICB9CiAgICAgfQpAQCAtNDI4LDcgKzQyOCw3IEBAIHZvaWQgSGl0VGVzdFJlc3VsdDo6ZW50ZXJG
dWxsc2NyZWVuRm9yVmlkZW8oKSBjb25zdAogICAgIGlmIChpczxIVE1MVmlkZW9FbGVtZW50Piht
ZWRpYUVsZW1lbnQpKSB7CiAgICAgICAgIEhUTUxWaWRlb0VsZW1lbnQmIHZpZGVvRWxlbWVudCA9
IGRvd25jYXN0PEhUTUxWaWRlb0VsZW1lbnQ+KCptZWRpYUVsZW1lbnQpOwogICAgICAgICBpZiAo
IXZpZGVvRWxlbWVudC5pc0Z1bGxzY3JlZW4oKSAmJiBtZWRpYUVsZW1lbnQtPnN1cHBvcnRzRnVs
bHNjcmVlbigpKSB7Ci0gICAgICAgICAgICBVc2VyR2VzdHVyZUluZGljYXRvciBpbmRpY2F0b3Io
RGVmaW5pdGVseVByb2Nlc3NpbmdVc2VyR2VzdHVyZSk7CisgICAgICAgICAgICBVc2VyR2VzdHVy
ZUluZGljYXRvciBpbmRpY2F0b3IoRGVmaW5pdGVseVByb2Nlc3NpbmdVc2VyR2VzdHVyZSwgJm1l
ZGlhRWxlbWVudC0+ZG9jdW1lbnQoKSk7CiAgICAgICAgICAgICB2aWRlb0VsZW1lbnQuZW50ZXJG
dWxsc2NyZWVuKCk7CiAgICAgICAgIH0KICAgICB9Cg==
</data>
<flag name="review"
          id="264561"
          type_id="1"
          status="+"
          setter="ap"
    />
          </attachment>
      

    </bug>

</bugzilla>