<?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>154744</bug_id>
          
          <creation_ts>2016-02-26 13:10:53 -0800</creation_ts>
          <short_desc>Page TimerAlignmentIntervalIncrease mechanism should have upper limit</short_desc>
          <delta_ts>2016-02-26 15:26:43 -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>WebKit Misc.</component>
          <version>Other</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Gavin Barraclough">barraclough</reporter>
          <assigned_to name="Gavin Barraclough">barraclough</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1168646</commentid>
    <comment_count>0</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2016-02-26 13:10:53 -0800</bug_when>
    <thetext>There would be diminishing returns from throttling timers in background pages infinitely. Add a heuristic to try to limit appropriately.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1168666</commentid>
    <comment_count>1</comment_count>
      <attachid>272365</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2016-02-26 13:53:29 -0800</bug_when>
    <thetext>Created attachment 272365
Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1168692</commentid>
    <comment_count>2</comment_count>
      <attachid>272365</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2016-02-26 14:20:15 -0800</bug_when>
    <thetext>Comment on attachment 272365
Fix

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

r=me

&gt; Source/WebKit2/UIProcess/WebProcessPool.cpp:1325
&gt; +void WebProcessPool::updateHidenPageThrottingAutoIncreaseLimit()

&quot;hidden&quot;

&quot;throttling&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1168703</commentid>
    <comment_count>3</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2016-02-26 14:41:06 -0800</bug_when>
    <thetext>wow I speel gud. :-(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1168718</commentid>
    <comment_count>4</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2016-02-26 15:26:43 -0800</bug_when>
    <thetext>Transmitting file data ............
Committed revision 197213.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>272365</attachid>
            <date>2016-02-26 13:53:29 -0800</date>
            <delta_ts>2016-02-26 14:20:15 -0800</delta_ts>
            <desc>Fix</desc>
            <filename>154744.1.patch</filename>
            <type>text/plain</type>
            <size>18185</size>
            <attacher name="Gavin Barraclough">barraclough</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE5NzE3OCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI5IEBACisyMDE2LTAyLTI2ICBHYXZpbiBC
YXJyYWNsb3VnaCAgPGJhcnJhY2xvdWdoQGFwcGxlLmNvbT4KKworICAgICAgICBQYWdlIFRpbWVy
QWxpZ25tZW50SW50ZXJ2YWxJbmNyZWFzZSBtZWNoYW5pc20gc2hvdWxkIGhhdmUgdXBwZXIgbGlt
aXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NDc0
NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZXJl
IHdvdWxkIGJlIGRpbWluaXNoaW5nIHJldHVybnMgZnJvbSB0aHJvdHRsaW5nIHRpbWVycyBpbiBi
YWNrZ3JvdW5kIHBhZ2VzIGluZmluaXRlbHkuCisgICAgICAgIEFkZCBhIGhldXJpc3RpYyB0byBs
aW1pdCBhcHByb3ByaWF0ZWx5LgorCisgICAgICAgIEtlZXAgdHJhY2sgb2YgdGhlIGN1cnJlbnQg
bGltaXQsIGFuZCBtYWtlIHRoZSBpbmNyZWFzZSB0aW1lIHRha2UgdGhpcyBpbnRvIGFjY291bnQu
CisKKyAgICAgICAgKiBwYWdlL1BhZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6c2V0
VGltZXJUaHJvdHRsaW5nRW5hYmxlZCk6CisgICAgICAgICAgICAtIFdoZW4gdGltZXIgdGhyb3R0
bGluZyBpcyBkaXNhYmxlZCB2aXNpdCBhbGwgdGltZXJzIHRvIHJlc3VtZS4KKyAgICAgICAgKFdl
YkNvcmU6OlBhZ2U6OnNldFRpbWVyQWxpZ25tZW50SW50ZXJ2YWxJbmNyZWFzZUxpbWl0KToKKyAg
ICAgICAgICAgIC0gVHJhY2sgdGhlIG1heGltdW0gYWxpZ25tZW50IGludGVydmFsLCBhbmQgY2Fs
bCBzZXRET01UaW1lckFsaWdubWVudEludGVydmFsCisgICAgICAgICAgICAgIHRvIGVuc3VyZSBt
X3RpbWVyQWxpZ25tZW50SW50ZXJ2YWwgaXMgdXBkYXRlZCBpbiBhY2NvcmRhbmNlIHdpdGggdGhl
IG5ldyBsaW1pdC4KKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OnNldERPTVRpbWVyQWxpZ25tZW50
SW50ZXJ2YWwpOgorICAgICAgICAgICAgLSBXaGVuIHRoZSB0aW1lciBhbGlnbmVtbnQgaW50ZXJ2
YWwgY2hhbmdlcyB1cGRhdGUgdGhlIGluY3JlYXNlIHRpbWVyLgorICAgICAgICAoV2ViQ29yZTo6
UGFnZTo6dGltZXJBbGlnbm1lbnRJbnRlcnZhbEluY3JlYXNlVGltZXJGaXJlZCk6CisgICAgICAg
ICAgICAtIEFwcGx5IGxpbWl0LgorICAgICAgICAqIHBhZ2UvUGFnZS5oOgorICAgICAgICAoV2Vi
Q29yZTo6UGFnZTo6dGltZXJUaHJvdHRsaW5nRW5hYmxlZCk6CisgICAgICAgICAgICAtIEFjY2Vz
c29yIGZvciByZWFkYWJpbGl0eS4KKwogMjAxNi0wMi0yNSAgR2F2aW4gQmFycmFjbG91Z2ggIDxi
YXJyYWNsb3VnaEBhcHBsZS5jb20+CiAKICAgICAgICAgUmVmQ291bnRlciB2YWx1ZSBjaGFuZ2Vk
IGNhbGxiYWNrIHNob3VsZCBiZSBjYWxsZWQgb24gYWxsIGNoYW5nZXMgKG5vdCBqdXN0IHplcm8g
ZWRnZSkuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAJKHJldmlzaW9uIDE5NzE3NykKKysrIFNvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExNjcsNDggKzExNjcs
NTkgQEAgdm9pZCBQYWdlOjpzZXRUaW1lclRocm90dGxpbmdFbmFibGVkKGJvbwogICAgIGlmICgh
bV9zZXR0aW5ncy0+aGlkZGVuUGFnZURPTVRpbWVyVGhyb3R0bGluZ0VuYWJsZWQoKSkKICAgICAg
ICAgZW5hYmxlZCA9IGZhbHNlOwogCi0gICAgaWYgKGVuYWJsZWQgPT0gISFtX3RpbWVyVGhyb3R0
bGluZ0VuYWJsZWRUaW1lKQorICAgIGlmIChlbmFibGVkID09IHRpbWVyVGhyb3R0bGluZ0VuYWJs
ZWQoKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgbV90aW1lclRocm90dGxpbmdFbmFibGVkVGlt
ZSA9IGVuYWJsZWQgPyBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSA6IE9wdGlvbmFsPGRv
dWJsZT4oKTsKICAgICBzZXRET01UaW1lckFsaWdubWVudEludGVydmFsKGVuYWJsZWQgPyBET01U
aW1lcjo6aGlkZGVuUGFnZUFsaWdubWVudEludGVydmFsKCkgOiBET01UaW1lcjo6ZGVmYXVsdEFs
aWdubWVudEludGVydmFsKCkpOworCisgICAgaWYgKGVuYWJsZWQpCisgICAgICAgIHJldHVybjsK
KworICAgIC8vIElmIHRocm90dGxpbmcgd2FzIGRpc2FibGVkLCByZWxlYXNlIGFsbCB0aHJvdHRs
ZWQgdGltZXJzLgorICAgIGZvciAoRnJhbWUqIGZyYW1lID0gJm1haW5GcmFtZSgpOyBmcmFtZTsg
ZnJhbWUgPSBmcmFtZS0+dHJlZSgpLnRyYXZlcnNlTmV4dCgpKSB7CisgICAgICAgIGlmIChhdXRv
KiBkb2N1bWVudCA9IGZyYW1lLT5kb2N1bWVudCgpKQorICAgICAgICAgICAgZG9jdW1lbnQtPmRp
ZENoYW5nZVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoKTsKKyAgICB9CiB9CiAKLXZvaWQgUGFnZTo6
c2V0RE9NVGltZXJBbGlnbm1lbnRJbnRlcnZhbChkb3VibGUgYWxpZ25tZW50SW50ZXJ2YWwpCit2
b2lkIFBhZ2U6OnNldFRpbWVyQWxpZ25tZW50SW50ZXJ2YWxJbmNyZWFzZUxpbWl0KHN0ZDo6Y2hy
b25vOjptaWxsaXNlY29uZHMgbGltaXQpCiB7Ci0gICAgLy8gSWYgdGhlIG5ldyBhbGlnbm1lbnRJ
bnRlcnZhbCBpcyBzaG9ydGVyIHRoYW4gdGhlIG9uZSBwcmVzZW50bHkgaW4gZWZmZWN0IHdlIG5l
ZWQgdG8gdXBkYXRlCi0gICAgLy8gZXhpc3RpbmcgdGltZXJzIChlLmcuIHdoZW4gYSBoaWRkZW4g
cGFnZSBiZWNvbWVzIHZpc2libGUgdGhyb3R0bGVkIHRpbWVycyBtdXN0IGJlIHVudGhyb3R0bGVk
KS4KLSAgICAvLyBIb3dldmVyIHdoZW4gbGVuZ3RoZW5pbmcgdGhlIGFsaWdubWVudCBpbnRlcnZh
bCwgbm8gbmVlZCB0byB1cGRhdGUgZXhpc3RpbmcgdGltZXJzLiBOb3QgZG9pbmcKLSAgICAvLyBz
byBtZWFucyB0aGF0IHRpbWVycyBzY2hlZHVsZWQgd2hpbGUgdGhlIHBhZ2UgaXMgdmlzaWJsZSBn
ZXQgdG8gZmlyZSBhY2N1cmF0ZWx5IChyZXBlYXRpbmcKLSAgICAvLyB0aW1lcnMgd2lsbCBiZSB0
aHJvdHRsZWQgb24gdGhlIG5leHQgdGltZXIgZmlyZSkuCi0gICAgYm9vbCBzaG91bGRSZXNjaGVk
dWxlRXhpc3RpbmdUaW1lcnMgPSBhbGlnbm1lbnRJbnRlcnZhbCA8IG1fdGltZXJBbGlnbm1lbnRJ
bnRlcnZhbDsKKyAgICAvLyBGSVhNRTogc3RkOjpjaHJvbm8taWZ5IGFsbCB0aW1lciBhbGxpZ25t
ZW50IHJlbGF0ZWQgY29kZS4KKyAgICBtX3RpbWVyQWxpZ25tZW50SW50ZXJ2YWxJbmNyZWFzZUxp
bWl0ID0gbGltaXQuY291bnQoKSAqIDAuMDAxOwogCi0gICAgbV90aW1lckFsaWdubWVudEludGVy
dmFsID0gYWxpZ25tZW50SW50ZXJ2YWw7CisgICAgaWYgKCF0aW1lclRocm90dGxpbmdFbmFibGVk
KCkpCisgICAgICAgIHJldHVybjsKIAotICAgIGlmIChzaG91bGRSZXNjaGVkdWxlRXhpc3RpbmdU
aW1lcnMpIHsKLSAgICAgICAgZm9yIChGcmFtZSogZnJhbWUgPSAmbWFpbkZyYW1lKCk7IGZyYW1l
OyBmcmFtZSA9IGZyYW1lLT50cmVlKCkudHJhdmVyc2VOZXh0KCkpIHsKLSAgICAgICAgICAgIGlm
IChhdXRvKiBkb2N1bWVudCA9IGZyYW1lLT5kb2N1bWVudCgpKQotICAgICAgICAgICAgICAgIGRv
Y3VtZW50LT5kaWRDaGFuZ2VUaW1lckFsaWdubWVudEludGVydmFsKCk7Ci0gICAgICAgIH0KLSAg
ICB9CisgICAgLy8gSWYgKG1fdGltZXJBbGlnbm1lbnRJbnRlcnZhbEluY3JlYXNlTGltaXQgPCBt
X3RpbWVyQWxpZ25tZW50SW50ZXJ2YWwpIHRoZW4gd2UgbmVlZAorICAgIC8vIHRvIHVwZGF0ZSBt
X3RpbWVyQWxpZ25tZW50SW50ZXJ2YWwsIGlmIGdyZWF0ZXIgdGhlbiBuZWVkIHRvIHJlc3RhcnQg
dGhlIGluY3JlYXNlIHRpbWVyLgorICAgIHNldERPTVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoc3Rk
OjptaW4obV90aW1lckFsaWdubWVudEludGVydmFsSW5jcmVhc2VMaW1pdCwgbV90aW1lckFsaWdu
bWVudEludGVydmFsKSk7Cit9CiAKLSAgICAvLyBJZiB0aHJvdHRsaW5nIGlzIGVuYWJsZWQgYW5k
IGF1dG8taW5jcmVhc2luZyBvZiB0aHJvdHRsaW5nIGlzIGVuYWJsZWQgdGhlbiBhcm0gdGhlIHRp
bWVyIHRvCi0gICAgLy8gY29uc2lkZXIgYW4gaW5jcmVhc2UuIFRpbWUgdG8gd2FpdCBiZXR3ZWVu
IGluY3JlYXNlcyBpcyBlcXVhbCB0byB0aGUgY3VycmVudCB0aHJvdHRsZSB0aW1lLgotICAgIC8v
IFNpbmNlIGFsaW5tZW50IGludGVydmFsIGluY3JlYXNlcyBleHBvbmVudGlhbGx5LCB0aW1lIGJl
dHdlZW4gc3RlcHMgaXMgZXhwb25lbnRpYWwgdG9vLgotICAgIGlmIChtX3RpbWVyVGhyb3R0bGlu
Z0VuYWJsZWRUaW1lICYmIG1fc2V0dGluZ3MtPmhpZGRlblBhZ2VET01UaW1lclRocm90dGxpbmdB
dXRvSW5jcmVhc2VzKCkpCi0gICAgICAgIG1fdGltZXJBbGlnbm1lbnRJbnRlcnZhbEluY3JlYXNl
VGltZXIuc3RhcnRPbmVTaG90KG1fdGltZXJBbGlnbm1lbnRJbnRlcnZhbCk7Ci0gICAgZWxzZQor
dm9pZCBQYWdlOjpzZXRET01UaW1lckFsaWdubWVudEludGVydmFsKGRvdWJsZSBhbGlnbm1lbnRJ
bnRlcnZhbCkKK3sKKyAgICBtX3RpbWVyQWxpZ25tZW50SW50ZXJ2YWwgPSBhbGlnbm1lbnRJbnRl
cnZhbDsKKworICAgIC8vIElmIHRocm90dGxpbmcgaXMgZW5hYmxlZCwgYXV0by1pbmNyZWFzaW5n
IG9mIHRocm90dGxpbmcgaXMgZW5hYmxlZCwgYW5kIHRoZSBhdXRvLWluY3JlYXNlCisgICAgLy8g
bGltaXQgaGFzIG5vdCB5ZXQgYmVlbiByZWFjaGVkLCBhbmQgdGhlbiBhcm0gdGhlIHRpbWVyIHRv
IGNvbnNpZGVyIGFuIGluY3JlYXNlLiBUaW1lIHRvIHdhaXQKKyAgICAvLyBiZXR3ZWVuIGluY3Jl
YXNlcyBpcyBlcXVhbCB0byB0aGUgY3VycmVudCB0aHJvdHRsZSB0aW1lLiBTaW5jZSBhbGlubWVu
dCBpbnRlcnZhbCBpbmNyZWFzZXMKKyAgICAvLyBleHBvbmVudGlhbGx5LCB0aW1lIGJldHdlZW4g
c3RlcHMgaXMgZXhwb25lbnRpYWwgdG9vLgorICAgIGlmICghdGltZXJUaHJvdHRsaW5nRW5hYmxl
ZCgpIHx8ICFtX3NldHRpbmdzLT5oaWRkZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nQXV0b0luY3Jl
YXNlcygpCisgICAgICAgIHx8IG1fdGltZXJBbGlnbm1lbnRJbnRlcnZhbCA+PSBtX3RpbWVyQWxp
Z25tZW50SW50ZXJ2YWxJbmNyZWFzZUxpbWl0KQogICAgICAgICBtX3RpbWVyQWxpZ25tZW50SW50
ZXJ2YWxJbmNyZWFzZVRpbWVyLnN0b3AoKTsKKyAgICBlbHNlIGlmICghbV90aW1lckFsaWdubWVu
dEludGVydmFsSW5jcmVhc2VUaW1lci5pc0FjdGl2ZSgpKQorICAgICAgICBtX3RpbWVyQWxpZ25t
ZW50SW50ZXJ2YWxJbmNyZWFzZVRpbWVyLnN0YXJ0T25lU2hvdChtX3RpbWVyQWxpZ25tZW50SW50
ZXJ2YWwpOwogfQogCiB2b2lkIFBhZ2U6OnRpbWVyQWxpZ25tZW50SW50ZXJ2YWxJbmNyZWFzZVRp
bWVyRmlyZWQoKQogewotICAgIEFTU0VSVChtX3RpbWVyVGhyb3R0bGluZ0VuYWJsZWRUaW1lICYm
IG1fc2V0dGluZ3MtPmhpZGRlblBhZ2VET01UaW1lclRocm90dGxpbmdBdXRvSW5jcmVhc2VzKCkp
OworICAgIEFTU0VSVCh0aW1lclRocm90dGxpbmdFbmFibGVkKCkgJiYgbV9zZXR0aW5ncy0+aGlk
ZGVuUGFnZURPTVRpbWVyVGhyb3R0bGluZ0F1dG9JbmNyZWFzZXMoKSk7CisgICAgQVNTRVJUKG1f
dGltZXJBbGlnbm1lbnRJbnRlcnZhbCA8IG1fdGltZXJBbGlnbm1lbnRJbnRlcnZhbEluY3JlYXNl
TGltaXQpOwogICAgICAgICAKLSAgICAvLyBBbGlnbm1lbnQgaW50ZXJ2YWwgaXMgaW5jcmVhc2Vk
IHRvIGVxdWFsIHRoZSB0aW1lIHRoZSBwYWdlIGhhcyBiZWVuIHRocm90dGxlZC4KKyAgICAvLyBB
bGlnbm1lbnQgaW50ZXJ2YWwgaXMgaW5jcmVhc2VkIHRvIGVxdWFsIHRoZSB0aW1lIHRoZSBwYWdl
IGhhcyBiZWVuIHRocm90dGxlZCwgdG8gYSBsaW1pdC4KICAgICBkb3VibGUgdGhyb3R0bGVkRHVy
YXRpb24gPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSAtIG1fdGltZXJUaHJvdHRsaW5n
RW5hYmxlZFRpbWUudmFsdWUoKTsKICAgICBkb3VibGUgYWxpZ25tZW50SW50ZXJ2YWwgPSBzdGQ6
Om1heChtX3RpbWVyQWxpZ25tZW50SW50ZXJ2YWwsIHRocm90dGxlZER1cmF0aW9uKTsKLSAgICBz
ZXRET01UaW1lckFsaWdubWVudEludGVydmFsKGFsaWdubWVudEludGVydmFsKTsKKyAgICBzZXRE
T01UaW1lckFsaWdubWVudEludGVydmFsKHN0ZDo6bWluKGFsaWdubWVudEludGVydmFsLCBtX3Rp
bWVyQWxpZ25tZW50SW50ZXJ2YWxJbmNyZWFzZUxpbWl0KSk7CiB9CiAKIHZvaWQgUGFnZTo6ZG5z
UHJlZmV0Y2hpbmdTdGF0ZUNoYW5nZWQoKQpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9QYWdl
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgJKHJldmlzaW9uIDE5
NzE3NykKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCSh3b3JraW5nIGNvcHkpCkBAIC00
OTksNiArNDk5LDggQEAgcHVibGljOgogICAgIHZvaWQgc2V0U2hvd0FsbFBsdWdpbnMoYm9vbCBz
aG93QWxsKSB7IG1fc2hvd0FsbFBsdWdpbnMgPSBzaG93QWxsOyB9CiAgICAgYm9vbCBzaG93QWxs
UGx1Z2lucygpIGNvbnN0OwogCisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRUaW1lckFsaWdu
bWVudEludGVydmFsSW5jcmVhc2VMaW1pdChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzKTsKKwog
cHJpdmF0ZToKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGluaXRHcm91cCgpOwogCkBAIC01MjUs
NiArNTI3LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHNldFRpbWVyVGhyb3R0bGluZ0VuYWJsZWQo
Ym9vbCk7CiAgICAgdm9pZCBzZXRET01UaW1lckFsaWdubWVudEludGVydmFsKGRvdWJsZSk7CiAg
ICAgdm9pZCB0aW1lckFsaWdubWVudEludGVydmFsSW5jcmVhc2VUaW1lckZpcmVkKCk7CisgICAg
Ym9vbCB0aW1lclRocm90dGxpbmdFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gISFtX3RpbWVyVGhy
b3R0bGluZ0VuYWJsZWRUaW1lOyB9CiAKICAgICBjb25zdCBzdGQ6OnVuaXF1ZV9wdHI8Q2hyb21l
PiBtX2Nocm9tZTsKICAgICBjb25zdCBzdGQ6OnVuaXF1ZV9wdHI8RHJhZ0NhcmV0Q29udHJvbGxl
cj4gbV9kcmFnQ2FyZXRDb250cm9sbGVyOwpAQCAtNjEzLDYgKzYxNiw3IEBAIHByaXZhdGU6CiAg
ICAgT3B0aW9uYWw8ZG91YmxlPiBtX3RpbWVyVGhyb3R0bGluZ0VuYWJsZWRUaW1lOwogICAgIGRv
dWJsZSBtX3RpbWVyQWxpZ25tZW50SW50ZXJ2YWw7CiAgICAgVGltZXIgbV90aW1lckFsaWdubWVu
dEludGVydmFsSW5jcmVhc2VUaW1lcjsKKyAgICBkb3VibGUgbV90aW1lckFsaWdubWVudEludGVy
dmFsSW5jcmVhc2VMaW1pdCB7IDAgfTsKIAogICAgIGJvb2wgbV9pc0VkaXRhYmxlOwogICAgIGJv
b2wgbV9pc1ByZXJlbmRlcjsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE5NzE5MykKKysrIFNv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQxIEBACisy
MDE2LTAyLTI2ICBHYXZpbiBCYXJyYWNsb3VnaCAgPGJhcnJhY2xvdWdoQGFwcGxlLmNvbT4KKwor
ICAgICAgICBQYWdlIFRpbWVyQWxpZ25tZW50SW50ZXJ2YWxJbmNyZWFzZSBtZWNoYW5pc20gc2hv
dWxkIGhhdmUgdXBwZXIgbGltaXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE1NDc0NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFRoZXJlIHdvdWxkIGJlIGRpbWluaXNoaW5nIHJldHVybnMgZnJvbSB0aHJv
dHRsaW5nIHRpbWVycyBpbiBiYWNrZ3JvdW5kIHBhZ2VzIGluZmluaXRlbHkuCisgICAgICAgIEFk
ZCBhIGhldXJpc3RpYyB0byBsaW1pdCBhcHByb3ByaWF0ZWx5LgorCisgICAgICAgIFRoZSBmbG93
IG9mIGRhdGEgaGVyZSBpcyBXZWJQYWdlUHJveHkgaW5mb3JtcyBXZWJQcm9jZXNzUG9vbCBvZiB0
aGUgbnVtYmVyIG9mIHBhZ2VzCisgICAgICAgIHBhcnRpY2lwYXRpbmcgaW4gdGhpcyBtZWNoYW5p
c20sIFdlYlByb2Nlc3NQb29sIGNvbXB1dGVzIGFuIGFwcm9wcmlhdGUgbGltaXQgYW5kIHB1c2hl
cworICAgICAgICB0aGlzIG91dCB0byB0aGUgV2ViUHJvY2Vzc2VzLCB3aGljaCBpbiB0dXJuIHVw
ZGF0ZSBlYWNoIG9mIHRoZWlyIHBhZ2VzLgorCisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6V2ViUGFnZVByb3h5KToK
KyAgICAgICAgICAgIC0gQ2FsbCB1cGRhdGVIaWRlblBhZ2VUaHJvdHRpbmdBdXRvSW5jcmVhc2Vz
IG9uIGNyZWF0aW9uLgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnVwZGF0ZUhpZGVu
UGFnZVRocm90dGluZ0F1dG9JbmNyZWFzZXMpOgorICAgICAgICAgICAgLSBJZiBpbmNyZWFzaW5n
IHRpbWVyIHRocm90dGxpbmcgaXMgZW5hYmxlZCBpbmNyZW1lbnQgdGhlIGNvdW50ZXIgb24gV2Vi
UHJvY2Vzc1Bvb2wuCisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6cHJlZmVyZW5jZXNE
aWRDaGFuZ2UpOgorICAgICAgICAgICAgLSBDYWxsIHVwZGF0ZUhpZGVuUGFnZVRocm90dGluZ0F1
dG9JbmNyZWFzZXMgb24gcHJlZmVyZW5jZXMgY2hhbmdlLgorICAgICAgICAqIFVJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6V2ViUHJvY2Vzc1Bvb2wpOgorICAgICAg
ICAgICAgLSBpbml0aWFsaXplIG5ldyBSZWZDb3VudGVyLgorICAgICAgICAoV2ViS2l0OjpXZWJQ
cm9jZXNzUG9vbDo6dXBkYXRlSGlkZW5QYWdlVGhyb3R0aW5nQXV0b0luY3JlYXNlTGltaXQpOgor
ICAgICAgICAgICAgLSBXaGVuIGNvdW50IG9mIHBhcnRpY2lwYXRpbmcgcGFnZXMgY2hhbmdlcywg
dXBkYXRlIHRoZSBsaW1pdC4KKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaDoK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oOgorICAgICAgICAoV2ViS2l0
OjpXZWJQYWdlOjpzZXRIaWRkZW5QYWdlVGltZXJUaHJvdHRsaW5nSW5jcmVhc2VMaW1pdCk6Cisg
ICAgICAgICAgICAtIFByb3BhZ2F0ZSBsaW1pdCB0byBXZWJDb3JlOjpQYWdlLgorICAgICAgICAq
IFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6
OnNldEhpZGRlblBhZ2VUaW1lclRocm90dGxpbmdJbmNyZWFzZUxpbWl0KToKKyAgICAgICAgICAg
IC0gUHJvcGFnYXRlIGxpbWl0IHRvIFdlYlBhZ2VzLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
UHJvY2Vzcy5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbjoK
KyAgICAgICAgICAgIC0gQWRkZWQgbmV3IG1lc3NhZ2UuCisKIDIwMTYtMDItMjYgIEFuZGVycyBD
YXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgV1RGOjpPcHRpb25T
ZXQgYW5kIHVzZSBpdCBmb3IgdGhlIHdlYnNpdGUgZGF0YSB0eXBlcyBlbnVtCkluZGV4OiBTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAkocmV2aXNpb24gMTk3MTc3KQor
KysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTQ0OCw2ICs0NDgsNyBAQCBXZWJQYWdlUHJveHk6OldlYlBhZ2VQcm94eShQYWdlQ2xp
ZW50JiBwCiAgICAgdXBkYXRlVmlld1N0YXRlKCk7CiAgICAgdXBkYXRlQWN0aXZpdHlUb2tlbigp
OwogICAgIHVwZGF0ZVByb2NjZXNzU3VwcHJlc3Npb25TdGF0ZSgpOworICAgIHVwZGF0ZUhpZGVu
UGFnZVRocm90dGluZ0F1dG9JbmNyZWFzZXMoKTsKICAgICAKICNpZiBIQVZFKE9VVF9PRl9QUk9D
RVNTX0xBWUVSX0hPU1RJTkcpCiAgICAgbV9sYXllckhvc3RpbmdNb2RlID0gbV92aWV3U3RhdGUg
JiBWaWV3U3RhdGU6OklzSW5XaW5kb3cgPyBtX3BhZ2VDbGllbnQudmlld0xheWVySG9zdGluZ01v
ZGUoKSA6IExheWVySG9zdGluZ01vZGU6Ok91dE9mUHJvY2VzczsKQEAgLTE0OTEsNiArMTQ5Miwx
NCBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6dXBkYXRlUHJvY2Nlc3NTdXBwcmVzCiAgICAgICAgIG1f
cHJldmVudFByb2Nlc3NTdXBwcmVzc2lvbkNvdW50ID0gbV9wcm9jZXNzLT5wcm9jZXNzUG9vbCgp
LnByb2Nlc3NTdXBwcmVzc2lvbkRpc2FibGVkRm9yUGFnZUNvdW50KCk7CiB9CiAKK3ZvaWQgV2Vi
UGFnZVByb3h5Ojp1cGRhdGVIaWRlblBhZ2VUaHJvdHRpbmdBdXRvSW5jcmVhc2VzKCkKK3sKKyAg
ICBpZiAoIW1fcHJlZmVyZW5jZXMtPmhpZGRlblBhZ2VET01UaW1lclRocm90dGxpbmdBdXRvSW5j
cmVhc2VzKCkpCisgICAgICAgIG1faGlkZGVuUGFnZURPTVRpbWVyVGhyb3R0bGluZ0F1dG9JbmNy
ZWFzZXNDb3VudCA9IG51bGxwdHI7CisgICAgZWxzZSBpZiAoIW1faGlkZGVuUGFnZURPTVRpbWVy
VGhyb3R0bGluZ0F1dG9JbmNyZWFzZXNDb3VudCkKKyAgICAgICAgbV9oaWRkZW5QYWdlRE9NVGlt
ZXJUaHJvdHRsaW5nQXV0b0luY3JlYXNlc0NvdW50ID0gbV9wcm9jZXNzLT5wcm9jZXNzUG9vbCgp
LmhpZGVuUGFnZVRocm90dGluZ0F1dG9JbmNyZWFzZXNDb3VudCgpOworfQorCiB2b2lkIFdlYlBh
Z2VQcm94eTo6bGF5ZXJIb3N0aW5nTW9kZURpZENoYW5nZSgpCiB7CiAgICAgaWYgKCFpc1ZhbGlk
KCkpCkBAIC0yNzgyLDYgKzI3OTEsNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6cHJlZmVyZW5jZXNE
aWRDaGFuZ2UoCiAjZW5kaWYKIAogICAgIHVwZGF0ZVByb2NjZXNzU3VwcHJlc3Npb25TdGF0ZSgp
OworICAgIHVwZGF0ZUhpZGVuUGFnZVRocm90dGluZ0F1dG9JbmNyZWFzZXMoKTsKIAogICAgIG1f
cGFnZUNsaWVudC5wcmVmZXJlbmNlc0RpZENoYW5nZSgpOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCShyZXZpc2lvbiAxOTcxNzcpCisrKyBTb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgJKHdvcmtpbmcgY29weSkKQEAgLTE3MSw2ICsx
NzEsOSBAQCB0eXBlZGVmIEd0a1dpZGdldCogUGxhdGZvcm1XaWRnZXQ7CiAKIG5hbWVzcGFjZSBX
ZWJLaXQgewogCitlbnVtIEhpZGVuUGFnZVRocm90dGluZ0F1dG9JbmNyZWFzZXNDb3VudGVyVHlw
ZSB7IH07Cit0eXBlZGVmIFJlZkNvdW50ZXI8SGlkZW5QYWdlVGhyb3R0aW5nQXV0b0luY3JlYXNl
c0NvdW50ZXJUeXBlPiBIaWRlblBhZ2VUaHJvdHRpbmdBdXRvSW5jcmVhc2VzQ291bnRlcjsKKwog
Y2xhc3MgQ2VydGlmaWNhdGVJbmZvOwogY2xhc3MgTmF0aXZlV2ViR2VzdHVyZUV2ZW50OwogY2xh
c3MgTmF0aXZlV2ViS2V5Ym9hcmRFdmVudDsKQEAgLTEwODgsNiArMTA5MSw3IEBAIHByaXZhdGU6
CiAgICAgdm9pZCB1cGRhdGVWaWV3U3RhdGUoV2ViQ29yZTo6Vmlld1N0YXRlOjpGbGFncyBmbGFn
c1RvVXBkYXRlID0gV2ViQ29yZTo6Vmlld1N0YXRlOjpBbGxGbGFncyk7CiAgICAgdm9pZCB1cGRh
dGVBY3Rpdml0eVRva2VuKCk7CiAgICAgdm9pZCB1cGRhdGVQcm9jY2Vzc1N1cHByZXNzaW9uU3Rh
dGUoKTsKKyAgICB2b2lkIHVwZGF0ZUhpZGVuUGFnZVRocm90dGluZ0F1dG9JbmNyZWFzZXMoKTsK
IAogICAgIGVudW0gY2xhc3MgUmVzZXRTdGF0ZVJlYXNvbiB7CiAgICAgICAgIFBhZ2VJbnZhbGlk
YXRlZCwKQEAgLTE3NjIsNiArMTc2Niw3IEBAIHByaXZhdGU6CiAjZW5kaWYKICAgICBVc2VyT2Jz
ZXJ2YWJsZVBhZ2VUb2tlbiBtX3BhZ2VJc1VzZXJPYnNlcnZhYmxlQ291bnQ7CiAgICAgUHJvY2Vz
c1N1cHByZXNzaW9uRGlzYWJsZWRUb2tlbiBtX3ByZXZlbnRQcm9jZXNzU3VwcHJlc3Npb25Db3Vu
dDsKKyAgICBIaWRlblBhZ2VUaHJvdHRpbmdBdXRvSW5jcmVhc2VzQ291bnRlcjo6VG9rZW4gbV9o
aWRkZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nQXV0b0luY3JlYXNlc0NvdW50OwogICAgICAgICAK
ICAgICBXZWJDb3JlOjpTY3JvbGxQaW5uaW5nQmVoYXZpb3IgbV9zY3JvbGxQaW5uaW5nQmVoYXZp
b3I7CiAgICAgV1RGOjpPcHRpb25hbDxXZWJDb3JlOjpTY3JvbGxiYXJPdmVybGF5U3R5bGU+IG1f
c2Nyb2xsYmFyT3ZlcmxheVN0eWxlOwpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlByb2Nlc3NQb29sLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUHJvY2Vzc1Bvb2wuY3BwCShyZXZpc2lvbiAxOTcxNzgpCisrKyBTb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNjAsNiArMTYw
LDcgQEAgV2ViUHJvY2Vzc1Bvb2w6OldlYlByb2Nlc3NQb29sKEFQSTo6UHJvYwogICAgICwgbV9t
ZW1vcnlDYWNoZURpc2FibGVkKGZhbHNlKQogICAgICwgbV91c2VyT2JzZXJ2YWJsZVBhZ2VDb3Vu
dGVyKFt0aGlzXShVc2VyT2JzZXJ2YWJsZVBhZ2VDb3VudGVyOjpFdmVudCkgeyB1cGRhdGVQcm9j
ZXNzU3VwcHJlc3Npb25TdGF0ZSgpOyB9KQogICAgICwgbV9wcm9jZXNzU3VwcHJlc3Npb25EaXNh
YmxlZEZvclBhZ2VDb3VudGVyKFt0aGlzXShQcm9jZXNzU3VwcHJlc3Npb25EaXNhYmxlZENvdW50
ZXI6OkV2ZW50KSB7IHVwZGF0ZVByb2Nlc3NTdXBwcmVzc2lvblN0YXRlKCk7IH0pCisgICAgLCBt
X2hpZGVuUGFnZVRocm90dGluZ0F1dG9JbmNyZWFzZXNDb3VudGVyKFt0aGlzXShIaWRlblBhZ2VU
aHJvdHRpbmdBdXRvSW5jcmVhc2VzQ291bnRlcjo6RXZlbnQpIHsgdXBkYXRlSGlkZW5QYWdlVGhy
b3R0aW5nQXV0b0luY3JlYXNlTGltaXQoKTsgfSkKIHsKICAgICBmb3IgKGF1dG8mIHNjaGVtZSA6
IG1fY29uZmlndXJhdGlvbi0+YWx3YXlzUmV2YWxpZGF0ZWRVUkxTY2hlbWVzKCkpCiAgICAgICAg
IG1fc2NoZW1lc1RvUmVnaXN0ZXJBc0Fsd2F5c1JldmFsaWRhdGVkLmFkZChzY2hlbWUpOwpAQCAt
MTMyMSw0ICsxMzIyLDE1IEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnNldEZvbnRXaGl0ZWxpc3Qo
QVAKICAgICB9CiB9CiAKK3ZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnVwZGF0ZUhpZGVuUGFnZVRocm90
dGluZ0F1dG9JbmNyZWFzZUxpbWl0KCkKK3sKKyAgICAvLyBXZSdyZSBlc3RpbWF0aW5nIGFuIHVw
cGVyIGJvdW5kIGZvciBhIHNldCBvZiBiYWNrZ3JvdW5kIHRpbWVyIGZpcmVzIGZvciBhIHBhZ2Ug
dG8gYmUgMjAwbXMKKyAgICAvLyAoaW5jbHVkaW5nIGFsbCB0aW1lciBmaXJlcywgYWxsIHBhZ2lu
Zy1pbiwgYW5kIGFueSByZXN1bHRpbmcgR0MpLiBUbyBlbnN1cmUgdGhpcyBkb2VzIG5vdAorICAg
IC8vIHJlc3VsdCBpbiBtb3JlIHRoYW4gMSUgQ1BVIGxvYWQgYWxsb3cgZm9yIG9uZSB0aW1lciBm
aXJlIHBlciAxMDB4IHRoaXMgZHVyYXRpb24uCisgICAgc3RhdGljIGludCBtYXhpbXVtVGltZXJU
aHJvdHRsZVBlclBhZ2VJbk1TID0gMjAwICogMTAwOworCisgICAgaW50IGxpbWl0SW5NaWxsaXNl
Y29uZHMgPSBtYXhpbXVtVGltZXJUaHJvdHRsZVBlclBhZ2VJbk1TICogbV9oaWRlblBhZ2VUaHJv
dHRpbmdBdXRvSW5jcmVhc2VzQ291bnRlci52YWx1ZSgpOworICAgIHNlbmRUb0FsbFByb2Nlc3Nl
cyhNZXNzYWdlczo6V2ViUHJvY2Vzczo6U2V0SGlkZGVuUGFnZVRpbWVyVGhyb3R0bGluZ0luY3Jl
YXNlTGltaXQobGltaXRJbk1pbGxpc2Vjb25kcykpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJL
aXQKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oCShyZXZp
c2lvbiAxOTcxNzcpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wu
aAkod29ya2luZyBjb3B5KQpAQCAtMzMzLDYgKzMzMyw4IEBAIHB1YmxpYzoKICAgICB2b2lkIHVw
ZGF0ZVByb2Nlc3NTdXBwcmVzc2lvblN0YXRlKCkgY29uc3QgeyB9CiAjZW5kaWYKIAorICAgIHZv
aWQgdXBkYXRlSGlkZW5QYWdlVGhyb3R0aW5nQXV0b0luY3JlYXNlTGltaXQoKTsKKwogICAgIHZv
aWQgc2V0TWVtb3J5Q2FjaGVEaXNhYmxlZChib29sKTsKICAgICB2b2lkIHNldEZvbnRXaGl0ZWxp
c3QoQVBJOjpBcnJheSopOwogCkBAIC0zNDYsNiArMzQ4LDExIEBAIHB1YmxpYzoKICAgICAgICAg
cmV0dXJuIG1fcHJvY2Vzc1N1cHByZXNzaW9uRGlzYWJsZWRGb3JQYWdlQ291bnRlci5jb3VudCgp
OwogICAgIH0KIAorICAgIEhpZGVuUGFnZVRocm90dGluZ0F1dG9JbmNyZWFzZXNDb3VudGVyOjpU
b2tlbiBoaWRlblBhZ2VUaHJvdHRpbmdBdXRvSW5jcmVhc2VzQ291bnQoKQorICAgIHsKKyAgICAg
ICAgcmV0dXJuIG1faGlkZW5QYWdlVGhyb3R0aW5nQXV0b0luY3JlYXNlc0NvdW50ZXIuY291bnQo
KTsKKyAgICB9CisKICAgICAvLyBGSVhNRTogTW92ZSB0aGVzZSB0byBBUEk6OldlYnNpdGVEYXRh
U3RvcmUuCiAgICAgc3RhdGljIFN0cmluZyBsZWdhY3lQbGF0Zm9ybURlZmF1bHRMb2NhbFN0b3Jh
Z2VEaXJlY3RvcnkoKTsKICAgICBzdGF0aWMgU3RyaW5nIGxlZ2FjeVBsYXRmb3JtRGVmYXVsdElu
ZGV4ZWREQkRhdGFiYXNlRGlyZWN0b3J5KCk7CkBAIC01MDksNiArNTE2LDcgQEAgcHJpdmF0ZToK
IAogICAgIFVzZXJPYnNlcnZhYmxlUGFnZUNvdW50ZXIgbV91c2VyT2JzZXJ2YWJsZVBhZ2VDb3Vu
dGVyOwogICAgIFByb2Nlc3NTdXBwcmVzc2lvbkRpc2FibGVkQ291bnRlciBtX3Byb2Nlc3NTdXBw
cmVzc2lvbkRpc2FibGVkRm9yUGFnZUNvdW50ZXI7CisgICAgSGlkZW5QYWdlVGhyb3R0aW5nQXV0
b0luY3JlYXNlc0NvdW50ZXIgbV9oaWRlblBhZ2VUaHJvdHRpbmdBdXRvSW5jcmVhc2VzQ291bnRl
cjsKIAogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIFJldGFpblB0cjxOU011dGFibGVEaWN0aW9u
YXJ5PiBtX2J1bmRsZVBhcmFtZXRlcnM7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlByb2Nlc3MuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUHJvY2Vzcy5jcHAJKHJldmlzaW9uIDE5NzE3NykKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUHJvY2Vzcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExNTAsNiArMTE1MCwxMiBA
QCB2b2lkIFdlYlByb2Nlc3M6OmRlbGV0ZVdlYnNpdGVEYXRhRm9yT3JpCiAgICAgcGFyZW50UHJv
Y2Vzc0Nvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpEaWREZWxl
dGVXZWJzaXRlRGF0YUZvck9yaWdpbnMoY2FsbGJhY2tJRCksIDApOwogfQogCit2b2lkIFdlYlBy
b2Nlc3M6OnNldEhpZGRlblBhZ2VUaW1lclRocm90dGxpbmdJbmNyZWFzZUxpbWl0KGludCBtaWxs
aXNlY29uZHMpCit7CisgICAgZm9yIChhdXRvJiBwYWdlIDogbV9wYWdlTWFwLnZhbHVlcygpKQor
ICAgICAgICBwYWdlLT5zZXRIaWRkZW5QYWdlVGltZXJUaHJvdHRsaW5nSW5jcmVhc2VMaW1pdChz
dGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzKG1pbGxpc2Vjb25kcykpOworfQorCiAjaWYgIVBMQVRG
T1JNKENPQ09BKQogdm9pZCBXZWJQcm9jZXNzOjppbml0aWFsaXplUHJvY2Vzc05hbWUoY29uc3Qg
Q2hpbGRQcm9jZXNzSW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzJikKIHsKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCShyZXZpc2lvbiAxOTcxNzcpCisrKyBTb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAkod29ya2luZyBjb3B5KQpAQCAtMTc1LDYg
KzE3NSw4IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgdXBkYXRlQWN0aXZlUGFnZXMoKTsKIAorICAg
IHZvaWQgc2V0SGlkZGVuUGFnZVRpbWVyVGhyb3R0bGluZ0luY3JlYXNlTGltaXQoaW50IG1pbGxp
c2Vjb25kcyk7CisKICAgICB2b2lkIHByb2Nlc3NXaWxsU3VzcGVuZEltbWluZW50bHkoYm9vbCYg
aGFuZGxlZCk7CiAgICAgdm9pZCBwcmVwYXJlVG9TdXNwZW5kKCk7CiAgICAgdm9pZCBjYW5jZWxQ
cmVwYXJlVG9TdXNwZW5kKCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBy
b2Nlc3MubWVzc2FnZXMuaW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCShyZXZpc2lvbiAxOTcxNzcpCisrKyBTb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4JKHdvcmtpbmcgY29weSkKQEAg
LTc5LDYgKzc5LDcgQEAgbWVzc2FnZXMgLT4gV2ViUHJvY2VzcyBMZWdhY3lSZWNlaXZlciB7CiAg
ICAgRGVsZXRlV2Vic2l0ZURhdGEoV2ViQ29yZTo6U2Vzc2lvbklEIHNlc3Npb25JRCwgdWludDY0
X3Qgd2Vic2l0ZURhdGFUeXBlcywgc3RkOjpjaHJvbm86OnN5c3RlbV9jbG9jazo6dGltZV9wb2lu
dCBtb2RpZmllZFNpbmNlLCB1aW50NjRfdCBjYWxsYmFja0lEKQogICAgIERlbGV0ZVdlYnNpdGVE
YXRhRm9yT3JpZ2lucyhXZWJDb3JlOjpTZXNzaW9uSUQgc2Vzc2lvbklELCB1aW50NjRfdCB3ZWJz
aXRlRGF0YVR5cGVzLCBWZWN0b3I8V2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhPiBvcmlnaW5z
LCB1aW50NjRfdCBjYWxsYmFja0lEKQogCisgICAgU2V0SGlkZGVuUGFnZVRpbWVyVGhyb3R0bGlu
Z0luY3JlYXNlTGltaXQoaW50IG1pbGxpc2Vjb25kcykKICAgICBTZXRQcm9jZXNzU3VwcHJlc3Np
b25FbmFibGVkKGJvb2wgZmxhZykKICNpZiBQTEFURk9STShDT0NPQSkKICAgICBTZXRRT1MoaW50
IGxhdGVuY3lRT1MsIGludCB0aHJvdWdocHV0UU9TKQpJbmRleDogU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCShyZXZpc2lvbiAxOTcxNzcpCisrKyBTb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0y
ODksNiArMjg5LDExIEBAIHB1YmxpYzoKIAogICAgIHZvaWQgc2V0QWN0aXZlUG9wdXBNZW51KFdl
YlBvcHVwTWVudSopOwogCisgICAgdm9pZCBzZXRIaWRkZW5QYWdlVGltZXJUaHJvdHRsaW5nSW5j
cmVhc2VMaW1pdChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGxpbWl0KQorICAgIHsKKyAgICAg
ICAgbV9wYWdlLT5zZXRUaW1lckFsaWdubWVudEludGVydmFsSW5jcmVhc2VMaW1pdChsaW1pdCk7
CisgICAgfQorCiAjaWYgRU5BQkxFKElOUFVUX1RZUEVfQ09MT1IpCiAgICAgV2ViQ29sb3JDaG9v
c2VyKiBhY3RpdmVDb2xvckNob29zZXIoKSBjb25zdCB7IHJldHVybiBtX2FjdGl2ZUNvbG9yQ2hv
b3NlcjsgfQogICAgIHZvaWQgc2V0QWN0aXZlQ29sb3JDaG9vc2VyKFdlYkNvbG9yQ2hvb3Nlciop
Owo=
</data>
<flag name="review"
          id="297136"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>