<?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>204697</bug_id>
          
          <creation_ts>2019-11-29 02:16:07 -0800</creation_ts>
          <short_desc>[Web Animations] Forward-filling animations should not schedule updates while filling</short_desc>
          <delta_ts>2019-11-30 10:55:20 -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>Animations</component>
          <version>WebKit 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>
          <dependson>204709</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Antoine Quint">graouts</reporter>
          <assigned_to name="Antoine Quint">graouts</assigned_to>
          <cc>aakash_jain</cc>
    
    <cc>ap</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>webkit-bot-watchers-bugzilla</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1594156</commentid>
    <comment_count>0</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2019-11-29 02:16:07 -0800</bug_when>
    <thetext>[Web Animations] Forward-filling animations should not schedule updates while filling</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1594160</commentid>
    <comment_count>1</comment_count>
      <attachid>384493</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2019-11-29 02:36:11 -0800</bug_when>
    <thetext>Created attachment 384493
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1594224</commentid>
    <comment_count>2</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2019-11-29 10:11:43 -0800</bug_when>
    <thetext>Committed r252944: &lt;https://trac.webkit.org/changeset/252944&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1594225</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-11-29 10:12:19 -0800</bug_when>
    <thetext>&lt;rdar://problem/57534005&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1594248</commentid>
    <comment_count>4</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2019-11-29 13:34:45 -0800</bug_when>
    <thetext>(In reply to Antoine Quint from comment #2)
&gt; Committed r252944: &lt;https://trac.webkit.org/changeset/252944&gt;
This broke Windows build with the error: 
WebAnimation.cpp(1325): warning C4715: &apos;WebCore::WebAnimation::timeToNextTick&apos;: not all control paths return a value

e.g.: https://build.webkit.org/builders/Apple%20Win%2010%20Release%20%28Build%29/builds/8702


This failure was also indicated by EWS.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1594252</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-11-29 13:50:58 -0800</bug_when>
    <thetext>Re-opened since this is blocked by bug 204709</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1594302</commentid>
    <comment_count>6</comment_count>
      <attachid>384540</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2019-11-30 04:26:13 -0800</bug_when>
    <thetext>Created attachment 384540
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1594307</commentid>
    <comment_count>7</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2019-11-30 05:11:53 -0800</bug_when>
    <thetext>Windows bots looking good with the new patch, which just adds a return clause after the switch statement in WebAnimation::timeToNextTick(). Not sure why that was required, the switch statement has a return state for all possible cases.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1594308</commentid>
    <comment_count>8</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2019-11-30 05:15:58 -0800</bug_when>
    <thetext>Committed r252957: &lt;https://trac.webkit.org/changeset/252957&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>384493</attachid>
            <date>2019-11-29 02:36:11 -0800</date>
            <delta_ts>2019-11-30 04:26:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-204697-20191129113610.patch</filename>
            <type>text/plain</type>
            <size>20359</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUyOTExCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWU5NjI1ODg1ZWZkY2Nk
ZjVkODY2YzI0Y2VmOGE3YmYyZGQ2Yjk1ZC4uN2E5NDRhN2MzM2I0Y2MyZWZiOTcyYTIxOGZhNzgy
NzY3OGYxNGIxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYzIEBACisyMDE5LTExLTI5ICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYiBBbmltYXRpb25z
XSBGb3J3YXJkLWZpbGxpbmcgYW5pbWF0aW9ucyBzaG91bGQgbm90IHNjaGVkdWxlIHVwZGF0ZXMg
d2hpbGUgZmlsbGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjA0Njk3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgVGVzdHM6IHdlYmFuaW1hdGlvbnMvbm8tc2NoZWR1bGluZy13aGlsZS1maWxsaW5nLWFj
Y2VsZXJhdGVkLmh0bWwKKyAgICAgICAgICAgICAgIHdlYmFuaW1hdGlvbnMvbm8tc2NoZWR1bGlu
Zy13aGlsZS1maWxsaW5nLW5vbi1hY2NlbGVyYXRlZC5odG1sCisKKyAgICAgICAgRm9yIHR3byBk
aWZmZXJlbnQgcmVhc29ucywgd2Ugd291bGQgY29udGludW91c2x5IHNjaGVkdWxlIHVwZGF0ZXMg
Zm9yIGFuaW1hdGlvbnMgaW4gdGhlaXIgImFmdGVyIiBwaGFzZSwgaWUuIHdoZW4gdGhleSB3b3Vs
ZCBoYXZlICJmaWxsOiBmb3J3YXJkcyIKKyAgICAgICAgYW5kIGJlIGZpbmlzaGVkLgorICAgICAg
ICAKKyAgICAgICAgSW4gdGhlIGNhc2Ugb2Ygbm9uLWFjY2VsZXJhdGVkIGFuaW1hdGlvbnMsIHRo
YXQgd2FzIGJlY2F1c2Ugd2Ugd291bGQgYWxzbyBzY2hlZHVsZSBhbiBpbW1lZGF0ZSB1cGRhdGUg
aW4gRG9jdW1lbnRUaW1lbGluZTo6c2NoZWR1bGVOZXh0VGljaygpIHByb3ZpZGVkCisgICAgICAg
IHdlIGhhZCByZWxldmFudCBhbmltYXRpb25zIHRoYXQgd2VyZW4ndCBhY2NlbGVyYXRlZC4gQnV0
IHNpbmNlIGFuaW1hdGlvbnMgaW4gdGhlaXIgImFmdGVyIiBwaGFzZSBhcmUgc3RpbGwgY29uc2lk
ZXJlZCByZWxldmFudCwgd2hpY2ggbWVhbnMgdGhhdCB0aGV5CisgICAgICAgIHdvdWxkIG92ZXJy
aWRlIHRoZSBiYXNlIHN0eWxlIHdpdGggYW4gYW5pbWF0ZWQgdmFsdWUsIHRoaXMgY2F1c2VkIHRo
ZSB1bm5lY2Vzc2FyeSBzY2hlZHVsZWQgdXBkYXRlcy4KKyAgICAgICAgCisgICAgICAgIFRvIGFk
ZHJlc3MgdGhpcywgd2UgcnVuIFdlYkFuaW1hdGlvbjo6dGltZVRvTmV4dFRpY2soKSBpbiBEb2N1
bWVudFRpbWVsaW5lOjpzY2hlZHVsZU5leHRUaWNrKCkgZm9yIGFsbCByZWxldmFudCBhbmltYXRp
b25zIGFuZCB3ZSB0ZWFjaCB0aGF0IGZ1bmN0aW9uCisgICAgICAgIHRvIHNjaGVkdWxlIGFuIGlt
bWVkaWF0ZSB1cGRhdGUgb25seSBkdXJpbmcgdGhlICJhY3RpdmUiIHBoYXNlLCBhbmQgdG8gc2No
ZWR1bGUgYSB0aW1lZCB1cGRhdGUgb25seSBpbiB0aGUgImJlZm9yZSIgcGhhc2UgY29tcHV0aW5n
IHRoZSBkZWxheSB1bnRpbAorICAgICAgICB0aGUgYW5pbWF0aW9uIGVudGVycyB0aGUgImFjdGl2
ZSIgcGhhc2UuCisKKyAgICAgICAgV2hpbGUgcGVyZm9ybWluZyB0aGlzIHdvcmssIHdlIGZvdW5k
IGEgY291cGxlIG9mIG90aGVyIGlzc3VlcyB0aGF0IHdlcmVuJ3QgYXBwYXJlbnQgdW50aWwgd2Ug
aGFkIHRoaXMgbW9yZSBlZmZpY2llbnQgc2NoZWR1bGluZyBpbiBwbGFjZS4KKyAgICAgICAgCisg
ICAgICAgIEZpcnN0LCB3ZSB3b3VsZCBub3QgYWxsb3cgYW55IGFkZGl0aW9uYWwgY2FsbHMgdG8g
RG9jdW1lbnRUaW1lbGluZTo6c2NoZWR1bGVBbmltYXRpb25SZXNvbHV0aW9uKCkgdG8gYWN0dWFs
bHkgc2NoZWR1bGUgYW4gdXBkYXRlIHdoaWxlIHdlIHdlcmUgaW4gdGhlCisgICAgICAgIHByb2Nl
c3Mgb2YgdXBkYXRpbmcgYW5pbWF0aW9ucy4gV2hpbGUgdGhpcyB3YXNuJ3QgYSBwcm9ibGVtIGJl
Zm9yZSBiZWNhdXNlIHRoZSBtZXJlIHByZXNlbmNlIG9mIHJlbGV2YW50IGFuaW1hdGlvbnMgd291
bGQgY2F1c2UgYW4gdXBhZHRlLCB3ZSBub3cgaGFkCisgICAgICAgIHRvIGFsbG93IGFueSBhbmlt
YXRpb24gY2hhbmdpbmcgdGltaW5nIHByb3BlcnRpZXMgYXMgcHJvbWlzZXMgd291bGQgcmVzb2x2
ZSBhbmQgZXZlbnRzIHdvdWxkIGJlIGRpc3BhdGNoZWQgZHVyaW5nIHRoZSBhbmltYXRpb24gdXBk
YXRlIHRvIGNhdXNlIGZ1cnRoZXIKKyAgICAgICAgYW5pbWF0aW9uIHVwZGF0ZXMgdG8gYmUgc2No
ZWR1bGVkLiBTbyB3ZSBtb3ZlZCB0aGUgIm1fYW5pbWF0aW9uUmVzb2x1dGlvblNjaGVkdWxlZCIg
ZmxhZyByZXNldCBlYXJsaWVyIGluIERvY3VtZW50VGltZWxpbmU6OnVwZGF0ZUFuaW1hdGlvbnNB
bmRTZW5kRXZlbnRzKCkKKyAgICAgICAgYmVmb3JlIHdlIGFjdHVhbGx5IHJ1biB0aGUgYW5pbWF0
aW9uIHVwZGF0ZSBwcm9jZWR1cmUuCisKKyAgICAgICAgRm9sbG93aW5nIHRoYXQgY2hhbmdlLCB3
ZSBhbHNvIGhhZCB0byBtYWtlIHN1cmUgdGhhdCB0aW1pbmcgY2hhbmdlcyBtYWRlIHRocm91Z2gg
dGhlIGV2YWx1YXRpb24gb2YgdGhlIHBlbmRpbmcgcGxheSBhbmQgcGF1c2UgdGFza3Mgd291bGQg
X25vdF8gY2F1c2UKKyAgICAgICAgYW5pbWF0aW9ucyB0byBiZSBzY2hlZHVsZWQsIHdoaWNoIG1l
YW50IHRoYXQgYW4gYW5pbWF0aW9uIHRoYXQgYmVjYW1lIG5vbi1wZW5kaW5nIChpZS4gaXRzIGZp
cnN0IHRpY2sgb2NjdXJlZCkgd291bGQgYWx3YXlzIHNjaGVkdWxlIG9uZSBpbW1lZGlhdGUKKyAg
ICAgICAgYW5pbWF0aW9uIHVwZGF0ZS4gU28gbm93IHdlIGhhdmUgYW4gZXh0cmEgInNpbGVudCIg
ZmxhZyB0byBXZWJBbmltYXRpb246OnRpbWluZ0RpZENoYW5nZSgpIHdoaWNoIGlzIG9ubHkgc2V0
IHRvIHRydWUgd2hlbiBjYWxsZWQgZnJvbSBlaXRoZXIKKyAgICAgICAgV2ViQW5pbWF0aW9uOjpy
dW5QZW5kaW5nUGxheVRhc2soKSBvciBXZWJBbmltYXRpb246OnJ1blBlbmRpbmdQYXVzZVRhc2so
KS4KKworICAgICAgICBGaW5hbGx5LCBvbmUgZXhpc3RpbmcgdGVzdCBzaG93ZWQgdGhhdCBjYWxs
aW5nIEtleWZyYW1lRWZmZWN0OjpzZXRLZXlmcmFtZXMoKSB3aGlsZSBydW5uaW5nIGFuaW1hdGlv
bnMgZGlkbid0IGNhdXNlIGFuIGFuaW1hdGlvbiB1cGRhdGUgdG8gYmUgc2NoZWR1bGVkCisgICAg
ICAgIHNpbmNlIGEgY2FsbCB0byBXZWJBbmltYXRpb246OmVmZmVjdFRpbWluZ0RpZENoYW5nZSgp
IHdhcyBsYWNraW5nLiBUaGlzIGlzIG5vdyBhZGRyZXNzZWQuCisKKyAgICAgICAgQXMgZm9yIGFj
Y2VsZXJhdGVkIGFuaW1hdGlvbnMsIHRoZSBleHRyYW5lb3VzIGFuaW1hdGlvbiBzY2hlZHVsaW5n
IG9jY3VyZWQgYmVjYXVzZSB3ZSB3b3VsZCBnZXQgaW4gYSBzdGF0ZSB3aGVyZSB3ZSB3b3VsZCBy
ZWNvcmQgYW4gImFjY2VsZXJhdGVkIGFjdGlvbiIKKyAgICAgICAgdG8gc3RvcCB0aGUgYWNjZWxl
cmF0ZWQgYW5pbWF0aW9uIGJ1dCB0aGUgYWNjZWxlcmF0ZWQgYW5pbWF0aW9uIGhhZCBhbHJlYWR5
IGNvbXBsZXRlZCBhbmQgdGhlIHJlbmRlcmVyIGZvciB0aGUgdGFyZ2V0IGVsZW1lbnQgd2FzIG5v
IGxvbmdlciBjb21wb3NpdGVkLgorICAgICAgICBUaGlzIG1lYW50IHRoYXQgS2V5ZnJhbWVFZmZl
Y3Q6OmFwcGx5UGVuZGluZ0FjY2VsZXJhdGVkQWN0aW9ucygpIHdvdWxkIG5vdCBwZXJmb3JtIGFu
eSB3b3JrIGFuZCB0aGUgcGVuZGluZyBhY2NlbGVyYXRlZCBhY3Rpb24gd291bGQgcmVtYWluIGlu
IHRoZQorICAgICAgICBEb2N1bWVudFRpbWVsaW5lIHF1ZXVlIGFuZCBjYXVzZSBhbiB1cGRhdGUg
dG8gYmUgc2NoZWR1bGVkIHRvIHRyeSBhZ2FpbiwgZW5kbGVzc2x5LgorCisgICAgICAgIFRvIGFk
ZHJlc3MgdGhhdCwgd2UgZmlyc3QgY2hlY2sgaW4gS2V5ZnJhbWVFZmZlY3Q6OmFkZFBlbmRpbmdB
Y2NlbGVyYXRlZEFjdGlvbigpIGlmIHRoZSByZWNvcmRlZCBhY3Rpb24gZGlmZmVycyBmcm9tIHRo
ZSBsYXN0IHJlY29yZGVkIGFjdGlvbiwgYXZvaWRpbmcKKyAgICAgICAgdW5uZWNlc3Nhcnkgd29y
aywgYW5kIGluIEtleWZyYW1lRWZmZWN0OjphcHBseVBlbmRpbmdBY2NlbGVyYXRlZEFjdGlvbnMo
KSwgaWYgb3VyIGxhc3QgcmVjb3JkZWQgYWN0aW9uIHdhcyAiU3RvcCIgYW5kIHRoZSByZW5kZXJl
ciB3YXMgbm90IGNvbXBvc2l0ZWQsCisgICAgICAgIHdlIGRpc2NhcmQgYWxsIHBlbmRpbmcgYWNj
ZWxlcmF0ZWQgYWN0aW9ucy4KKworICAgICAgICAqIGFuaW1hdGlvbi9Eb2N1bWVudFRpbWVsaW5l
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50VGltZWxpbmU6OnVwZGF0ZUFuaW1hdGlv
bnNBbmRTZW5kRXZlbnRzKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50VGltZWxpbmU6OnNj
aGVkdWxlTmV4dFRpY2spOgorICAgICAgICAqIGFuaW1hdGlvbi9LZXlmcmFtZUVmZmVjdC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpLZXlmcmFtZUVmZmVjdDo6c2V0S2V5ZnJhbWVzKToKKyAgICAg
ICAgKFdlYkNvcmU6OktleWZyYW1lRWZmZWN0OjphZGRQZW5kaW5nQWNjZWxlcmF0ZWRBY3Rpb24p
OgorICAgICAgICAoV2ViQ29yZTo6S2V5ZnJhbWVFZmZlY3Q6OmFwcGx5UGVuZGluZ0FjY2VsZXJh
dGVkQWN0aW9ucyk6CisgICAgICAgICogYW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpXZWJBbmltYXRpb246OnRpbWluZ0RpZENoYW5nZSk6CisgICAgICAgIChX
ZWJDb3JlOjpXZWJBbmltYXRpb246OnJ1blBlbmRpbmdQbGF5VGFzayk6CisgICAgICAgIChXZWJD
b3JlOjpXZWJBbmltYXRpb246OnJ1blBlbmRpbmdQYXVzZVRhc2spOgorICAgICAgICAoV2ViQ29y
ZTo6V2ViQW5pbWF0aW9uOjp0aW1lVG9OZXh0VGljayBjb25zdCk6CisgICAgICAgICogYW5pbWF0
aW9uL1dlYkFuaW1hdGlvbi5oOgorCiAyMDE5LTExLTI3ICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0
c0BhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTihyMjUyNDU1KTogaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50LWRpc3BhdGNoLW9uLWRpc2FibGVk
LWVsZW1lbnRzLmh0bWwgZmFpbHMgb24gaU9TIGFuZCBXSzEKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2FuaW1hdGlvbi9Eb2N1bWVudFRpbWVsaW5lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Fu
aW1hdGlvbi9Eb2N1bWVudFRpbWVsaW5lLmNwcAppbmRleCAyMGEwN2VlN2M4MWM1N2FmNjNkM2Y4
YWUxNTI5NWNmMmY1MjU5NjgwLi42MzBjMmZhNGEzZTJjNTgzNTdlMTM0OWIwZmYwNGNiMGFlYzY5
NjU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vRG9jdW1lbnRUaW1lbGlu
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0RvY3VtZW50VGltZWxpbmUuY3Bw
CkBAIC0zNTAsMTEgKzM1MCwxNSBAQCB2b2lkIERvY3VtZW50VGltZWxpbmU6OnVwZGF0ZUFuaW1h
dGlvbnNBbmRTZW5kRXZlbnRzKERPTUhpZ2hSZXNUaW1lU3RhbXAgdGltZXN0YQogICAgIGlmICht
X2lzU3VzcGVuZGVkIHx8ICFtX2FuaW1hdGlvblJlc29sdXRpb25TY2hlZHVsZWQgfHwgIXNob3Vs
ZFJ1blVwZGF0ZUFuaW1hdGlvbnNBbmRTZW5kRXZlbnRzSWdub3JpbmdTdXNwZW5zaW9uU3RhdGUo
KSkKICAgICAgICAgcmV0dXJuOwogCisgICAgLy8gVXBkYXRpbmcgYW5pbWF0aW9ucyBhbmQgc2Vu
ZGluZyBldmVudHMgbWF5IGludmFsaWRhdGUgdGhlIHRpbWluZyBvZiBzb21lIGFuaW1hdGlvbnMs
IHNvIHdlIG11c3Qgc2V0IHRoZSBtX2FuaW1hdGlvblJlc29sdXRpb25TY2hlZHVsZWQKKyAgICAv
LyBmbGFnIHRvIGZhbHNlIHByaW9yIHRvIHJ1bm5pbmcgdGhhdCBwcm9jZWR1cmUgdG8gYWxsb3cg
YW5pbWF0aW9uIHdpdGggdGltaW5nIG1vZGVsIHVwZGF0ZXMgdG8gc2NoZWR1bGUgdXBkYXRlcy4K
KyAgICBtX2FuaW1hdGlvblJlc29sdXRpb25TY2hlZHVsZWQgPSBmYWxzZTsKKwogICAgIGludGVy
bmFsVXBkYXRlQW5pbWF0aW9uc0FuZFNlbmRFdmVudHMoKTsKICAgICBhcHBseVBlbmRpbmdBY2Nl
bGVyYXRlZEFuaW1hdGlvbnMoKTsKIAotICAgIG1fYW5pbWF0aW9uUmVzb2x1dGlvblNjaGVkdWxl
ZCA9IGZhbHNlOwotICAgIHNjaGVkdWxlTmV4dFRpY2soKTsKKyAgICBpZiAoIW1fYW5pbWF0aW9u
UmVzb2x1dGlvblNjaGVkdWxlZCkKKyAgICAgICAgc2NoZWR1bGVOZXh0VGljaygpOwogfQogCiB2
b2lkIERvY3VtZW50VGltZWxpbmU6OmludGVybmFsVXBkYXRlQW5pbWF0aW9uc0FuZFNlbmRFdmVu
dHMoKQpAQCAtNTI5LDEzICs1MzMsNiBAQCB2b2lkIERvY3VtZW50VGltZWxpbmU6OnNjaGVkdWxl
TmV4dFRpY2soKQogICAgIGlmIChtX2FuaW1hdGlvbnMuaXNFbXB0eSgpKQogICAgICAgICByZXR1
cm47CiAKLSAgICBmb3IgKGNvbnN0IGF1dG8mIGFuaW1hdGlvbiA6IG1fYW5pbWF0aW9ucykgewot
ICAgICAgICBpZiAoIWFuaW1hdGlvbi0+aXNSdW5uaW5nQWNjZWxlcmF0ZWQoKSkgewotICAgICAg
ICAgICAgc2NoZWR1bGVBbmltYXRpb25SZXNvbHV0aW9uKCk7Ci0gICAgICAgICAgICByZXR1cm47
Ci0gICAgICAgIH0KLSAgICB9Ci0KICAgICBTZWNvbmRzIHNjaGVkdWxlRGVsYXkgPSBTZWNvbmRz
OjppbmZpbml0eSgpOwogCiAgICAgZm9yIChjb25zdCBhdXRvJiBhbmltYXRpb24gOiBtX2FuaW1h
dGlvbnMpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9LZXlmcmFtZUVm
ZmVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vS2V5ZnJhbWVFZmZlY3QuY3BwCmlu
ZGV4IGFmMzBkZGMyYzE2MmFlZmJlNmYwNDc2NDZhZmJlZTMzYmY5MmFkMWYuLjZmNWVkNGFkOWM2
ODkzOWY5YmEyZjAyZDdmZGEzYjY1YWM4YzlkMzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2FuaW1hdGlvbi9LZXlmcmFtZUVmZmVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0
aW9uL0tleWZyYW1lRWZmZWN0LmNwcApAQCAtNjYzLDcgKzY2MywxMCBAQCBWZWN0b3I8U3Ryb25n
PEpTT2JqZWN0Pj4gS2V5ZnJhbWVFZmZlY3Q6OmdldEtleWZyYW1lcyhKU0dsb2JhbE9iamVjdCYg
bGV4aWNhbEdsbwogCiBFeGNlcHRpb25Pcjx2b2lkPiBLZXlmcmFtZUVmZmVjdDo6c2V0S2V5ZnJh
bWVzKEpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBTdHJvbmc8SlNPYmplY3Q+
JiYga2V5ZnJhbWVzSW5wdXQpCiB7Ci0gICAgcmV0dXJuIHByb2Nlc3NLZXlmcmFtZXMobGV4aWNh
bEdsb2JhbE9iamVjdCwgV1RGTW92ZShrZXlmcmFtZXNJbnB1dCkpOworICAgIGF1dG8gcHJvY2Vz
c0tleWZyYW1lc1Jlc3VsdCA9IHByb2Nlc3NLZXlmcmFtZXMobGV4aWNhbEdsb2JhbE9iamVjdCwg
V1RGTW92ZShrZXlmcmFtZXNJbnB1dCkpOworICAgIGlmICghcHJvY2Vzc0tleWZyYW1lc1Jlc3Vs
dC5oYXNFeGNlcHRpb24oKSAmJiBhbmltYXRpb24oKSkKKyAgICAgICAgYW5pbWF0aW9uKCktPmVm
ZmVjdFRpbWluZ0RpZENoYW5nZSgpOworICAgIHJldHVybiBwcm9jZXNzS2V5ZnJhbWVzUmVzdWx0
OwogfQogCiBFeGNlcHRpb25Pcjx2b2lkPiBLZXlmcmFtZUVmZmVjdDo6cHJvY2Vzc0tleWZyYW1l
cyhKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgU3Ryb25nPEpTT2JqZWN0PiYm
IGtleWZyYW1lc0lucHV0KQpAQCAtMTM0Miw2ICsxMzQ1LDkgQEAgdm9pZCBLZXlmcmFtZUVmZmVj
dDo6dXBkYXRlQWNjZWxlcmF0ZWRBbmltYXRpb25TdGF0ZSgpCiAKIHZvaWQgS2V5ZnJhbWVFZmZl
Y3Q6OmFkZFBlbmRpbmdBY2NlbGVyYXRlZEFjdGlvbihBY2NlbGVyYXRlZEFjdGlvbiBhY3Rpb24p
CiB7CisgICAgaWYgKGFjdGlvbiA9PSBtX2xhc3RSZWNvcmRlZEFjY2VsZXJhdGVkQWN0aW9uKQor
ICAgICAgICByZXR1cm47CisKICAgICBpZiAoYWN0aW9uID09IEFjY2VsZXJhdGVkQWN0aW9uOjpT
dG9wKQogICAgICAgICBtX3BlbmRpbmdBY2NlbGVyYXRlZEFjdGlvbnMuY2xlYXIoKTsKICAgICBt
X3BlbmRpbmdBY2NlbGVyYXRlZEFjdGlvbnMuYXBwZW5kKGFjdGlvbik7CkBAIC0xMzgxLDggKzEz
ODcsMTMgQEAgdm9pZCBLZXlmcmFtZUVmZmVjdDo6YXBwbHlQZW5kaW5nQWNjZWxlcmF0ZWRBY3Rp
b25zKCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgYXV0byogcmVuZGVyZXIgPSB0aGlzLT5yZW5k
ZXJlcigpOwotICAgIGlmICghcmVuZGVyZXIgfHwgIXJlbmRlcmVyLT5pc0NvbXBvc2l0ZWQoKSkK
KyAgICBpZiAoIXJlbmRlcmVyIHx8ICFyZW5kZXJlci0+aXNDb21wb3NpdGVkKCkpIHsKKyAgICAg
ICAgLy8gVGhlIHJlbmRlcmVyIG1heSBubyBsb25nZXIgYmUgY29tcG9zaXRlZCBiZWNhdXNlIHRo
ZSBhY2NlbGVyYXRlZCBhbmltYXRpb24gZW5kZWQgYmVmb3JlIHdlIGhhZCBhIGNoYW5jZSB0byB1
cGRhdGUgaXQsCisgICAgICAgIC8vIGluIHdoaWNoIGNhc2UgaWYgd2UgYXNrZWQgZm9yIHRoZSBh
bmltYXRpb24gdG8gc3RvcCwgd2UgY2FuIGRpc2NhcmQgdGhlIGN1cnJlbnQgc2V0IG9mIGFjY2Vs
ZXJhdGVkIGFjdGlvbnMuCisgICAgICAgIGlmIChtX2xhc3RSZWNvcmRlZEFjY2VsZXJhdGVkQWN0
aW9uID09IEFjY2VsZXJhdGVkQWN0aW9uOjpTdG9wKQorICAgICAgICAgICAgbV9wZW5kaW5nQWNj
ZWxlcmF0ZWRBY3Rpb25zLmNsZWFyKCk7CiAgICAgICAgIHJldHVybjsKKyAgICB9CiAKICAgICBh
dXRvIHBlbmRpbmdBY2NlbGVyYXRlZEFjdGlvbnMgPSBtX3BlbmRpbmdBY2NlbGVyYXRlZEFjdGlv
bnM7CiAgICAgbV9wZW5kaW5nQWNjZWxlcmF0ZWRBY3Rpb25zLmNsZWFyKCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vV2ViQW5pbWF0aW9uLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2FuaW1hdGlvbi9XZWJBbmltYXRpb24uY3BwCmluZGV4IDczN2RhNzU1YzYyMjJlYzVlYjYz
OTRiZGMwZWVmOWNlOGMyYzhkMzIuLjczMmZlZDc1OTQxZTgzZWE2ZTU3YTc3MDI3NTlhYTAwYTJi
YTYwM2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9XZWJBbmltYXRpb24u
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9XZWJBbmltYXRpb24uY3BwCkBAIC03
MTcsNyArNzE3LDcgQEAgRXhjZXB0aW9uT3I8dm9pZD4gV2ViQW5pbWF0aW9uOjpmaW5pc2goKQog
ICAgIHJldHVybiB7IH07CiB9CiAKLXZvaWQgV2ViQW5pbWF0aW9uOjp0aW1pbmdEaWRDaGFuZ2Uo
RGlkU2VlayBkaWRTZWVrLCBTeW5jaHJvbm91c2x5Tm90aWZ5IHN5bmNocm9ub3VzbHlOb3RpZnkp
Cit2b2lkIFdlYkFuaW1hdGlvbjo6dGltaW5nRGlkQ2hhbmdlKERpZFNlZWsgZGlkU2VlaywgU3lu
Y2hyb25vdXNseU5vdGlmeSBzeW5jaHJvbm91c2x5Tm90aWZ5LCBTaWxlbnRseSBzaWxlbnRseSkK
IHsKICAgICBtX3Nob3VsZFNraXBVcGRhdGluZ0ZpbmlzaGVkU3RhdGVXaGVuUmVzb2x2aW5nID0g
ZmFsc2U7CiAgICAgdXBkYXRlRmluaXNoZWRTdGF0ZShkaWRTZWVrLCBzeW5jaHJvbm91c2x5Tm90
aWZ5KTsKQEAgLTcyNyw3ICs3MjcsNyBAQCB2b2lkIFdlYkFuaW1hdGlvbjo6dGltaW5nRGlkQ2hh
bmdlKERpZFNlZWsgZGlkU2VlaywgU3luY2hyb25vdXNseU5vdGlmeSBzeW5jaHJvbgogICAgICAg
ICBkb3duY2FzdDxLZXlmcmFtZUVmZmVjdD4oKm1fZWZmZWN0KS5hbmltYXRpb25UaW1pbmdEaWRD
aGFuZ2UoKTsKICAgICB9CiAKLSAgICBpZiAobV90aW1lbGluZSkKKyAgICBpZiAoc2lsZW50bHkg
PT0gU2lsZW50bHk6Ok5vICYmIG1fdGltZWxpbmUpCiAgICAgICAgIG1fdGltZWxpbmUtPmFuaW1h
dGlvblRpbWluZ0RpZENoYW5nZSgqdGhpcyk7CiB9OwogCkBAIC05NzksNyArOTc5LDcgQEAgdm9p
ZCBXZWJBbmltYXRpb246OnJ1blBlbmRpbmdQbGF5VGFzaygpCiAgICAgICAgIG1fcmVhZHlQcm9t
aXNlLT5yZXNvbHZlKCp0aGlzKTsKIAogICAgIC8vIDUuIFJ1biB0aGUgcHJvY2VkdXJlIHRvIHVw
ZGF0ZSBhbiBhbmltYXRpb24ncyBmaW5pc2hlZCBzdGF0ZSBmb3IgYW5pbWF0aW9uIHdpdGggdGhl
IGRpZCBzZWVrIGZsYWcgc2V0IHRvIGZhbHNlLCBhbmQgdGhlIHN5bmNocm9ub3VzbHkgbm90aWZ5
IGZsYWcgc2V0IHRvIGZhbHNlLgotICAgIHRpbWluZ0RpZENoYW5nZShEaWRTZWVrOjpObywgU3lu
Y2hyb25vdXNseU5vdGlmeTo6Tm8pOworICAgIHRpbWluZ0RpZENoYW5nZShEaWRTZWVrOjpObywg
U3luY2hyb25vdXNseU5vdGlmeTo6Tm8sIFNpbGVudGx5OjpZZXMpOwogCiAgICAgaW52YWxpZGF0
ZUVmZmVjdCgpOwogfQpAQCAtMTEwNSw3ICsxMTA1LDcgQEAgdm9pZCBXZWJBbmltYXRpb246OnJ1
blBlbmRpbmdQYXVzZVRhc2soKQogCiAgICAgLy8gNi4gUnVuIHRoZSBwcm9jZWR1cmUgdG8gdXBk
YXRlIGFuIGFuaW1hdGlvbidzIGZpbmlzaGVkIHN0YXRlIGZvciBhbmltYXRpb24gd2l0aCB0aGUg
ZGlkIHNlZWsgZmxhZyBzZXQgdG8gZmFsc2UsIGFuZCB0aGUKICAgICAvLyAgICBzeW5jaHJvbm91
c2x5IG5vdGlmeSBmbGFnIHNldCB0byBmYWxzZS4KLSAgICB0aW1pbmdEaWRDaGFuZ2UoRGlkU2Vl
azo6Tm8sIFN5bmNocm9ub3VzbHlOb3RpZnk6Ok5vKTsKKyAgICB0aW1pbmdEaWRDaGFuZ2UoRGlk
U2Vlazo6Tm8sIFN5bmNocm9ub3VzbHlOb3RpZnk6Ok5vLCBTaWxlbnRseTo6WWVzKTsKIAogICAg
IGludmFsaWRhdGVFZmZlY3QoKTsKIH0KQEAgLTEyODksNDAgKzEyODksMzkgQEAgRXhjZXB0aW9u
T3I8dm9pZD4gV2ViQW5pbWF0aW9uOjpjb21taXRTdHlsZXMoKQogCiBTZWNvbmRzIFdlYkFuaW1h
dGlvbjo6dGltZVRvTmV4dFRpY2soKSBjb25zdAogewotICAgIEFTU0VSVChpc1J1bm5pbmdBY2Nl
bGVyYXRlZCgpKTsKLQorICAgIC8vIEFueSBhbmltYXRpb24gdGhhdCBpcyBwZW5kaW5nIG5lZWRz
IGltbWVkaWF0ZSByZXNvbHV0aW9uLgogICAgIGlmIChwZW5kaW5nKCkpCiAgICAgICAgIHJldHVy
biAwX3M7CiAKLSAgICAvLyBJZiB3ZSdyZSBub3QgcnVubmluZywgdGhlcmUncyBubyB0ZWxsaW5n
IHdoZW4gd2UnbGwgZW5kLgotICAgIGlmIChwbGF5U3RhdGUoKSAhPSBQbGF5U3RhdGU6OlJ1bm5p
bmcpCisgICAgLy8gSWYgd2UncmUgbm90IHJ1bm5pbmcsIG9yIHRpbWUgaXMgbm90IGFkdmFuY2lu
ZyBmb3IgdGhpcyBhbmltYXRpb24sIHRoZXJlJ3Mgbm8gdGVsbGluZyB3aGVuIHdlJ2xsIGVuZC4K
KyAgICBhdXRvIHBsYXliYWNrUmF0ZSA9IGVmZmVjdGl2ZVBsYXliYWNrUmF0ZSgpOworICAgIGlm
IChwbGF5U3RhdGUoKSAhPSBQbGF5U3RhdGU6OlJ1bm5pbmcgfHwgIXBsYXliYWNrUmF0ZSkKICAg
ICAgICAgcmV0dXJuIFNlY29uZHM6OmluZmluaXR5KCk7CiAKLSAgICAvLyBDU1MgQW5pbWF0aW9u
cyBkaXNwYXRjaCBldmVudHMgZm9yIGVhY2ggaXRlcmF0aW9uLCBzbyBjb21wdXRlIHRoZSB0aW1l
IHVudGlsCi0gICAgLy8gdGhlIGVuZCBvZiB0aGlzIGl0ZXJhdGlvbi4gQW55IG90aGVyIGFuaW1h
dGlvbiBvbmx5IGNhcmVzIGFib3V0IHJlbWFuaW5nIHRvdGFsIHRpbWUuCi0gICAgaWYgKGlzQ1NT
QW5pbWF0aW9uKCkpIHsKLSAgICAgICAgYXV0byogYW5pbWF0aW9uRWZmZWN0ID0gZWZmZWN0KCk7
Ci0gICAgICAgIGF1dG8gdGltaW5nID0gYW5pbWF0aW9uRWZmZWN0LT5nZXRDb21wdXRlZFRpbWlu
ZygpOwotICAgICAgICAvLyBJZiB3ZSdyZSBhY3RpdmVseSBydW5uaW5nLCB3ZSBuZWVkIHRoZSB0
aW1lIHVudGlsIHRoZSBuZXh0IGl0ZXJhdGlvbi4KLSAgICAgICAgaWYgKGF1dG8gaXRlcmF0aW9u
UHJvZ3Jlc3MgPSB0aW1pbmcuc2ltcGxlSXRlcmF0aW9uUHJvZ3Jlc3MpCi0gICAgICAgICAgICBy
ZXR1cm4gYW5pbWF0aW9uRWZmZWN0LT5pdGVyYXRpb25EdXJhdGlvbigpICogKDEgLSAqaXRlcmF0
aW9uUHJvZ3Jlc3MpOwotCi0gICAgICAgIC8vIE90aGVyd2lzZSB3ZSdyZSBwcm9iYWJseSBpbiB0
aGUgYmVmb3JlIHBoYXNlIHdhaXRpbmcgdG8gcmVhY2ggb3VyIHN0YXJ0IHRpbWUuCi0gICAgICAg
IGlmIChhdXRvIGFuaW1hdGlvbkN1cnJlbnRUaW1lID0gY3VycmVudFRpbWUoKSkgewotICAgICAg
ICAgICAgLy8gSWYgb3VyIGN1cnJlbnQgdGltZSBpcyBuZWdhdGl2ZSwgd2UgbmVlZCB0byBiZSBz
Y2hlZHVsZWQgdG8gYmUgcmVzb2x2ZWQgYXQgdGhlIGludmVyc2UKLSAgICAgICAgICAgIC8vIG9m
IG91ciBjdXJyZW50IHRpbWUsIHVubGVzcyB3ZSBmaWxsIGJhY2t3YXJkcywgaW4gd2hpY2ggY2Fz
ZSB3ZSB3YW50IHRvIGludmFsaWRhdGUgYXMKLSAgICAgICAgICAgIC8vIHNvb24gYXMgcG9zc2li
bGUuCi0gICAgICAgICAgICBhdXRvIGxvY2FsVGltZSA9IGFuaW1hdGlvbkN1cnJlbnRUaW1lLnZh
bHVlKCk7Ci0gICAgICAgICAgICBpZiAobG9jYWxUaW1lIDwgMF9zKQotICAgICAgICAgICAgICAg
IHJldHVybiAtbG9jYWxUaW1lOwotICAgICAgICAgICAgaWYgKGxvY2FsVGltZSA8IGFuaW1hdGlv
bkVmZmVjdC0+ZGVsYXkoKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gYW5pbWF0aW9uRWZmZWN0
LT5kZWxheSgpIC0gbG9jYWxUaW1lOworICAgIGF1dG8mIGVmZmVjdCA9ICp0aGlzLT5lZmZlY3Qo
KTsKKyAgICBhdXRvIHRpbWluZyA9IGVmZmVjdC5nZXRCYXNpY1RpbWluZygpOworICAgIHN3aXRj
aCAodGltaW5nLnBoYXNlKSB7CisgICAgY2FzZSBBbmltYXRpb25FZmZlY3RQaGFzZTo6QmVmb3Jl
OgorICAgICAgICAvLyBUaGUgYW5pbWF0aW9uIGlzIGluIGl0cyAiYmVmb3JlIiBwaGFzZSwgaW4g
dGhpcyBjYXNlIHdlIGNhbiB3YWl0IHVudGlsIGl0IGVudGVycyBpdHMgImFjdGl2ZSIgcGhhc2Uu
CisgICAgICAgIHJldHVybiAoZWZmZWN0LmRlbGF5KCkgLSB0aW1pbmcubG9jYWxUaW1lLnZhbHVl
KCkpIC8gcGxheWJhY2tSYXRlOworICAgIGNhc2UgQW5pbWF0aW9uRWZmZWN0UGhhc2U6OkFjdGl2
ZToKKyAgICAgICAgLy8gTm9uLWFjY2VsZXJhdGVkIGFuaW1hdGlvbnMgaW4gdGhlICJhY3RpdmUi
IHBoYXNlIHdpbGwgbmVlZCB0byB1cGRhdGUgdGhlaXIgYW5pbWF0ZWQgdmFsdWUgYXQgdGhlIGlt
bWVkaWF0ZSBuZXh0IG9wcG9ydHVuaXR5LgorICAgICAgICBpZiAoIWlzUnVubmluZ0FjY2VsZXJh
dGVkKCkpCisgICAgICAgICAgICByZXR1cm4gMF9zOworICAgICAgICAvLyBBY2NlbGVyYXRlZCBD
U1MgQW5pbWF0aW9ucyBuZWVkIHRvIHRyaWdnZXIgImFuaW1hdGlvbml0ZXJhdGlvbiIgZXZlbnRz
LCBpbiB0aGlzIGNhc2Ugd2UgY2FuIHdhaXQgdW50aWwgdGhlIG5leHQgaXRlcmF0aW9uLgorICAg
ICAgICBpZiAoaXNDU1NBbmltYXRpb24oKSkgeworICAgICAgICAgICAgaWYgKGF1dG8gaXRlcmF0
aW9uUHJvZ3Jlc3MgPSBlZmZlY3QuZ2V0Q29tcHV0ZWRUaW1pbmcoKS5zaW1wbGVJdGVyYXRpb25Q
cm9ncmVzcykKKyAgICAgICAgICAgICAgICByZXR1cm4gZWZmZWN0Lml0ZXJhdGlvbkR1cmF0aW9u
KCkgKiAoMSAtICppdGVyYXRpb25Qcm9ncmVzcyk7CiAgICAgICAgIH0KLSAgICB9IGVsc2UgaWYg
KGF1dG8gYW5pbWF0aW9uQ3VycmVudFRpbWUgPSBjdXJyZW50VGltZSgpKQotICAgICAgICByZXR1
cm4gZWZmZWN0KCktPmVuZFRpbWUoKSAtICphbmltYXRpb25DdXJyZW50VGltZTsKLQotICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIHJldHVybiBTZWNvbmRzOjppbmZpbml0eSgpOworICAg
ICAgICAvLyBBY2NlbGVyYXRlZCBhbmltYXRpb25zIGluIHRoZSAiYWN0aXZlIiBwaGFzZSBjYW4g
d2FpdCB1bnRpbCB0aGV5IGVuZGVkLgorICAgICAgICByZXR1cm4gKGVmZmVjdC5lbmRUaW1lKCkg
LSB0aW1pbmcubG9jYWxUaW1lLnZhbHVlKCkpIC8gcGxheWJhY2tSYXRlOworICAgIGNhc2UgQW5p
bWF0aW9uRWZmZWN0UGhhc2U6OkFmdGVyOgorICAgICAgICAvLyBUaGUgYW5pbWF0aW9uIGlzIGlu
IGl0cyBhZnRlciBwaGFzZSwgd2hpY2ggbWVhbnMgaXQgd2lsbCBubyBsb25nZXIgdXBkYXRlIGl0
cyB2YWx1ZSwgc28gaXQgZG9lbnMndCBuZWVkIGEgdGljay4KKyAgICAgICAgcmV0dXJuIFNlY29u
ZHM6OmluZmluaXR5KCk7CisgICAgY2FzZSBBbmltYXRpb25FZmZlY3RQaGFzZTo6SWRsZToKKyAg
ICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHJldHVybiBTZWNvbmRzOjppbmZp
bml0eSgpOworICAgIH0KIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5oIGIvU291cmNlL1dlYkNvcmUv
YW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5oCmluZGV4IDE1ZmFkNjEwODgzNGExZjM4OWNiZGVjMzBi
NTMzZWMyMDc1ZTg3ZGQuLmRhNGQ4ZWMzYmMyZTU3MGI0OGE1MWRiYzE0YTM0NGU2YzQ5YmEwNzAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9XZWJBbmltYXRpb24uaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vV2ViQW5pbWF0aW9uLmgKQEAgLTE1NCw3ICsxNTQs
NyBAQCBwcml2YXRlOgogICAgIGVudW0gY2xhc3MgQXV0b1Jld2luZCA6IHVpbnQ4X3QgeyBZZXMs
IE5vIH07CiAgICAgZW51bSBjbGFzcyBUaW1lVG9SdW5QZW5kaW5nVGFzayA6IHVpbnQ4X3QgeyBO
b3RTY2hlZHVsZWQsIEFTQVAsIFdoZW5SZWFkeSB9OwogCi0gICAgdm9pZCB0aW1pbmdEaWRDaGFu
Z2UoRGlkU2VlaywgU3luY2hyb25vdXNseU5vdGlmeSk7CisgICAgdm9pZCB0aW1pbmdEaWRDaGFu
Z2UoRGlkU2VlaywgU3luY2hyb25vdXNseU5vdGlmeSwgU2lsZW50bHkgPSBTaWxlbnRseTo6Tm8p
OwogICAgIHZvaWQgdXBkYXRlRmluaXNoZWRTdGF0ZShEaWRTZWVrLCBTeW5jaHJvbm91c2x5Tm90
aWZ5KTsKICAgICBTZWNvbmRzIGVmZmVjdEVuZFRpbWUoKSBjb25zdDsKICAgICBXZWJBbmltYXRp
b24mIHJlYWR5UHJvbWlzZVJlc29sdmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA3NGYyZGYwZGJiM2U2NTJkNjgxODcy
ZDVkOWI4YzBhNmZjODU4NTI0Li5hZGZlOTExOWIwYTE3OWI2YjQ3ODAwNWY5NGZkYmI0YjBiOWI2
MTJjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTktMTEtMjkgIEFudG9pbmUgUXVpbnQgIDxn
cmFvdXRzQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViIEFuaW1hdGlvbnNdIEZvcndhcmQtZmls
bGluZyBhbmltYXRpb25zIHNob3VsZCBub3Qgc2NoZWR1bGUgdXBkYXRlcyB3aGlsZSBmaWxsaW5n
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDQ2OTcK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRpbmcg
dGVzdHMgY2hlY2tpbmcgdGhhdCB3ZSBkb24ndCBzY2hlZHVsZSBhbmltYXRpb24gdXBkYXRlcyB3
aGlsZSBmaWxsaW5nIGZvciBhY2NlbGVyYXRlZCBhbmQgbm9uLWFjY2VsZXJhdGVkIGFuaW1hdGlv
bnMgYWxpa2UuCisKKyAgICAgICAgKiB3ZWJhbmltYXRpb25zL25vLXNjaGVkdWxpbmctd2hpbGUt
ZmlsbGluZy1hY2NlbGVyYXRlZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmFu
aW1hdGlvbnMvbm8tc2NoZWR1bGluZy13aGlsZS1maWxsaW5nLWFjY2VsZXJhdGVkLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIHdlYmFuaW1hdGlvbnMvbm8tc2NoZWR1bGluZy13aGlsZS1maWxsaW5n
LW5vbi1hY2NlbGVyYXRlZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmFuaW1h
dGlvbnMvbm8tc2NoZWR1bGluZy13aGlsZS1maWxsaW5nLW5vbi1hY2NlbGVyYXRlZC5odG1sOiBB
ZGRlZC4KKwogMjAxOS0xMS0yNyAgQW50b2luZSBRdWludCAgPGdyYW91dHNAYXBwbGUuY29tPgog
CiAgICAgICAgIFJFR1JFU1NJT04ocjI1MjQ1NSk6IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZG9tL2V2ZW50cy9FdmVudC1kaXNwYXRjaC1vbi1kaXNhYmxlZC1lbGVtZW50cy5odG1s
IGZhaWxzIG9uIGlPUyBhbmQgV0sxCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJhbmltYXRp
b25zL25vLXNjaGVkdWxpbmctd2hpbGUtZmlsbGluZy1hY2NlbGVyYXRlZC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy93ZWJhbmltYXRpb25zL25vLXNjaGVkdWxpbmctd2hpbGUtZmlsbGluZy1h
Y2NlbGVyYXRlZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjM5NWI2MDhjNmNiMmE3MDY1MjJm
MzlkNjQ3ZDFlNjUxMjFiYmNkOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmFu
aW1hdGlvbnMvbm8tc2NoZWR1bGluZy13aGlsZS1maWxsaW5nLWFjY2VsZXJhdGVkLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDMgQEAKKworUEFTUyBUaGVyZSBzaG91bGQgbm90IGJlIG1vcmUgdGhh
biBvbmUgdXBkYXRlIG1hZGUgdG8gdGhlIHRpbWVsaW5lIGFmdGVyIGEgZm9yd2FyZC1maWxsaW5n
IGFjY2VsZXJhdGVkIGFuaW1hdGlvbiBjb21wbGV0ZXMuIAorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy93ZWJhbmltYXRpb25zL25vLXNjaGVkdWxpbmctd2hpbGUtZmlsbGluZy1hY2NlbGVyYXRl
ZC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViYW5pbWF0aW9ucy9uby1zY2hlZHVsaW5nLXdoaWxlLWZp
bGxpbmctYWNjZWxlcmF0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lZmVlMTU3NmYwMGU4OTU2OTI1MGRk
NGZmYmUzYTM0N2Q0ZmRiNmQxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViYW5p
bWF0aW9ucy9uby1zY2hlZHVsaW5nLXdoaWxlLWZpbGxpbmctYWNjZWxlcmF0ZWQuaHRtbApAQCAt
MCwwICsxLDQ1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c3R5bGU+CisK
KyN0YXJnZXQgeworICAgIHdpZHRoOiAxMDBweDsKKyAgICBoZWlnaHQ6IDEwMHB4OworICAgIGJh
Y2tncm91bmQtY29sb3I6IGJsYWNrOworfQorCis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPGRp
diBpZD0idGFyZ2V0Ij48L2Rpdj4KKzxzY3JpcHQ+CisKK2Z1bmN0aW9uIHdhaXRORnJhbWVzKG51
bWJlck9mRnJhbWVzLCBjb250aW51YXRpb24pCit7CisgICAgbGV0IGVsYXBzZWRGcmFtZXMgPSAw
OworICAgIChmdW5jdGlvbiByQUZDYWxsYmFjaygpIHsKKyAgICAgICAgaWYgKGVsYXBzZWRGcmFt
ZXMrKyA+PSBudW1iZXJPZkZyYW1lcykKKyAgICAgICAgICAgIGNvbnRpbnVhdGlvbigpOworICAg
ICAgICBlbHNlCisgICAgICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUockFGQ2FsbGJhY2sp
OworICAgIH0pKCk7Cit9CisKK2FzeW5jX3Rlc3QodCA9PiB7CisgICAgY29uc3Qga2V5ZnJhbWVz
ID0geyB0cmFuc2Zvcm06IFsidHJhbnNsYXRlWCg1MHB4KSIsICJ0cmFuc2xhdGVYKDEwMHB4KSJd
IH07CisgICAgY29uc3QgdGltaW5nID0geyBkdXJhdGlvbjogNTAsIGZpbGw6ICJmb3J3YXJkcyIg
fTsKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0IikuYW5pbWF0ZShrZXlmcmFt
ZXMsIHRpbWluZykuYWRkRXZlbnRMaXN0ZW5lcigiZmluaXNoIiwgZXZlbnQgPT4geworICAgICAg
ICBjb25zdCBudW1iZXJPZlRpbWVsaW5lSW52YWxpZGF0aW9uc1doZW5GaW5pc2hlZCA9IGludGVy
bmFscy5udW1iZXJPZkFuaW1hdGlvblRpbWVsaW5lSW52YWxpZGF0aW9ucygpOworICAgICAgICB3
YWl0TkZyYW1lcygzLCAoKSA9PiB7CisgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGludGVybmFs
cy5udW1iZXJPZkFuaW1hdGlvblRpbWVsaW5lSW52YWxpZGF0aW9ucygpLCBudW1iZXJPZlRpbWVs
aW5lSW52YWxpZGF0aW9uc1doZW5GaW5pc2hlZCArIDEpOworICAgICAgICAgICAgdC5kb25lKCk7
CisgICAgICAgIH0pOworICAgIH0pOworfSwgIlRoZXJlIHNob3VsZCBub3QgYmUgbW9yZSB0aGFu
IG9uZSB1cGRhdGUgbWFkZSB0byB0aGUgdGltZWxpbmUgYWZ0ZXIgYSBmb3J3YXJkLWZpbGxpbmcg
YWNjZWxlcmF0ZWQgYW5pbWF0aW9uIGNvbXBsZXRlcy4iKTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJhbmltYXRpb25zL25vLXNjaGVk
dWxpbmctd2hpbGUtZmlsbGluZy1ub24tYWNjZWxlcmF0ZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvd2ViYW5pbWF0aW9ucy9uby1zY2hlZHVsaW5nLXdoaWxlLWZpbGxpbmctbm9uLWFjY2Vs
ZXJhdGVkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hYTllMTA1ZWJkOWE3N2E2MmJhZGVhNjZj
NWM2OTFjOGM5MGQxMGZkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViYW5pbWF0
aW9ucy9uby1zY2hlZHVsaW5nLXdoaWxlLWZpbGxpbmctbm9uLWFjY2VsZXJhdGVkLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDMgQEAKKworUEFTUyBUaGVyZSBzaG91bGQgbm90IGJlIGFueSB1cGRh
dGVzIG1hZGUgdG8gdGhlIHRpbWVsaW5lIGFmdGVyIGEgZm9yd2FyZC1maWxsaW5nIGFuaW1hdGlv
biBjb21wbGV0ZXMuIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJhbmltYXRpb25zL25v
LXNjaGVkdWxpbmctd2hpbGUtZmlsbGluZy1ub24tYWNjZWxlcmF0ZWQuaHRtbCBiL0xheW91dFRl
c3RzL3dlYmFuaW1hdGlvbnMvbm8tc2NoZWR1bGluZy13aGlsZS1maWxsaW5nLW5vbi1hY2NlbGVy
YXRlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA4N2IwY2U3YzZlZGY5ZjBkMDA4MDA2Y2YyY2QyMjUxMGRm
ZjMxZjIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJhbmltYXRpb25zL25vLXNj
aGVkdWxpbmctd2hpbGUtZmlsbGluZy1ub24tYWNjZWxlcmF0ZWQuaHRtbApAQCAtMCwwICsxLDQ1
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c3R5bGU+CisKKyN0YXJnZXQg
eworICAgIHdpZHRoOiAxMDBweDsKKyAgICBoZWlnaHQ6IDEwMHB4OworICAgIGJhY2tncm91bmQt
Y29sb3I6IGJsYWNrOworfQorCis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNy
Yz0iLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0idGFy
Z2V0Ij48L2Rpdj4KKzxzY3JpcHQ+CisKK2Z1bmN0aW9uIHdhaXRORnJhbWVzKG51bWJlck9mRnJh
bWVzLCBjb250aW51YXRpb24pCit7CisgICAgbGV0IGVsYXBzZWRGcmFtZXMgPSAwOworICAgIChm
dW5jdGlvbiByQUZDYWxsYmFjaygpIHsKKyAgICAgICAgaWYgKGVsYXBzZWRGcmFtZXMrKyA+PSBu
dW1iZXJPZkZyYW1lcykKKyAgICAgICAgICAgIGNvbnRpbnVhdGlvbigpOworICAgICAgICBlbHNl
CisgICAgICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUockFGQ2FsbGJhY2spOworICAgIH0p
KCk7Cit9CisKK2FzeW5jX3Rlc3QodCA9PiB7CisgICAgY29uc3Qga2V5ZnJhbWVzID0geyBtYXJn
aW5MZWZ0OiBbIjUwcHgiLCAiMTAwcHgiXSB9OworICAgIGNvbnN0IHRpbWluZyA9IHsgZHVyYXRp
b246IDUwLCBmaWxsOiAiZm9yd2FyZHMiIH07CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InRhcmdldCIpLmFuaW1hdGUoa2V5ZnJhbWVzLCB0aW1pbmcpLmFkZEV2ZW50TGlzdGVuZXIoImZp
bmlzaCIsIGV2ZW50ID0+IHsKKyAgICAgICAgY29uc3QgbnVtYmVyT2ZUaW1lbGluZUludmFsaWRh
dGlvbnNXaGVuRmluaXNoZWQgPSBpbnRlcm5hbHMubnVtYmVyT2ZBbmltYXRpb25UaW1lbGluZUlu
dmFsaWRhdGlvbnMoKTsKKyAgICAgICAgd2FpdE5GcmFtZXMoMiwgKCkgPT4geworICAgICAgICAg
ICAgYXNzZXJ0X2VxdWFscyhpbnRlcm5hbHMubnVtYmVyT2ZBbmltYXRpb25UaW1lbGluZUludmFs
aWRhdGlvbnMoKSwgbnVtYmVyT2ZUaW1lbGluZUludmFsaWRhdGlvbnNXaGVuRmluaXNoZWQpOwor
ICAgICAgICAgICAgdC5kb25lKCk7CisgICAgICAgIH0pOworICAgIH0pOworfSwgIlRoZXJlIHNo
b3VsZCBub3QgYmUgYW55IHVwZGF0ZXMgbWFkZSB0byB0aGUgdGltZWxpbmUgYWZ0ZXIgYSBmb3J3
YXJkLWZpbGxpbmcgYW5pbWF0aW9uIGNvbXBsZXRlcy4iKTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>384540</attachid>
            <date>2019-11-30 04:26:13 -0800</date>
            <delta_ts>2019-11-30 10:55:20 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-204697-20191130132611.patch</filename>
            <type>text/plain</type>
            <size>20230</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUyOTU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTg2MjkzZjg4NzAzM2U2
ODU4MTU0MDYxZmZiYjJjZThmODU4NjhjOC4uYzQ1NWVkNTRmMmIwNjg0NGE3OTYwM2VhZTM5YWJh
MGRjNDQ4Y2ExMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY0IEBACisyMDE5LTExLTMwICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYiBBbmltYXRpb25z
XSBGb3J3YXJkLWZpbGxpbmcgYW5pbWF0aW9ucyBzaG91bGQgbm90IHNjaGVkdWxlIHVwZGF0ZXMg
d2hpbGUgZmlsbGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjA0Njk3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81NzUzNDAwNT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0czogd2ViYW5pbWF0
aW9ucy9uby1zY2hlZHVsaW5nLXdoaWxlLWZpbGxpbmctYWNjZWxlcmF0ZWQuaHRtbAorICAgICAg
ICAgICAgICAgd2ViYW5pbWF0aW9ucy9uby1zY2hlZHVsaW5nLXdoaWxlLWZpbGxpbmctbm9uLWFj
Y2VsZXJhdGVkLmh0bWwKKworICAgICAgICBGb3IgdHdvIGRpZmZlcmVudCByZWFzb25zLCB3ZSB3
b3VsZCBjb250aW51b3VzbHkgc2NoZWR1bGUgdXBkYXRlcyBmb3IgYW5pbWF0aW9ucyBpbiB0aGVp
ciAiYWZ0ZXIiIHBoYXNlLCBpZS4gd2hlbiB0aGV5IHdvdWxkIGhhdmUgImZpbGw6IGZvcndhcmRz
IgorICAgICAgICBhbmQgYmUgZmluaXNoZWQuCisKKyAgICAgICAgSW4gdGhlIGNhc2Ugb2Ygbm9u
LWFjY2VsZXJhdGVkIGFuaW1hdGlvbnMsIHRoYXQgd2FzIGJlY2F1c2Ugd2Ugd291bGQgYWxzbyBz
Y2hlZHVsZSBhbiBpbW1lZGF0ZSB1cGRhdGUgaW4gRG9jdW1lbnRUaW1lbGluZTo6c2NoZWR1bGVO
ZXh0VGljaygpIHByb3ZpZGVkCisgICAgICAgIHdlIGhhZCByZWxldmFudCBhbmltYXRpb25zIHRo
YXQgd2VyZW4ndCBhY2NlbGVyYXRlZC4gQnV0IHNpbmNlIGFuaW1hdGlvbnMgaW4gdGhlaXIgImFm
dGVyIiBwaGFzZSBhcmUgc3RpbGwgY29uc2lkZXJlZCByZWxldmFudCwgd2hpY2ggbWVhbnMgdGhh
dCB0aGV5CisgICAgICAgIHdvdWxkIG92ZXJyaWRlIHRoZSBiYXNlIHN0eWxlIHdpdGggYW4gYW5p
bWF0ZWQgdmFsdWUsIHRoaXMgY2F1c2VkIHRoZSB1bm5lY2Vzc2FyeSBzY2hlZHVsZWQgdXBkYXRl
cy4KKworICAgICAgICBUbyBhZGRyZXNzIHRoaXMsIHdlIHJ1biBXZWJBbmltYXRpb246OnRpbWVU
b05leHRUaWNrKCkgaW4gRG9jdW1lbnRUaW1lbGluZTo6c2NoZWR1bGVOZXh0VGljaygpIGZvciBh
bGwgcmVsZXZhbnQgYW5pbWF0aW9ucyBhbmQgd2UgdGVhY2ggdGhhdCBmdW5jdGlvbgorICAgICAg
ICB0byBzY2hlZHVsZSBhbiBpbW1lZGlhdGUgdXBkYXRlIG9ubHkgZHVyaW5nIHRoZSAiYWN0aXZl
IiBwaGFzZSwgYW5kIHRvIHNjaGVkdWxlIGEgdGltZWQgdXBkYXRlIG9ubHkgaW4gdGhlICJiZWZv
cmUiIHBoYXNlIGNvbXB1dGluZyB0aGUgZGVsYXkgdW50aWwKKyAgICAgICAgdGhlIGFuaW1hdGlv
biBlbnRlcnMgdGhlICJhY3RpdmUiIHBoYXNlLgorCisgICAgICAgIFdoaWxlIHBlcmZvcm1pbmcg
dGhpcyB3b3JrLCB3ZSBmb3VuZCBhIGNvdXBsZSBvZiBvdGhlciBpc3N1ZXMgdGhhdCB3ZXJlbid0
IGFwcGFyZW50IHVudGlsIHdlIGhhZCB0aGlzIG1vcmUgZWZmaWNpZW50IHNjaGVkdWxpbmcgaW4g
cGxhY2UuCisKKyAgICAgICAgRmlyc3QsIHdlIHdvdWxkIG5vdCBhbGxvdyBhbnkgYWRkaXRpb25h
bCBjYWxscyB0byBEb2N1bWVudFRpbWVsaW5lOjpzY2hlZHVsZUFuaW1hdGlvblJlc29sdXRpb24o
KSB0byBhY3R1YWxseSBzY2hlZHVsZSBhbiB1cGRhdGUgd2hpbGUgd2Ugd2VyZSBpbiB0aGUKKyAg
ICAgICAgcHJvY2VzcyBvZiB1cGRhdGluZyBhbmltYXRpb25zLiBXaGlsZSB0aGlzIHdhc24ndCBh
IHByb2JsZW0gYmVmb3JlIGJlY2F1c2UgdGhlIG1lcmUgcHJlc2VuY2Ugb2YgcmVsZXZhbnQgYW5p
bWF0aW9ucyB3b3VsZCBjYXVzZSBhbiB1cGFkdGUsIHdlIG5vdyBoYWQKKyAgICAgICAgdG8gYWxs
b3cgYW55IGFuaW1hdGlvbiBjaGFuZ2luZyB0aW1pbmcgcHJvcGVydGllcyBhcyBwcm9taXNlcyB3
b3VsZCByZXNvbHZlIGFuZCBldmVudHMgd291bGQgYmUgZGlzcGF0Y2hlZCBkdXJpbmcgdGhlIGFu
aW1hdGlvbiB1cGRhdGUgdG8gY2F1c2UgZnVydGhlcgorICAgICAgICBhbmltYXRpb24gdXBkYXRl
cyB0byBiZSBzY2hlZHVsZWQuIFNvIHdlIG1vdmVkIHRoZSAibV9hbmltYXRpb25SZXNvbHV0aW9u
U2NoZWR1bGVkIiBmbGFnIHJlc2V0IGVhcmxpZXIgaW4gRG9jdW1lbnRUaW1lbGluZTo6dXBkYXRl
QW5pbWF0aW9uc0FuZFNlbmRFdmVudHMoKQorICAgICAgICBiZWZvcmUgd2UgYWN0dWFsbHkgcnVu
IHRoZSBhbmltYXRpb24gdXBkYXRlIHByb2NlZHVyZS4KKworICAgICAgICBGb2xsb3dpbmcgdGhh
dCBjaGFuZ2UsIHdlIGFsc28gaGFkIHRvIG1ha2Ugc3VyZSB0aGF0IHRpbWluZyBjaGFuZ2VzIG1h
ZGUgdGhyb3VnaCB0aGUgZXZhbHVhdGlvbiBvZiB0aGUgcGVuZGluZyBwbGF5IGFuZCBwYXVzZSB0
YXNrcyB3b3VsZCBfbm90XyBjYXVzZQorICAgICAgICBhbmltYXRpb25zIHRvIGJlIHNjaGVkdWxl
ZCwgd2hpY2ggbWVhbnQgdGhhdCBhbiBhbmltYXRpb24gdGhhdCBiZWNhbWUgbm9uLXBlbmRpbmcg
KGllLiBpdHMgZmlyc3QgdGljayBvY2N1cmVkKSB3b3VsZCBhbHdheXMgc2NoZWR1bGUgb25lIGlt
bWVkaWF0ZQorICAgICAgICBhbmltYXRpb24gdXBkYXRlLiBTbyBub3cgd2UgaGF2ZSBhbiBleHRy
YSAic2lsZW50IiBmbGFnIHRvIFdlYkFuaW1hdGlvbjo6dGltaW5nRGlkQ2hhbmdlKCkgd2hpY2gg
aXMgb25seSBzZXQgdG8gdHJ1ZSB3aGVuIGNhbGxlZCBmcm9tIGVpdGhlcgorICAgICAgICBXZWJB
bmltYXRpb246OnJ1blBlbmRpbmdQbGF5VGFzaygpIG9yIFdlYkFuaW1hdGlvbjo6cnVuUGVuZGlu
Z1BhdXNlVGFzaygpLgorCisgICAgICAgIEZpbmFsbHksIG9uZSBleGlzdGluZyB0ZXN0IHNob3dl
ZCB0aGF0IGNhbGxpbmcgS2V5ZnJhbWVFZmZlY3Q6OnNldEtleWZyYW1lcygpIHdoaWxlIHJ1bm5p
bmcgYW5pbWF0aW9ucyBkaWRuJ3QgY2F1c2UgYW4gYW5pbWF0aW9uIHVwZGF0ZSB0byBiZSBzY2hl
ZHVsZWQKKyAgICAgICAgc2luY2UgYSBjYWxsIHRvIFdlYkFuaW1hdGlvbjo6ZWZmZWN0VGltaW5n
RGlkQ2hhbmdlKCkgd2FzIGxhY2tpbmcuIFRoaXMgaXMgbm93IGFkZHJlc3NlZC4KKworICAgICAg
ICBBcyBmb3IgYWNjZWxlcmF0ZWQgYW5pbWF0aW9ucywgdGhlIGV4dHJhbmVvdXMgYW5pbWF0aW9u
IHNjaGVkdWxpbmcgb2NjdXJlZCBiZWNhdXNlIHdlIHdvdWxkIGdldCBpbiBhIHN0YXRlIHdoZXJl
IHdlIHdvdWxkIHJlY29yZCBhbiAiYWNjZWxlcmF0ZWQgYWN0aW9uIgorICAgICAgICB0byBzdG9w
IHRoZSBhY2NlbGVyYXRlZCBhbmltYXRpb24gYnV0IHRoZSBhY2NlbGVyYXRlZCBhbmltYXRpb24g
aGFkIGFscmVhZHkgY29tcGxldGVkIGFuZCB0aGUgcmVuZGVyZXIgZm9yIHRoZSB0YXJnZXQgZWxl
bWVudCB3YXMgbm8gbG9uZ2VyIGNvbXBvc2l0ZWQuCisgICAgICAgIFRoaXMgbWVhbnQgdGhhdCBL
ZXlmcmFtZUVmZmVjdDo6YXBwbHlQZW5kaW5nQWNjZWxlcmF0ZWRBY3Rpb25zKCkgd291bGQgbm90
IHBlcmZvcm0gYW55IHdvcmsgYW5kIHRoZSBwZW5kaW5nIGFjY2VsZXJhdGVkIGFjdGlvbiB3b3Vs
ZCByZW1haW4gaW4gdGhlCisgICAgICAgIERvY3VtZW50VGltZWxpbmUgcXVldWUgYW5kIGNhdXNl
IGFuIHVwZGF0ZSB0byBiZSBzY2hlZHVsZWQgdG8gdHJ5IGFnYWluLCBlbmRsZXNzbHkuCisKKyAg
ICAgICAgVG8gYWRkcmVzcyB0aGF0LCB3ZSBmaXJzdCBjaGVjayBpbiBLZXlmcmFtZUVmZmVjdDo6
YWRkUGVuZGluZ0FjY2VsZXJhdGVkQWN0aW9uKCkgaWYgdGhlIHJlY29yZGVkIGFjdGlvbiBkaWZm
ZXJzIGZyb20gdGhlIGxhc3QgcmVjb3JkZWQgYWN0aW9uLCBhdm9pZGluZworICAgICAgICB1bm5l
Y2Vzc2FyeSB3b3JrLCBhbmQgaW4gS2V5ZnJhbWVFZmZlY3Q6OmFwcGx5UGVuZGluZ0FjY2VsZXJh
dGVkQWN0aW9ucygpLCBpZiBvdXIgbGFzdCByZWNvcmRlZCBhY3Rpb24gd2FzICJTdG9wIiBhbmQg
dGhlIHJlbmRlcmVyIHdhcyBub3QgY29tcG9zaXRlZCwKKyAgICAgICAgd2UgZGlzY2FyZCBhbGwg
cGVuZGluZyBhY2NlbGVyYXRlZCBhY3Rpb25zLgorCisgICAgICAgICogYW5pbWF0aW9uL0RvY3Vt
ZW50VGltZWxpbmUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRUaW1lbGluZTo6dXBk
YXRlQW5pbWF0aW9uc0FuZFNlbmRFdmVudHMpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRU
aW1lbGluZTo6c2NoZWR1bGVOZXh0VGljayk6CisgICAgICAgICogYW5pbWF0aW9uL0tleWZyYW1l
RWZmZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OktleWZyYW1lRWZmZWN0OjpzZXRLZXlmcmFt
ZXMpOgorICAgICAgICAoV2ViQ29yZTo6S2V5ZnJhbWVFZmZlY3Q6OmFkZFBlbmRpbmdBY2NlbGVy
YXRlZEFjdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpLZXlmcmFtZUVmZmVjdDo6YXBwbHlQZW5k
aW5nQWNjZWxlcmF0ZWRBY3Rpb25zKToKKyAgICAgICAgKiBhbmltYXRpb24vV2ViQW5pbWF0aW9u
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYkFuaW1hdGlvbjo6dGltaW5nRGlkQ2hhbmdlKToK
KyAgICAgICAgKFdlYkNvcmU6OldlYkFuaW1hdGlvbjo6cnVuUGVuZGluZ1BsYXlUYXNrKToKKyAg
ICAgICAgKFdlYkNvcmU6OldlYkFuaW1hdGlvbjo6cnVuUGVuZGluZ1BhdXNlVGFzayk6CisgICAg
ICAgIChXZWJDb3JlOjpXZWJBbmltYXRpb246OnRpbWVUb05leHRUaWNrIGNvbnN0KToKKyAgICAg
ICAgKiBhbmltYXRpb24vV2ViQW5pbWF0aW9uLmg6CisKIDIwMTktMTEtMzAgIFBoaWxpcHBlIE5v
cm1hbmQgIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIGZvbGxv
dy11cCB0byByMjUyOTM4LCBub3cgZml4aW5nIHRoZSBNU0UvRU1FIGJ1aWxkCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vRG9jdW1lbnRUaW1lbGluZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9hbmltYXRpb24vRG9jdW1lbnRUaW1lbGluZS5jcHAKaW5kZXggMjBhMDdlZTdjODFj
NTdhZjYzZDNmOGFlMTUyOTVjZjJmNTI1OTY4MC4uNjMwYzJmYTRhM2UyYzU4MzU3ZTEzNDliMGZm
MDRjYjBhZWM2OTY1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0RvY3Vt
ZW50VGltZWxpbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9Eb2N1bWVudFRp
bWVsaW5lLmNwcApAQCAtMzUwLDExICszNTAsMTUgQEAgdm9pZCBEb2N1bWVudFRpbWVsaW5lOjp1
cGRhdGVBbmltYXRpb25zQW5kU2VuZEV2ZW50cyhET01IaWdoUmVzVGltZVN0YW1wIHRpbWVzdGEK
ICAgICBpZiAobV9pc1N1c3BlbmRlZCB8fCAhbV9hbmltYXRpb25SZXNvbHV0aW9uU2NoZWR1bGVk
IHx8ICFzaG91bGRSdW5VcGRhdGVBbmltYXRpb25zQW5kU2VuZEV2ZW50c0lnbm9yaW5nU3VzcGVu
c2lvblN0YXRlKCkpCiAgICAgICAgIHJldHVybjsKIAorICAgIC8vIFVwZGF0aW5nIGFuaW1hdGlv
bnMgYW5kIHNlbmRpbmcgZXZlbnRzIG1heSBpbnZhbGlkYXRlIHRoZSB0aW1pbmcgb2Ygc29tZSBh
bmltYXRpb25zLCBzbyB3ZSBtdXN0IHNldCB0aGUgbV9hbmltYXRpb25SZXNvbHV0aW9uU2NoZWR1
bGVkCisgICAgLy8gZmxhZyB0byBmYWxzZSBwcmlvciB0byBydW5uaW5nIHRoYXQgcHJvY2VkdXJl
IHRvIGFsbG93IGFuaW1hdGlvbiB3aXRoIHRpbWluZyBtb2RlbCB1cGRhdGVzIHRvIHNjaGVkdWxl
IHVwZGF0ZXMuCisgICAgbV9hbmltYXRpb25SZXNvbHV0aW9uU2NoZWR1bGVkID0gZmFsc2U7CisK
ICAgICBpbnRlcm5hbFVwZGF0ZUFuaW1hdGlvbnNBbmRTZW5kRXZlbnRzKCk7CiAgICAgYXBwbHlQ
ZW5kaW5nQWNjZWxlcmF0ZWRBbmltYXRpb25zKCk7CiAKLSAgICBtX2FuaW1hdGlvblJlc29sdXRp
b25TY2hlZHVsZWQgPSBmYWxzZTsKLSAgICBzY2hlZHVsZU5leHRUaWNrKCk7CisgICAgaWYgKCFt
X2FuaW1hdGlvblJlc29sdXRpb25TY2hlZHVsZWQpCisgICAgICAgIHNjaGVkdWxlTmV4dFRpY2so
KTsKIH0KIAogdm9pZCBEb2N1bWVudFRpbWVsaW5lOjppbnRlcm5hbFVwZGF0ZUFuaW1hdGlvbnNB
bmRTZW5kRXZlbnRzKCkKQEAgLTUyOSwxMyArNTMzLDYgQEAgdm9pZCBEb2N1bWVudFRpbWVsaW5l
OjpzY2hlZHVsZU5leHRUaWNrKCkKICAgICBpZiAobV9hbmltYXRpb25zLmlzRW1wdHkoKSkKICAg
ICAgICAgcmV0dXJuOwogCi0gICAgZm9yIChjb25zdCBhdXRvJiBhbmltYXRpb24gOiBtX2FuaW1h
dGlvbnMpIHsKLSAgICAgICAgaWYgKCFhbmltYXRpb24tPmlzUnVubmluZ0FjY2VsZXJhdGVkKCkp
IHsKLSAgICAgICAgICAgIHNjaGVkdWxlQW5pbWF0aW9uUmVzb2x1dGlvbigpOwotICAgICAgICAg
ICAgcmV0dXJuOwotICAgICAgICB9Ci0gICAgfQotCiAgICAgU2Vjb25kcyBzY2hlZHVsZURlbGF5
ID0gU2Vjb25kczo6aW5maW5pdHkoKTsKIAogICAgIGZvciAoY29uc3QgYXV0byYgYW5pbWF0aW9u
IDogbV9hbmltYXRpb25zKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24v
S2V5ZnJhbWVFZmZlY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tleWZyYW1lRWZm
ZWN0LmNwcAppbmRleCBhZjMwZGRjMmMxNjJhZWZiZTZmMDQ3NjQ2YWZiZWUzM2JmOTJhZDFmLi42
ZjVlZDRhZDljNjg5MzlmOWJhMmYwMmQ3ZmRhM2I2NWFjOGM5ZDMyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9hbmltYXRpb24vS2V5ZnJhbWVFZmZlY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2FuaW1hdGlvbi9LZXlmcmFtZUVmZmVjdC5jcHAKQEAgLTY2Myw3ICs2NjMsMTAgQEAgVmVj
dG9yPFN0cm9uZzxKU09iamVjdD4+IEtleWZyYW1lRWZmZWN0OjpnZXRLZXlmcmFtZXMoSlNHbG9i
YWxPYmplY3QmIGxleGljYWxHbG8KIAogRXhjZXB0aW9uT3I8dm9pZD4gS2V5ZnJhbWVFZmZlY3Q6
OnNldEtleWZyYW1lcyhKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgU3Ryb25n
PEpTT2JqZWN0PiYmIGtleWZyYW1lc0lucHV0KQogewotICAgIHJldHVybiBwcm9jZXNzS2V5ZnJh
bWVzKGxleGljYWxHbG9iYWxPYmplY3QsIFdURk1vdmUoa2V5ZnJhbWVzSW5wdXQpKTsKKyAgICBh
dXRvIHByb2Nlc3NLZXlmcmFtZXNSZXN1bHQgPSBwcm9jZXNzS2V5ZnJhbWVzKGxleGljYWxHbG9i
YWxPYmplY3QsIFdURk1vdmUoa2V5ZnJhbWVzSW5wdXQpKTsKKyAgICBpZiAoIXByb2Nlc3NLZXlm
cmFtZXNSZXN1bHQuaGFzRXhjZXB0aW9uKCkgJiYgYW5pbWF0aW9uKCkpCisgICAgICAgIGFuaW1h
dGlvbigpLT5lZmZlY3RUaW1pbmdEaWRDaGFuZ2UoKTsKKyAgICByZXR1cm4gcHJvY2Vzc0tleWZy
YW1lc1Jlc3VsdDsKIH0KIAogRXhjZXB0aW9uT3I8dm9pZD4gS2V5ZnJhbWVFZmZlY3Q6OnByb2Nl
c3NLZXlmcmFtZXMoSlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3QsIFN0cm9uZzxK
U09iamVjdD4mJiBrZXlmcmFtZXNJbnB1dCkKQEAgLTEzNDIsNiArMTM0NSw5IEBAIHZvaWQgS2V5
ZnJhbWVFZmZlY3Q6OnVwZGF0ZUFjY2VsZXJhdGVkQW5pbWF0aW9uU3RhdGUoKQogCiB2b2lkIEtl
eWZyYW1lRWZmZWN0OjphZGRQZW5kaW5nQWNjZWxlcmF0ZWRBY3Rpb24oQWNjZWxlcmF0ZWRBY3Rp
b24gYWN0aW9uKQogeworICAgIGlmIChhY3Rpb24gPT0gbV9sYXN0UmVjb3JkZWRBY2NlbGVyYXRl
ZEFjdGlvbikKKyAgICAgICAgcmV0dXJuOworCiAgICAgaWYgKGFjdGlvbiA9PSBBY2NlbGVyYXRl
ZEFjdGlvbjo6U3RvcCkKICAgICAgICAgbV9wZW5kaW5nQWNjZWxlcmF0ZWRBY3Rpb25zLmNsZWFy
KCk7CiAgICAgbV9wZW5kaW5nQWNjZWxlcmF0ZWRBY3Rpb25zLmFwcGVuZChhY3Rpb24pOwpAQCAt
MTM4MSw4ICsxMzg3LDEzIEBAIHZvaWQgS2V5ZnJhbWVFZmZlY3Q6OmFwcGx5UGVuZGluZ0FjY2Vs
ZXJhdGVkQWN0aW9ucygpCiAgICAgICAgIHJldHVybjsKIAogICAgIGF1dG8qIHJlbmRlcmVyID0g
dGhpcy0+cmVuZGVyZXIoKTsKLSAgICBpZiAoIXJlbmRlcmVyIHx8ICFyZW5kZXJlci0+aXNDb21w
b3NpdGVkKCkpCisgICAgaWYgKCFyZW5kZXJlciB8fCAhcmVuZGVyZXItPmlzQ29tcG9zaXRlZCgp
KSB7CisgICAgICAgIC8vIFRoZSByZW5kZXJlciBtYXkgbm8gbG9uZ2VyIGJlIGNvbXBvc2l0ZWQg
YmVjYXVzZSB0aGUgYWNjZWxlcmF0ZWQgYW5pbWF0aW9uIGVuZGVkIGJlZm9yZSB3ZSBoYWQgYSBj
aGFuY2UgdG8gdXBkYXRlIGl0LAorICAgICAgICAvLyBpbiB3aGljaCBjYXNlIGlmIHdlIGFza2Vk
IGZvciB0aGUgYW5pbWF0aW9uIHRvIHN0b3AsIHdlIGNhbiBkaXNjYXJkIHRoZSBjdXJyZW50IHNl
dCBvZiBhY2NlbGVyYXRlZCBhY3Rpb25zLgorICAgICAgICBpZiAobV9sYXN0UmVjb3JkZWRBY2Nl
bGVyYXRlZEFjdGlvbiA9PSBBY2NlbGVyYXRlZEFjdGlvbjo6U3RvcCkKKyAgICAgICAgICAgIG1f
cGVuZGluZ0FjY2VsZXJhdGVkQWN0aW9ucy5jbGVhcigpOwogICAgICAgICByZXR1cm47CisgICAg
fQogCiAgICAgYXV0byBwZW5kaW5nQWNjZWxlcmF0ZWRBY3Rpb25zID0gbV9wZW5kaW5nQWNjZWxl
cmF0ZWRBY3Rpb25zOwogICAgIG1fcGVuZGluZ0FjY2VsZXJhdGVkQWN0aW9ucy5jbGVhcigpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9hbmltYXRpb24vV2ViQW5pbWF0aW9uLmNwcAppbmRleCA3MzdkYTc1NWM2
MjIyZWM1ZWI2Mzk0YmRjMGVlZjljZThjMmM4ZDMyLi43MDI5MjZjOWNlZGVmMzI5MDA5MTY3ZjJl
NjBiZjlmODhlMDRkMmQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vV2Vi
QW5pbWF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vV2ViQW5pbWF0aW9u
LmNwcApAQCAtNzE3LDcgKzcxNyw3IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IFdlYkFuaW1hdGlvbjo6
ZmluaXNoKCkKICAgICByZXR1cm4geyB9OwogfQogCi12b2lkIFdlYkFuaW1hdGlvbjo6dGltaW5n
RGlkQ2hhbmdlKERpZFNlZWsgZGlkU2VlaywgU3luY2hyb25vdXNseU5vdGlmeSBzeW5jaHJvbm91
c2x5Tm90aWZ5KQordm9pZCBXZWJBbmltYXRpb246OnRpbWluZ0RpZENoYW5nZShEaWRTZWVrIGRp
ZFNlZWssIFN5bmNocm9ub3VzbHlOb3RpZnkgc3luY2hyb25vdXNseU5vdGlmeSwgU2lsZW50bHkg
c2lsZW50bHkpCiB7CiAgICAgbV9zaG91bGRTa2lwVXBkYXRpbmdGaW5pc2hlZFN0YXRlV2hlblJl
c29sdmluZyA9IGZhbHNlOwogICAgIHVwZGF0ZUZpbmlzaGVkU3RhdGUoZGlkU2Vlaywgc3luY2hy
b25vdXNseU5vdGlmeSk7CkBAIC03MjcsNyArNzI3LDcgQEAgdm9pZCBXZWJBbmltYXRpb246OnRp
bWluZ0RpZENoYW5nZShEaWRTZWVrIGRpZFNlZWssIFN5bmNocm9ub3VzbHlOb3RpZnkgc3luY2hy
b24KICAgICAgICAgZG93bmNhc3Q8S2V5ZnJhbWVFZmZlY3Q+KCptX2VmZmVjdCkuYW5pbWF0aW9u
VGltaW5nRGlkQ2hhbmdlKCk7CiAgICAgfQogCi0gICAgaWYgKG1fdGltZWxpbmUpCisgICAgaWYg
KHNpbGVudGx5ID09IFNpbGVudGx5OjpObyAmJiBtX3RpbWVsaW5lKQogICAgICAgICBtX3RpbWVs
aW5lLT5hbmltYXRpb25UaW1pbmdEaWRDaGFuZ2UoKnRoaXMpOwogfTsKIApAQCAtOTc5LDcgKzk3
OSw3IEBAIHZvaWQgV2ViQW5pbWF0aW9uOjpydW5QZW5kaW5nUGxheVRhc2soKQogICAgICAgICBt
X3JlYWR5UHJvbWlzZS0+cmVzb2x2ZSgqdGhpcyk7CiAKICAgICAvLyA1LiBSdW4gdGhlIHByb2Nl
ZHVyZSB0byB1cGRhdGUgYW4gYW5pbWF0aW9uJ3MgZmluaXNoZWQgc3RhdGUgZm9yIGFuaW1hdGlv
biB3aXRoIHRoZSBkaWQgc2VlayBmbGFnIHNldCB0byBmYWxzZSwgYW5kIHRoZSBzeW5jaHJvbm91
c2x5IG5vdGlmeSBmbGFnIHNldCB0byBmYWxzZS4KLSAgICB0aW1pbmdEaWRDaGFuZ2UoRGlkU2Vl
azo6Tm8sIFN5bmNocm9ub3VzbHlOb3RpZnk6Ok5vKTsKKyAgICB0aW1pbmdEaWRDaGFuZ2UoRGlk
U2Vlazo6Tm8sIFN5bmNocm9ub3VzbHlOb3RpZnk6Ok5vLCBTaWxlbnRseTo6WWVzKTsKIAogICAg
IGludmFsaWRhdGVFZmZlY3QoKTsKIH0KQEAgLTExMDUsNyArMTEwNSw3IEBAIHZvaWQgV2ViQW5p
bWF0aW9uOjpydW5QZW5kaW5nUGF1c2VUYXNrKCkKIAogICAgIC8vIDYuIFJ1biB0aGUgcHJvY2Vk
dXJlIHRvIHVwZGF0ZSBhbiBhbmltYXRpb24ncyBmaW5pc2hlZCBzdGF0ZSBmb3IgYW5pbWF0aW9u
IHdpdGggdGhlIGRpZCBzZWVrIGZsYWcgc2V0IHRvIGZhbHNlLCBhbmQgdGhlCiAgICAgLy8gICAg
c3luY2hyb25vdXNseSBub3RpZnkgZmxhZyBzZXQgdG8gZmFsc2UuCi0gICAgdGltaW5nRGlkQ2hh
bmdlKERpZFNlZWs6Ok5vLCBTeW5jaHJvbm91c2x5Tm90aWZ5OjpObyk7CisgICAgdGltaW5nRGlk
Q2hhbmdlKERpZFNlZWs6Ok5vLCBTeW5jaHJvbm91c2x5Tm90aWZ5OjpObywgU2lsZW50bHk6Olll
cyk7CiAKICAgICBpbnZhbGlkYXRlRWZmZWN0KCk7CiB9CkBAIC0xMjg5LDM3ICsxMjg5LDM5IEBA
IEV4Y2VwdGlvbk9yPHZvaWQ+IFdlYkFuaW1hdGlvbjo6Y29tbWl0U3R5bGVzKCkKIAogU2Vjb25k
cyBXZWJBbmltYXRpb246OnRpbWVUb05leHRUaWNrKCkgY29uc3QKIHsKLSAgICBBU1NFUlQoaXNS
dW5uaW5nQWNjZWxlcmF0ZWQoKSk7Ci0KKyAgICAvLyBBbnkgYW5pbWF0aW9uIHRoYXQgaXMgcGVu
ZGluZyBuZWVkcyBpbW1lZGlhdGUgcmVzb2x1dGlvbi4KICAgICBpZiAocGVuZGluZygpKQogICAg
ICAgICByZXR1cm4gMF9zOwogCi0gICAgLy8gSWYgd2UncmUgbm90IHJ1bm5pbmcsIHRoZXJlJ3Mg
bm8gdGVsbGluZyB3aGVuIHdlJ2xsIGVuZC4KLSAgICBpZiAocGxheVN0YXRlKCkgIT0gUGxheVN0
YXRlOjpSdW5uaW5nKQorICAgIC8vIElmIHdlJ3JlIG5vdCBydW5uaW5nLCBvciB0aW1lIGlzIG5v
dCBhZHZhbmNpbmcgZm9yIHRoaXMgYW5pbWF0aW9uLCB0aGVyZSdzIG5vIHRlbGxpbmcgd2hlbiB3
ZSdsbCBlbmQuCisgICAgYXV0byBwbGF5YmFja1JhdGUgPSBlZmZlY3RpdmVQbGF5YmFja1JhdGUo
KTsKKyAgICBpZiAocGxheVN0YXRlKCkgIT0gUGxheVN0YXRlOjpSdW5uaW5nIHx8ICFwbGF5YmFj
a1JhdGUpCiAgICAgICAgIHJldHVybiBTZWNvbmRzOjppbmZpbml0eSgpOwogCi0gICAgLy8gQ1NT
IEFuaW1hdGlvbnMgZGlzcGF0Y2ggZXZlbnRzIGZvciBlYWNoIGl0ZXJhdGlvbiwgc28gY29tcHV0
ZSB0aGUgdGltZSB1bnRpbAotICAgIC8vIHRoZSBlbmQgb2YgdGhpcyBpdGVyYXRpb24uIEFueSBv
dGhlciBhbmltYXRpb24gb25seSBjYXJlcyBhYm91dCByZW1hbmluZyB0b3RhbCB0aW1lLgotICAg
IGlmIChpc0NTU0FuaW1hdGlvbigpKSB7Ci0gICAgICAgIGF1dG8qIGFuaW1hdGlvbkVmZmVjdCA9
IGVmZmVjdCgpOwotICAgICAgICBhdXRvIHRpbWluZyA9IGFuaW1hdGlvbkVmZmVjdC0+Z2V0Q29t
cHV0ZWRUaW1pbmcoKTsKLSAgICAgICAgLy8gSWYgd2UncmUgYWN0aXZlbHkgcnVubmluZywgd2Ug
bmVlZCB0aGUgdGltZSB1bnRpbCB0aGUgbmV4dCBpdGVyYXRpb24uCi0gICAgICAgIGlmIChhdXRv
IGl0ZXJhdGlvblByb2dyZXNzID0gdGltaW5nLnNpbXBsZUl0ZXJhdGlvblByb2dyZXNzKQotICAg
ICAgICAgICAgcmV0dXJuIGFuaW1hdGlvbkVmZmVjdC0+aXRlcmF0aW9uRHVyYXRpb24oKSAqICgx
IC0gKml0ZXJhdGlvblByb2dyZXNzKTsKLQotICAgICAgICAvLyBPdGhlcndpc2Ugd2UncmUgcHJv
YmFibHkgaW4gdGhlIGJlZm9yZSBwaGFzZSB3YWl0aW5nIHRvIHJlYWNoIG91ciBzdGFydCB0aW1l
LgotICAgICAgICBpZiAoYXV0byBhbmltYXRpb25DdXJyZW50VGltZSA9IGN1cnJlbnRUaW1lKCkp
IHsKLSAgICAgICAgICAgIC8vIElmIG91ciBjdXJyZW50IHRpbWUgaXMgbmVnYXRpdmUsIHdlIG5l
ZWQgdG8gYmUgc2NoZWR1bGVkIHRvIGJlIHJlc29sdmVkIGF0IHRoZSBpbnZlcnNlCi0gICAgICAg
ICAgICAvLyBvZiBvdXIgY3VycmVudCB0aW1lLCB1bmxlc3Mgd2UgZmlsbCBiYWNrd2FyZHMsIGlu
IHdoaWNoIGNhc2Ugd2Ugd2FudCB0byBpbnZhbGlkYXRlIGFzCi0gICAgICAgICAgICAvLyBzb29u
IGFzIHBvc3NpYmxlLgotICAgICAgICAgICAgYXV0byBsb2NhbFRpbWUgPSBhbmltYXRpb25DdXJy
ZW50VGltZS52YWx1ZSgpOwotICAgICAgICAgICAgaWYgKGxvY2FsVGltZSA8IDBfcykKLSAgICAg
ICAgICAgICAgICByZXR1cm4gLWxvY2FsVGltZTsKLSAgICAgICAgICAgIGlmIChsb2NhbFRpbWUg
PCBhbmltYXRpb25FZmZlY3QtPmRlbGF5KCkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIGFuaW1h
dGlvbkVmZmVjdC0+ZGVsYXkoKSAtIGxvY2FsVGltZTsKKyAgICBhdXRvJiBlZmZlY3QgPSAqdGhp
cy0+ZWZmZWN0KCk7CisgICAgYXV0byB0aW1pbmcgPSBlZmZlY3QuZ2V0QmFzaWNUaW1pbmcoKTsK
KyAgICBzd2l0Y2ggKHRpbWluZy5waGFzZSkgeworICAgIGNhc2UgQW5pbWF0aW9uRWZmZWN0UGhh
c2U6OkJlZm9yZToKKyAgICAgICAgLy8gVGhlIGFuaW1hdGlvbiBpcyBpbiBpdHMgImJlZm9yZSIg
cGhhc2UsIGluIHRoaXMgY2FzZSB3ZSBjYW4gd2FpdCB1bnRpbCBpdCBlbnRlcnMgaXRzICJhY3Rp
dmUiIHBoYXNlLgorICAgICAgICByZXR1cm4gKGVmZmVjdC5kZWxheSgpIC0gdGltaW5nLmxvY2Fs
VGltZS52YWx1ZSgpKSAvIHBsYXliYWNrUmF0ZTsKKyAgICBjYXNlIEFuaW1hdGlvbkVmZmVjdFBo
YXNlOjpBY3RpdmU6CisgICAgICAgIC8vIE5vbi1hY2NlbGVyYXRlZCBhbmltYXRpb25zIGluIHRo
ZSAiYWN0aXZlIiBwaGFzZSB3aWxsIG5lZWQgdG8gdXBkYXRlIHRoZWlyIGFuaW1hdGVkIHZhbHVl
IGF0IHRoZSBpbW1lZGlhdGUgbmV4dCBvcHBvcnR1bml0eS4KKyAgICAgICAgaWYgKCFpc1J1bm5p
bmdBY2NlbGVyYXRlZCgpKQorICAgICAgICAgICAgcmV0dXJuIDBfczsKKyAgICAgICAgLy8gQWNj
ZWxlcmF0ZWQgQ1NTIEFuaW1hdGlvbnMgbmVlZCB0byB0cmlnZ2VyICJhbmltYXRpb25pdGVyYXRp
b24iIGV2ZW50cywgaW4gdGhpcyBjYXNlIHdlIGNhbiB3YWl0IHVudGlsIHRoZSBuZXh0IGl0ZXJh
dGlvbi4KKyAgICAgICAgaWYgKGlzQ1NTQW5pbWF0aW9uKCkpIHsKKyAgICAgICAgICAgIGlmIChh
dXRvIGl0ZXJhdGlvblByb2dyZXNzID0gZWZmZWN0LmdldENvbXB1dGVkVGltaW5nKCkuc2ltcGxl
SXRlcmF0aW9uUHJvZ3Jlc3MpCisgICAgICAgICAgICAgICAgcmV0dXJuIGVmZmVjdC5pdGVyYXRp
b25EdXJhdGlvbigpICogKDEgLSAqaXRlcmF0aW9uUHJvZ3Jlc3MpOwogICAgICAgICB9Ci0gICAg
fSBlbHNlIGlmIChhdXRvIGFuaW1hdGlvbkN1cnJlbnRUaW1lID0gY3VycmVudFRpbWUoKSkKLSAg
ICAgICAgcmV0dXJuIGVmZmVjdCgpLT5lbmRUaW1lKCkgLSAqYW5pbWF0aW9uQ3VycmVudFRpbWU7
CisgICAgICAgIC8vIEFjY2VsZXJhdGVkIGFuaW1hdGlvbnMgaW4gdGhlICJhY3RpdmUiIHBoYXNl
IGNhbiB3YWl0IHVudGlsIHRoZXkgZW5kZWQuCisgICAgICAgIHJldHVybiAoZWZmZWN0LmVuZFRp
bWUoKSAtIHRpbWluZy5sb2NhbFRpbWUudmFsdWUoKSkgLyBwbGF5YmFja1JhdGU7CisgICAgY2Fz
ZSBBbmltYXRpb25FZmZlY3RQaGFzZTo6QWZ0ZXI6CisgICAgICAgIC8vIFRoZSBhbmltYXRpb24g
aXMgaW4gaXRzIGFmdGVyIHBoYXNlLCB3aGljaCBtZWFucyBpdCB3aWxsIG5vIGxvbmdlciB1cGRh
dGUgaXRzIHZhbHVlLCBzbyBpdCBkb2Vucyd0IG5lZWQgYSB0aWNrLgorICAgICAgICByZXR1cm4g
U2Vjb25kczo6aW5maW5pdHkoKTsKKyAgICBjYXNlIEFuaW1hdGlvbkVmZmVjdFBoYXNlOjpJZGxl
OgorICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgcmV0dXJuIFNlY29uZHM6
OmluZmluaXR5KCk7CisgICAgfQogCiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgcmV0
dXJuIFNlY29uZHM6OmluZmluaXR5KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hbmlt
YXRpb24vV2ViQW5pbWF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vV2ViQW5pbWF0
aW9uLmgKaW5kZXggMTVmYWQ2MTA4ODM0YTFmMzg5Y2JkZWMzMGI1MzNlYzIwNzVlODdkZC4uZGE0
ZDhlYzNiYzJlNTcwYjQ4YTUxZGJjMTRhMzQ0ZTZjNDliYTA3MCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Fu
aW1hdGlvbi9XZWJBbmltYXRpb24uaApAQCAtMTU0LDcgKzE1NCw3IEBAIHByaXZhdGU6CiAgICAg
ZW51bSBjbGFzcyBBdXRvUmV3aW5kIDogdWludDhfdCB7IFllcywgTm8gfTsKICAgICBlbnVtIGNs
YXNzIFRpbWVUb1J1blBlbmRpbmdUYXNrIDogdWludDhfdCB7IE5vdFNjaGVkdWxlZCwgQVNBUCwg
V2hlblJlYWR5IH07CiAKLSAgICB2b2lkIHRpbWluZ0RpZENoYW5nZShEaWRTZWVrLCBTeW5jaHJv
bm91c2x5Tm90aWZ5KTsKKyAgICB2b2lkIHRpbWluZ0RpZENoYW5nZShEaWRTZWVrLCBTeW5jaHJv
bm91c2x5Tm90aWZ5LCBTaWxlbnRseSA9IFNpbGVudGx5OjpObyk7CiAgICAgdm9pZCB1cGRhdGVG
aW5pc2hlZFN0YXRlKERpZFNlZWssIFN5bmNocm9ub3VzbHlOb3RpZnkpOwogICAgIFNlY29uZHMg
ZWZmZWN0RW5kVGltZSgpIGNvbnN0OwogICAgIFdlYkFuaW1hdGlvbiYgcmVhZHlQcm9taXNlUmVz
b2x2ZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCmluZGV4IGVhN2NhODdiNzMzNjVhMTM4MDk0NzEwN2IwYmI5ZjA0MGQzMTk4OGMu
LjIwZjU5YWQ2ODMxZDcwZDY3ZTdiYTg3MzhkYzYyNmFkZjIwZjU4ZmYgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxOCBAQAorMjAxOS0xMS0zMCAgQW50b2luZSBRdWludCAgPGdyYW91dHNAYXBwbGUuY29tPgor
CisgICAgICAgIFtXZWIgQW5pbWF0aW9uc10gRm9yd2FyZC1maWxsaW5nIGFuaW1hdGlvbnMgc2hv
dWxkIG5vdCBzY2hlZHVsZSB1cGRhdGVzIHdoaWxlIGZpbGxpbmcKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNDY5NworICAgICAgICA8cmRhcjovL3By
b2JsZW0vNTc1MzQwMDU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQWRkaW5nIHRlc3RzIGNoZWNraW5nIHRoYXQgd2UgZG9uJ3Qgc2NoZWR1bGUgYW5p
bWF0aW9uIHVwZGF0ZXMgd2hpbGUgZmlsbGluZyBmb3IgYWNjZWxlcmF0ZWQgYW5kIG5vbi1hY2Nl
bGVyYXRlZCBhbmltYXRpb25zIGFsaWtlLgorCisgICAgICAgICogd2ViYW5pbWF0aW9ucy9uby1z
Y2hlZHVsaW5nLXdoaWxlLWZpbGxpbmctYWNjZWxlcmF0ZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiB3ZWJhbmltYXRpb25zL25vLXNjaGVkdWxpbmctd2hpbGUtZmlsbGluZy1hY2Nl
bGVyYXRlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJhbmltYXRpb25zL25vLXNjaGVkdWxp
bmctd2hpbGUtZmlsbGluZy1ub24tYWNjZWxlcmF0ZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWJhbmltYXRpb25zL25vLXNjaGVkdWxpbmctd2hpbGUtZmlsbGluZy1ub24tYWNj
ZWxlcmF0ZWQuaHRtbDogQWRkZWQuCisKIDIwMTktMTEtMjkgIENvbW1pdCBRdWV1ZSAgPGNvbW1p
dC1xdWV1ZUB3ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIy
NTI5NDQuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJhbmltYXRpb25zL25vLXNjaGVkdWxp
bmctd2hpbGUtZmlsbGluZy1hY2NlbGVyYXRlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93
ZWJhbmltYXRpb25zL25vLXNjaGVkdWxpbmctd2hpbGUtZmlsbGluZy1hY2NlbGVyYXRlZC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjM5NWI2MDhjNmNiMmE3MDY1MjJmMzlkNjQ3ZDFlNjUxMjFi
YmNkOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmFuaW1hdGlvbnMvbm8tc2No
ZWR1bGluZy13aGlsZS1maWxsaW5nLWFjY2VsZXJhdGVkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDMgQEAKKworUEFTUyBUaGVyZSBzaG91bGQgbm90IGJlIG1vcmUgdGhhbiBvbmUgdXBkYXRlIG1h
ZGUgdG8gdGhlIHRpbWVsaW5lIGFmdGVyIGEgZm9yd2FyZC1maWxsaW5nIGFjY2VsZXJhdGVkIGFu
aW1hdGlvbiBjb21wbGV0ZXMuIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJhbmltYXRp
b25zL25vLXNjaGVkdWxpbmctd2hpbGUtZmlsbGluZy1hY2NlbGVyYXRlZC5odG1sIGIvTGF5b3V0
VGVzdHMvd2ViYW5pbWF0aW9ucy9uby1zY2hlZHVsaW5nLXdoaWxlLWZpbGxpbmctYWNjZWxlcmF0
ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5lZmVlMTU3NmYwMGU4OTU2OTI1MGRkNGZmYmUzYTM0N2Q0ZmRi
NmQxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViYW5pbWF0aW9ucy9uby1zY2hl
ZHVsaW5nLXdoaWxlLWZpbGxpbmctYWNjZWxlcmF0ZWQuaHRtbApAQCAtMCwwICsxLDQ1IEBACis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c3R5bGU+CisKKyN0YXJnZXQgeworICAg
IHdpZHRoOiAxMDBweDsKKyAgICBoZWlnaHQ6IDEwMHB4OworICAgIGJhY2tncm91bmQtY29sb3I6
IGJsYWNrOworfQorCis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4v
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0idGFyZ2V0Ij48
L2Rpdj4KKzxzY3JpcHQ+CisKK2Z1bmN0aW9uIHdhaXRORnJhbWVzKG51bWJlck9mRnJhbWVzLCBj
b250aW51YXRpb24pCit7CisgICAgbGV0IGVsYXBzZWRGcmFtZXMgPSAwOworICAgIChmdW5jdGlv
biByQUZDYWxsYmFjaygpIHsKKyAgICAgICAgaWYgKGVsYXBzZWRGcmFtZXMrKyA+PSBudW1iZXJP
ZkZyYW1lcykKKyAgICAgICAgICAgIGNvbnRpbnVhdGlvbigpOworICAgICAgICBlbHNlCisgICAg
ICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUockFGQ2FsbGJhY2spOworICAgIH0pKCk7Cit9
CisKK2FzeW5jX3Rlc3QodCA9PiB7CisgICAgY29uc3Qga2V5ZnJhbWVzID0geyB0cmFuc2Zvcm06
IFsidHJhbnNsYXRlWCg1MHB4KSIsICJ0cmFuc2xhdGVYKDEwMHB4KSJdIH07CisgICAgY29uc3Qg
dGltaW5nID0geyBkdXJhdGlvbjogNTAsIGZpbGw6ICJmb3J3YXJkcyIgfTsKKyAgICBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0IikuYW5pbWF0ZShrZXlmcmFtZXMsIHRpbWluZykuYWRk
RXZlbnRMaXN0ZW5lcigiZmluaXNoIiwgZXZlbnQgPT4geworICAgICAgICBjb25zdCBudW1iZXJP
ZlRpbWVsaW5lSW52YWxpZGF0aW9uc1doZW5GaW5pc2hlZCA9IGludGVybmFscy5udW1iZXJPZkFu
aW1hdGlvblRpbWVsaW5lSW52YWxpZGF0aW9ucygpOworICAgICAgICB3YWl0TkZyYW1lcygzLCAo
KSA9PiB7CisgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGludGVybmFscy5udW1iZXJPZkFuaW1h
dGlvblRpbWVsaW5lSW52YWxpZGF0aW9ucygpLCBudW1iZXJPZlRpbWVsaW5lSW52YWxpZGF0aW9u
c1doZW5GaW5pc2hlZCArIDEpOworICAgICAgICAgICAgdC5kb25lKCk7CisgICAgICAgIH0pOwor
ICAgIH0pOworfSwgIlRoZXJlIHNob3VsZCBub3QgYmUgbW9yZSB0aGFuIG9uZSB1cGRhdGUgbWFk
ZSB0byB0aGUgdGltZWxpbmUgYWZ0ZXIgYSBmb3J3YXJkLWZpbGxpbmcgYWNjZWxlcmF0ZWQgYW5p
bWF0aW9uIGNvbXBsZXRlcy4iKTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy93ZWJhbmltYXRpb25zL25vLXNjaGVkdWxpbmctd2hpbGUtZmls
bGluZy1ub24tYWNjZWxlcmF0ZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViYW5pbWF0
aW9ucy9uby1zY2hlZHVsaW5nLXdoaWxlLWZpbGxpbmctbm9uLWFjY2VsZXJhdGVkLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5hYTllMTA1ZWJkOWE3N2E2MmJhZGVhNjZjNWM2OTFjOGM5MGQxMGZk
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViYW5pbWF0aW9ucy9uby1zY2hlZHVs
aW5nLXdoaWxlLWZpbGxpbmctbm9uLWFjY2VsZXJhdGVkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDMgQEAKKworUEFTUyBUaGVyZSBzaG91bGQgbm90IGJlIGFueSB1cGRhdGVzIG1hZGUgdG8gdGhl
IHRpbWVsaW5lIGFmdGVyIGEgZm9yd2FyZC1maWxsaW5nIGFuaW1hdGlvbiBjb21wbGV0ZXMuIAor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJhbmltYXRpb25zL25vLXNjaGVkdWxpbmctd2hp
bGUtZmlsbGluZy1ub24tYWNjZWxlcmF0ZWQuaHRtbCBiL0xheW91dFRlc3RzL3dlYmFuaW1hdGlv
bnMvbm8tc2NoZWR1bGluZy13aGlsZS1maWxsaW5nLW5vbi1hY2NlbGVyYXRlZC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjA4N2IwY2U3YzZlZGY5ZjBkMDA4MDA2Y2YyY2QyMjUxMGRmZjMxZjIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJhbmltYXRpb25zL25vLXNjaGVkdWxpbmctd2hpbGUt
ZmlsbGluZy1ub24tYWNjZWxlcmF0ZWQuaHRtbApAQCAtMCwwICsxLDQ1IEBACis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c3R5bGU+CisKKyN0YXJnZXQgeworICAgIHdpZHRoOiAx
MDBweDsKKyAgICBoZWlnaHQ6IDEwMHB4OworICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrOwor
fQorCis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0idGFyZ2V0Ij48L2Rpdj4KKzxz
Y3JpcHQ+CisKK2Z1bmN0aW9uIHdhaXRORnJhbWVzKG51bWJlck9mRnJhbWVzLCBjb250aW51YXRp
b24pCit7CisgICAgbGV0IGVsYXBzZWRGcmFtZXMgPSAwOworICAgIChmdW5jdGlvbiByQUZDYWxs
YmFjaygpIHsKKyAgICAgICAgaWYgKGVsYXBzZWRGcmFtZXMrKyA+PSBudW1iZXJPZkZyYW1lcykK
KyAgICAgICAgICAgIGNvbnRpbnVhdGlvbigpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBy
ZXF1ZXN0QW5pbWF0aW9uRnJhbWUockFGQ2FsbGJhY2spOworICAgIH0pKCk7Cit9CisKK2FzeW5j
X3Rlc3QodCA9PiB7CisgICAgY29uc3Qga2V5ZnJhbWVzID0geyBtYXJnaW5MZWZ0OiBbIjUwcHgi
LCAiMTAwcHgiXSB9OworICAgIGNvbnN0IHRpbWluZyA9IHsgZHVyYXRpb246IDUwLCBmaWxsOiAi
Zm9yd2FyZHMiIH07CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldCIpLmFuaW1h
dGUoa2V5ZnJhbWVzLCB0aW1pbmcpLmFkZEV2ZW50TGlzdGVuZXIoImZpbmlzaCIsIGV2ZW50ID0+
IHsKKyAgICAgICAgY29uc3QgbnVtYmVyT2ZUaW1lbGluZUludmFsaWRhdGlvbnNXaGVuRmluaXNo
ZWQgPSBpbnRlcm5hbHMubnVtYmVyT2ZBbmltYXRpb25UaW1lbGluZUludmFsaWRhdGlvbnMoKTsK
KyAgICAgICAgd2FpdE5GcmFtZXMoMiwgKCkgPT4geworICAgICAgICAgICAgYXNzZXJ0X2VxdWFs
cyhpbnRlcm5hbHMubnVtYmVyT2ZBbmltYXRpb25UaW1lbGluZUludmFsaWRhdGlvbnMoKSwgbnVt
YmVyT2ZUaW1lbGluZUludmFsaWRhdGlvbnNXaGVuRmluaXNoZWQpOworICAgICAgICAgICAgdC5k
b25lKCk7CisgICAgICAgIH0pOworICAgIH0pOworfSwgIlRoZXJlIHNob3VsZCBub3QgYmUgYW55
IHVwZGF0ZXMgbWFkZSB0byB0aGUgdGltZWxpbmUgYWZ0ZXIgYSBmb3J3YXJkLWZpbGxpbmcgYW5p
bWF0aW9uIGNvbXBsZXRlcy4iKTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>
<flag name="review"
          id="400336"
          type_id="1"
          status="+"
          setter="dino"
    />
          </attachment>
      

    </bug>

</bugzilla>