<?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>192371</bug_id>
          
          <creation_ts>2018-12-04 11:41:21 -0800</creation_ts>
          <short_desc>Fix MediaRecorder flaky tests</short_desc>
          <delta_ts>2018-12-18 17:29:21 -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>WebRTC</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=192069</see_also>
          <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>192414</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>jlewis3</cc>
    
    <cc>ryanhaddad</cc>
    
    <cc>tsavell</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1484938</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-12-04 11:41:21 -0800</bug_when>
    <thetext>Fix MediaRecorder flaky tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1484946</commentid>
    <comment_count>1</comment_count>
      <attachid>356523</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-12-04 11:45:23 -0800</bug_when>
    <thetext>Created attachment 356523
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1484963</commentid>
    <comment_count>2</comment_count>
      <attachid>356525</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-12-04 13:03:00 -0800</bug_when>
    <thetext>Created attachment 356525
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1484964</commentid>
    <comment_count>3</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-12-04 13:03:36 -0800</bug_when>
    <thetext>(In reply to youenn fablet from comment #2)
&gt; Created attachment 356525 [details]
&gt; Patch for landing

Increased timers compared to first patch for improved stability.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1484967</commentid>
    <comment_count>4</comment_count>
      <attachid>356525</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-12-04 13:40:51 -0800</bug_when>
    <thetext>Comment on attachment 356525
Patch for landing

Clearing flags on attachment: 356525

Committed r238874: &lt;https://trac.webkit.org/changeset/238874&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1484968</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-12-04 13:40:53 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1484971</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-12-04 13:41:29 -0800</bug_when>
    <thetext>&lt;rdar://problem/46464224&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1485312</commentid>
    <comment_count>7</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2018-12-05 11:04:54 -0800</bug_when>
    <thetext>Since this change:

http/wpt/mediarecorder/MediaRecorder-AV-video-only-dataavailable.html is frequently failing on Sierra:

--- /Volumes/Data/slave/sierra-debug-tests-wk2/build/layout-test-results/http/wpt/mediarecorder/MediaRecorder-AV-video-only-dataavailable-expected.txt
+++ /Volumes/Data/slave/sierra-debug-tests-wk2/build/layout-test-results/http/wpt/mediarecorder/MediaRecorder-AV-video-only-dataavailable-actual.txt
@@ -1,4 +1,5 @@
+CONSOLE MESSAGE: line 2659: Error: assert_approx_equals: Red channel of the pixel at (20, 20) expected 255 +/- 50 but got 0
 
 
-PASS MediaRecorder can successfully record the video for a video-only stream 
+FAIL MediaRecorder can successfully record the video for a video-only stream Error: assert_approx_equals: Red channel of the pixel at (20, 20) expected 255 +/- 50 but got 0

https://build.webkit.org/builders/Apple%20Sierra%20Debug%20WK2%20(Tests)/builds/8878



http/wpt/mediarecorder/MediaRecorder-AV-audio-only-dataavailable.html continues to be a flaky crash: https://build.webkit.org/results/Apple%20Mojave%20Release%20WK2%20(Tests)/r238881%20(1205)/results.html

http/wpt/mediarecorder/MediaRecorder-AV-audio-video-dataavailable.html has failed once on Mojave:

--- /Volumes/Data/slave/mojave-release-tests-wk2/build/layout-test-results/http/wpt/mediarecorder/MediaRecorder-AV-audio-video-dataavailable-expected.txt
+++ /Volumes/Data/slave/mojave-release-tests-wk2/build/layout-test-results/http/wpt/mediarecorder/MediaRecorder-AV-audio-video-dataavailable-actual.txt
@@ -1,4 +1,5 @@
+CONSOLE MESSAGE: line 2659: Error: assert_approx_equals: Red channel of the pixel at (20, 20) expected 255 +/- 50 but got 0
 
 
-PASS MediaRecorder can successfully record the video for a audio-video stream 
+FAIL MediaRecorder can successfully record the video for a audio-video stream Error: assert_approx_equals: Red channel of the pixel at (20, 20) expected 255 +/- 50 but got 0
 
https://build.webkit.org/results/Apple%20Mojave%20Release%20WK2%20(Tests)/r238892%20(1216)/results.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1485322</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-12-05 11:16:30 -0800</bug_when>
    <thetext>Re-opened since this is blocked by bug 192414</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>356523</attachid>
            <date>2018-12-04 11:45:23 -0800</date>
            <delta_ts>2018-12-04 13:02:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-192371-20181204114523.patch</filename>
            <type>text/plain</type>
            <size>21634</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM4ODU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2RjZWI0YWU3OTdjMTVl
ODdkNmE0ZjU0YjFjYzI5NWZjZjllZmFlMC4uM2NkNjY2ZTBmMTNlNjAxZmNhYjgyZmFhNDM1YWNj
OTYxNTVmOTAyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE4LTEyLTA0ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBGaXggTWVkaWFSZWNvcmRl
ciBmbGFreSB0ZXN0cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTkyMzcxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgTm8gY2hhbmdlIG9mIGJlaGF2aW9yLgorCisgICAgICAgICogdGVzdGluZy9JbnRlcm5h
bHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpyZXNldFRvQ29uc2lzdGVudFN0
YXRlKToKKyAgICAgICAgUmVzZXQgdG8gdXNlIHJlYWwgTWVkaWFSZWNvcmRlciBieSBkZWZhdWx0
LgorCiAyMDE4LTEyLTA0ICBSeWFuIEhhZGRhZCAgPHJ5YW5oYWRkYWRAYXBwbGUuY29tPgogCiAg
ICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIyMzg4NDAuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5jcHAKaW5kZXggMzgxNjFiOTBiYTE5NTAxMTQ0MGNmZTA0NTBjYWExNDBmM2Nl
MjU2YS4uM2E2ZGY2MzZiZjY5YmVjNzdkNzhkOTI0YTI2OWI2MTcwZDhlOWE4NyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApAQCAtNTE5LDYgKzUxOSwxMCBAQCB2b2lkIEludGVy
bmFsczo6cmVzZXRUb0NvbnNpc3RlbnRTdGF0ZShQYWdlJiBwYWdlKQogICAgIHBhZ2Uuc2V0RnVs
bHNjcmVlbkNvbnRyb2xzSGlkZGVuKGZhbHNlKTsKIAogICAgIE1lZGlhRW5naW5lQ29uZmlndXJh
dGlvbkZhY3Rvcnk6OmRpc2FibGVNb2NrKCk7CisKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQor
ICAgIFdlYkNvcmU6Ok1lZGlhUmVjb3JkZXI6OnNldEN1c3RvbVByaXZhdGVSZWNvcmRlckNyZWF0
b3IobnVsbHB0cik7CisjZW5kaWYKIH0KIAogSW50ZXJuYWxzOjpJbnRlcm5hbHMoRG9jdW1lbnQm
IGRvY3VtZW50KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCmluZGV4IDViY2I3NTY3YTBkOTEyMjc0ZmFlODFkNmY1YzNiOTAzMmEzZTU0
ODUuLmY1NGEzNWE1ZmY2N2Q4Yzk5NzZhMjQ1NzhjZjdjMjY4NWRjN2I1NzYgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOCBAQAorMjAxOC0xMi0wNCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+
CisKKyAgICAgICAgRml4IE1lZGlhUmVjb3JkZXIgZmxha3kgdGVzdHMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MjM3MQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0ZWQgdGVzdHMgdG8gbWFrZSB0
aGVtIGxlc3MgZmxha3kgYW5kIG1vcmUgZGVidWdnYWJsZS4KKworICAgICAgICAqIGh0dHAvd3B0
L21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlci1BVi1hdWRpby1vbmx5LWRhdGFhdmFpbGFibGUu
aHRtbDoKKyAgICAgICAgKiBodHRwL3dwdC9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXItQVYt
YXVkaW8tdmlkZW8tZGF0YWF2YWlsYWJsZS5odG1sOgorICAgICAgICAqIGh0dHAvd3B0L21lZGlh
cmVjb3JkZXIvTWVkaWFSZWNvcmRlci1BVi12aWRlby1vbmx5LWRhdGFhdmFpbGFibGUuaHRtbDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0
Zm9ybS93cGUvVGVzdEV4cGVjdGF0aW9uczoKKwogMjAxOC0xMi0wNCAgUnlhbiBIYWRkYWQgIDxy
eWFuaGFkZGFkQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCBy
MjM4ODQwLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvbWVkaWFyZWNvcmRlci9N
ZWRpYVJlY29yZGVyLUFWLWF1ZGlvLW9ubHktZGF0YWF2YWlsYWJsZS5odG1sIGIvTGF5b3V0VGVz
dHMvaHR0cC93cHQvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyLUFWLWF1ZGlvLW9ubHktZGF0
YWF2YWlsYWJsZS5odG1sCmluZGV4IGE0M2M0ZjhjN2IwNDE4YzBhZGUzYjFiYWQyYTQ0NTU4MzA5
NzUzYmUuLjViMTc1ZGFmMzVmZWFkZWRlOWM2NTg4MjRlZjRjYmQ0MDQ2MWU5YWYgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2h0dHAvd3B0L21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlci1BVi1h
dWRpby1vbmx5LWRhdGFhdmFpbGFibGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9t
ZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXItQVYtYXVkaW8tb25seS1kYXRhYXZhaWxhYmxlLmh0
bWwKQEAgLTEsNyArMSw3IEBACiA8IWRvY3R5cGUgaHRtbD4KIDxodG1sPgogPGhlYWQ+Ci0gICAg
PHRpdGxlPk1lZGlhUmVjb3JkZXIgRGF0YWF2YWlsYWJsZTwvdGl0bGU+CisgICAgPHRpdGxlPk1l
ZGlhUmVjb3JkZXIgY2FuIHN1Y2Nlc3NmdWxseSByZWNvcmQgdGhlIGF1ZGlvIGZvciBhIGF1ZGlv
LW9ubHkgc3RyZWFtPC90aXRsZT4KICAgICA8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8v
dzNjLmdpdGh1Yi5pby9tZWRpYWNhcHR1cmUtcmVjb3JkL01lZGlhUmVjb3JkZXIuaHRtbCNtZWRp
YXJlY29yZGVyIj4KICAgICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgpAQCAtMTEsMzcgKzExLDM1IEBACiA8L2F1ZGlvPgogPHNjcmlwdD4KIAot
ICAgIGFzeW5jX3Rlc3QodCA9PiB7Ci0gICAgICAgIGNvbnN0IGFjID0gbmV3IEF1ZGlvQ29udGV4
dCgpOwotICAgICAgICBjb25zdCBvc2MgPSBhYy5jcmVhdGVPc2NpbGxhdG9yKCk7Ci0gICAgICAg
IGNvbnN0IGRlc3QgPSBhYy5jcmVhdGVNZWRpYVN0cmVhbURlc3RpbmF0aW9uKCk7Ci0gICAgICAg
IGNvbnN0IGF1ZGlvID0gZGVzdC5zdHJlYW07Ci0gICAgICAgIG9zYy5jb25uZWN0KGRlc3QpOwot
ICAgICAgICBjb25zdCByZWNvcmRlciA9IG5ldyBNZWRpYVJlY29yZGVyKGF1ZGlvKTsKLSAgICAg
ICAgcmVjb3JkZXIub25kYXRhYXZhaWxhYmxlID0gdC5zdGVwX2Z1bmMoYmxvYkV2ZW50ID0+IHsK
LSAgICAgICAgICAgIGFzc2VydF90cnVlKGJsb2JFdmVudCBpbnN0YW5jZW9mIEJsb2JFdmVudCwg
J3RoZSB0eXBlIG9mIGV2ZW50IHNob3VsZCBiZSBCbG9iRXZlbnQnKTsKLSAgICAgICAgICAgIGFz
c2VydF9lcXVhbHMoYmxvYkV2ZW50LnR5cGUsICdkYXRhYXZhaWxhYmxlJywgJ3RoZSBldmVudCB0
eXBlIHNob3VsZCBiZSBkYXRhYXZhaWxhYmxlJyk7Ci0gICAgICAgICAgICBhc3NlcnRfdHJ1ZShi
bG9iRXZlbnQuaXNUcnVzdGVkLCAnaXNUcnVzdGVkIHNob3VsZCBiZSB0cnVlIHdoZW4gdGhlIGV2
ZW50IGlzIGNyZWF0ZWQgYnkgQysrJyk7Ci0gICAgICAgICAgICBhc3NlcnRfdHJ1ZShibG9iRXZl
bnQuZGF0YSBpbnN0YW5jZW9mIEJsb2IsICd0aGUgdHlwZSBvZiBkYXRhIHNob3VsZCBiZSBCbG9i
Jyk7Ci0gICAgICAgICAgICBhc3NlcnRfdHJ1ZShibG9iRXZlbnQuZGF0YS5zaXplID4gMCwgJ3Ro
ZSBibG9iIHNob3VsZCBjb250YWluIHNvbWUgYnVmZmVycycpOwotICAgICAgICAgICAgY29uc3Qg
cGxheWVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBsYXllciIpOwotICAgICAgICAgICAg
cGxheWVyLnNyYyA9IHdpbmRvdy5VUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2JFdmVudC5kYXRhKTsK
LSAgICAgICAgICAgIHBsYXllci5vbmNhbnBsYXkgPSAoKSA9PiB7Ci0gICAgICAgICAgICAgICAg
YXNzZXJ0X2dyZWF0ZXJfdGhhbihwbGF5ZXIuZHVyYXRpb24sIDAsICd0aGUgZHVyYXRpb24gc2hv
dWxkIGJlIGdyZWF0ZXIgdGhhbiAwJyk7Ci0gICAgICAgICAgICAgICAgdC5kb25lKCk7Ci0gICAg
ICAgICAgICB9OwotICAgICAgICAgICAgcGxheWVyLmxvYWQoKTsKLSAgICAgICAgfSk7CisgICAg
Y29uc3QgYWMgPSBuZXcgd2Via2l0QXVkaW9Db250ZXh0KCk7CisgICAgY29uc3Qgb3NjID0gYWMu
Y3JlYXRlT3NjaWxsYXRvcigpOworICAgIGNvbnN0IGRlc3QgPSBhYy5jcmVhdGVNZWRpYVN0cmVh
bURlc3RpbmF0aW9uKCk7CisgICAgY29uc3QgYXVkaW8gPSBkZXN0LnN0cmVhbTsKKyAgICBvc2Mu
Y29ubmVjdChkZXN0KTsKKyAgICBjb25zdCByZWNvcmRlciA9IG5ldyBNZWRpYVJlY29yZGVyKGF1
ZGlvKTsKKyAgICByZWNvcmRlci5vbmRhdGFhdmFpbGFibGUgPSAoYmxvYkV2ZW50KSA9PiB7Cisg
ICAgICAgIGFzc2VydF90cnVlKGJsb2JFdmVudCBpbnN0YW5jZW9mIEJsb2JFdmVudCwgJ3RoZSB0
eXBlIG9mIGV2ZW50IHNob3VsZCBiZSBCbG9iRXZlbnQnKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFs
cyhibG9iRXZlbnQudHlwZSwgJ2RhdGFhdmFpbGFibGUnLCAndGhlIGV2ZW50IHR5cGUgc2hvdWxk
IGJlIGRhdGFhdmFpbGFibGUnKTsKKyAgICAgICAgYXNzZXJ0X3RydWUoYmxvYkV2ZW50LmlzVHJ1
c3RlZCwgJ2lzVHJ1c3RlZCBzaG91bGQgYmUgdHJ1ZSB3aGVuIHRoZSBldmVudCBpcyBjcmVhdGVk
IGJ5IEMrKycpOworICAgICAgICBhc3NlcnRfdHJ1ZShibG9iRXZlbnQuZGF0YSBpbnN0YW5jZW9m
IEJsb2IsICd0aGUgdHlwZSBvZiBkYXRhIHNob3VsZCBiZSBCbG9iJyk7CisgICAgICAgIGFzc2Vy
dF90cnVlKGJsb2JFdmVudC5kYXRhLnNpemUgPiAwLCAndGhlIGJsb2Igc2hvdWxkIGNvbnRhaW4g
c29tZSBidWZmZXJzJyk7CisgICAgICAgIGNvbnN0IHBsYXllciA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwbGF5ZXIiKTsKKyAgICAgICAgcGxheWVyLnNyYyA9IHdpbmRvdy5VUkwuY3JlYXRl
T2JqZWN0VVJMKGJsb2JFdmVudC5kYXRhKTsKKyAgICAgICAgcGxheWVyLm9uY2FucGxheSA9ICgp
ID0+IHsKKyAgICAgICAgICAgIGFzc2VydF9ncmVhdGVyX3RoYW4ocGxheWVyLmR1cmF0aW9uLCAw
LCAndGhlIGR1cmF0aW9uIHNob3VsZCBiZSBncmVhdGVyIHRoYW4gMCcpOworICAgICAgICAgICAg
ZG9uZSgpOworICAgICAgICB9OworICAgICAgICBwbGF5ZXIubG9hZCgpOworICAgIH07CiAKLSAg
ICAgICAgcmVjb3JkZXIuc3RhcnQoKTsKLSAgICAgICAgb3NjLnN0YXJ0KCk7Ci0gICAgICAgIGFz
c2VydF9lcXVhbHMocmVjb3JkZXIuc3RhdGUsICdyZWNvcmRpbmcnLCAnTWVkaWFSZWNvcmRlciBo
YXMgYmVlbiBzdGFydGVkIHN1Y2Nlc3NmdWxseScpOwotICAgICAgICBzZXRUaW1lb3V0KCgpID0+
IHsKLSAgICAgICAgICAgIHJlY29yZGVyLnN0b3AoKTsKLSAgICAgICAgICAgIG9zYy5zdG9wKCk7
Ci0gICAgICAgIH0sIDUwMCk7Ci0gICAgfSwgJ01lZGlhUmVjb3JkZXIgY2FuIHN1Y2Nlc3NmdWxs
eSByZWNvcmQgdGhlIGF1ZGlvIGZvciBhIGF1ZGlvLW9ubHkgc3RyZWFtJyk7CisgICAgcmVjb3Jk
ZXIuc3RhcnQoKTsKKyAgICBvc2Muc3RhcnQoKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJlY29yZGVy
LnN0YXRlLCAncmVjb3JkaW5nJywgJ01lZGlhUmVjb3JkZXIgaGFzIGJlZW4gc3RhcnRlZCBzdWNj
ZXNzZnVsbHknKTsKKyAgICBzZXRUaW1lb3V0KCgpID0+IHsKKyAgICAgICAgcmVjb3JkZXIuc3Rv
cCgpOworICAgICAgICBvc2Muc3RvcCgpOworICAgIH0sIDUwMCk7CiAKIDwvc2NyaXB0PgogPC9i
b2R5PgotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlci1B
Vi1hdWRpby12aWRlby1kYXRhYXZhaWxhYmxlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9t
ZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXItQVYtYXVkaW8tdmlkZW8tZGF0YWF2YWlsYWJsZS5o
dG1sCmluZGV4IGRmMDQzNmM5MDg4Mzk4OTM4OTg0MTQ5ZTU4MzU0MTY3NDUzODVjMzEuLjYwYjk3
YTBhZmNkNDExNTU1OTgyNGQ2ZDUzNjU0MTYyMTVlYWMxZDUgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2h0dHAvd3B0L21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlci1BVi1hdWRpby12aWRlby1k
YXRhYXZhaWxhYmxlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvbWVkaWFyZWNvcmRl
ci9NZWRpYVJlY29yZGVyLUFWLWF1ZGlvLXZpZGVvLWRhdGFhdmFpbGFibGUuaHRtbApAQCAtMSw3
ICsxLDcgQEAKIDwhZG9jdHlwZSBodG1sPgogPGh0bWw+CiA8aGVhZD4KLSAgICA8dGl0bGU+TWVk
aWFSZWNvcmRlciBEYXRhYXZhaWxhYmxlPC90aXRsZT4KKyAgICA8dGl0bGU+TWVkaWFSZWNvcmRl
ciBjYW4gc3VjY2Vzc2Z1bGx5IHJlY29yZCB0aGUgdmlkZW8gZm9yIGEgYXVkaW8tdmlkZW8gc3Ry
ZWFtPC90aXRsZT4KICAgICA8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vdzNjLmdpdGh1
Yi5pby9tZWRpYWNhcHR1cmUtcmVjb3JkL01lZGlhUmVjb3JkZXIuaHRtbCNtZWRpYXJlY29yZGVy
Ij4KICAgICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
CiAgICAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgpAQCAtMTAsMTMgKzEwLDEzIEBACiA8L2hlYWQ+CiA8Ym9keT4KIDxkaXY+Ci0gICAgPHZp
ZGVvIGlkPSJwbGF5ZXIiPgorICAgIDx2aWRlbyBpZD0icGxheWVyIiBjb250cm9scz0idHJ1ZSI+
CiAgICAgPC92aWRlbz4KIDwvZGl2PgogPGRpdj4KICAgICA8Y2FudmFzIGlkPSJjYW52YXMiIHdp
ZHRoPSIyMDAiIGhlaWdodD0iMjAwIj4KICAgICA8L2NhbnZhcz4KLSAgICA8Y2FudmFzIGlkPSJm
cmFtZSIgd2lkdGg9IjIwMCIgaGVpZ2h0PSIyMDAiPgorICAgIDxjYW52YXMgaWQ9ImZyYW1lIiB3
aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCIgc3R5bGU9InZpc2liaWxpdHk6dmlzaWJsZTsgZGlzcGxh
eTpibG9jayI+CiAgICAgPC9jYW52YXM+CiA8L2Rpdj4KIDxzY3JpcHQ+CkBAIC0zMyw3ICszMyw3
IEBACiAgICAgICAgIGlmIChjb250ZXh0KSB7CiAgICAgICAgICAgICBjb250ZXh0LmZpbGxTdHls
ZSA9ICIjZmYwMDAwIjsKICAgICAgICAgICAgIGNvbnRleHQuZmlsbFJlY3QoMCwgMCwgMjAwLCAy
MDApOwotICAgICAgICAgICAgaWYgKERhdGUubm93KCkgLSBkcmF3U3RhcnRUaW1lIDwgNTAwKSB7
CisgICAgICAgICAgICBpZiAoRGF0ZS5ub3coKSAtIGRyYXdTdGFydFRpbWUgPCAxMDAwKSB7CiAg
ICAgICAgICAgICAgICAgd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZShkb1JlZEltYWdlRHJh
dyk7CiAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgIGRyYXdTdGFydFRpbWUg
PSBEYXRlLm5vdygpOwpAQCAtNDYsNjggKzQ2LDcwIEBACiAgICAgICAgIGlmIChjb250ZXh0KSB7
CiAgICAgICAgICAgICBjb250ZXh0LmZpbGxTdHlsZSA9ICIjMDBmZjAwIjsKICAgICAgICAgICAg
IGNvbnRleHQuZmlsbFJlY3QoMCwgMCwgMjAwLCAyMDApOwotICAgICAgICAgICAgaWYgKERhdGUu
bm93KCkgLSBkcmF3U3RhcnRUaW1lIDwgNTAwKSB7CisgICAgICAgICAgICBpZiAoRGF0ZS5ub3co
KSAtIGRyYXdTdGFydFRpbWUgPCAyMDAwMCkgewogICAgICAgICAgICAgICAgIHdpbmRvdy5yZXF1
ZXN0QW5pbWF0aW9uRnJhbWUoZG9HcmVlbkltYWdlRHJhdyk7CiAgICAgICAgICAgICB9CiAgICAg
ICAgIH0KICAgICB9CiAKLSAgICBhc3luY190ZXN0KHQgPT4gewotICAgICAgICBjb25zdCBhYyA9
IG5ldyBBdWRpb0NvbnRleHQoKTsKLSAgICAgICAgY29uc3Qgb3NjID0gYWMuY3JlYXRlT3NjaWxs
YXRvcigpOwotICAgICAgICBjb25zdCBkZXN0ID0gYWMuY3JlYXRlTWVkaWFTdHJlYW1EZXN0aW5h
dGlvbigpOwotICAgICAgICBjb25zdCBhdWRpbyA9IGRlc3Quc3RyZWFtOwotICAgICAgICBvc2Mu
Y29ubmVjdChkZXN0KTsKKyAgICBjb25zdCBhYyA9IG5ldyB3ZWJraXRBdWRpb0NvbnRleHQoKTsK
KyAgICBjb25zdCBvc2MgPSBhYy5jcmVhdGVPc2NpbGxhdG9yKCk7CisgICAgY29uc3QgZGVzdCA9
IGFjLmNyZWF0ZU1lZGlhU3RyZWFtRGVzdGluYXRpb24oKTsKKyAgICBjb25zdCBhdWRpbyA9IGRl
c3Quc3RyZWFtOworICAgIG9zYy5jb25uZWN0KGRlc3QpOwogCi0gICAgICAgIGNvbnN0IHZpZGVv
ID0gY3JlYXRlVmlkZW9TdHJlYW0oKTsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyh2aWRlby5nZXRB
dWRpb1RyYWNrcygpLmxlbmd0aCwgMCwgInZpZGVvIG1lZGlhc3RyZWFtIHN0YXJ0cyB3aXRoIG5v
IGF1ZGlvIHRyYWNrIik7Ci0gICAgICAgIGFzc2VydF9lcXVhbHMoYXVkaW8uZ2V0QXVkaW9UcmFj
a3MoKS5sZW5ndGgsIDEsICJhdWRpbyBtZWRpYXN0cmVhbSBzdGFydHMgd2l0aCBvbmUgYXVkaW8g
dHJhY2siKTsKLSAgICAgICAgdmlkZW8uYWRkVHJhY2soYXVkaW8uZ2V0QXVkaW9UcmFja3MoKVsw
XSk7Ci0gICAgICAgIGFzc2VydF9lcXVhbHModmlkZW8uZ2V0QXVkaW9UcmFja3MoKS5sZW5ndGgs
IDEsICJ2aWRlbyBtZWRpYXN0cmVhbSBzdGFydHMgd2l0aCBvbmUgYXVkaW8gdHJhY2siKTsKLSAg
ICAgICAgY29uc3QgcmVjb3JkZXIgPSBuZXcgTWVkaWFSZWNvcmRlcih2aWRlbyk7Ci0gICAgICAg
IGxldCBtb2RlID0gMDsKKyAgICBjb25zdCB2aWRlbyA9IGNyZWF0ZVZpZGVvU3RyZWFtKCk7Cisg
ICAgYXNzZXJ0X2VxdWFscyh2aWRlby5nZXRBdWRpb1RyYWNrcygpLmxlbmd0aCwgMCwgInZpZGVv
IG1lZGlhc3RyZWFtIHN0YXJ0cyB3aXRoIG5vIGF1ZGlvIHRyYWNrIik7CisgICAgYXNzZXJ0X2Vx
dWFscyhhdWRpby5nZXRBdWRpb1RyYWNrcygpLmxlbmd0aCwgMSwgImF1ZGlvIG1lZGlhc3RyZWFt
IHN0YXJ0cyB3aXRoIG9uZSBhdWRpbyB0cmFjayIpOworICAgIHZpZGVvLmFkZFRyYWNrKGF1ZGlv
LmdldEF1ZGlvVHJhY2tzKClbMF0pOworICAgIGFzc2VydF9lcXVhbHModmlkZW8uZ2V0QXVkaW9U
cmFja3MoKS5sZW5ndGgsIDEsICJ2aWRlbyBtZWRpYXN0cmVhbSBzdGFydHMgd2l0aCBvbmUgYXVk
aW8gdHJhY2siKTsKKyAgICBjb25zdCByZWNvcmRlciA9IG5ldyBNZWRpYVJlY29yZGVyKHZpZGVv
KTsKKyAgICBsZXQgbW9kZSA9IDA7CiAKLSAgICAgICAgcmVjb3JkZXIub25kYXRhYXZhaWxhYmxl
ID0gdC5zdGVwX2Z1bmMoYmxvYkV2ZW50ID0+IHsKLSAgICAgICAgICAgIGFzc2VydF90cnVlKGJs
b2JFdmVudCBpbnN0YW5jZW9mIEJsb2JFdmVudCwgJ3RoZSB0eXBlIG9mIGV2ZW50IHNob3VsZCBi
ZSBCbG9iRXZlbnQnKTsKLSAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoYmxvYkV2ZW50LnR5cGUs
ICdkYXRhYXZhaWxhYmxlJywgJ3RoZSBldmVudCB0eXBlIHNob3VsZCBiZSBkYXRhYXZhaWxhYmxl
Jyk7Ci0gICAgICAgICAgICBhc3NlcnRfdHJ1ZShibG9iRXZlbnQuaXNUcnVzdGVkLCAnaXNUcnVz
dGVkIHNob3VsZCBiZSB0cnVlIHdoZW4gdGhlIGV2ZW50IGlzIGNyZWF0ZWQgYnkgQysrJyk7Ci0g
ICAgICAgICAgICBhc3NlcnRfdHJ1ZShibG9iRXZlbnQuZGF0YSBpbnN0YW5jZW9mIEJsb2IsICd0
aGUgdHlwZSBvZiBkYXRhIHNob3VsZCBiZSBCbG9iJyk7Ci0gICAgICAgICAgICBhc3NlcnRfdHJ1
ZShibG9iRXZlbnQuZGF0YS5zaXplID4gMCwgJ3RoZSBibG9iIHNob3VsZCBjb250YWluIHNvbWUg
YnVmZmVycycpOwotICAgICAgICAgICAgcGxheWVyLnNyYyA9IHdpbmRvdy5VUkwuY3JlYXRlT2Jq
ZWN0VVJMKGJsb2JFdmVudC5kYXRhKTsKLSAgICAgICAgICAgIGNvbnN0IHJlc0ZyYW1lID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZyYW1lIik7Ci0gICAgICAgICAgICBjb25zdCByZXNDb250
ZXh0ID0gcmVzRnJhbWUuZ2V0Q29udGV4dCgnMmQnKTsKLSAgICAgICAgICAgIHBsYXllci5vbmNh
bnBsYXkgPSAoKSA9PiB7Ci0gICAgICAgICAgICAgICAgYXNzZXJ0X2dyZWF0ZXJfdGhhbihwbGF5
ZXIuZHVyYXRpb24sIDAuMSwgJ3RoZSBkdXJhdGlvbiBzaG91bGQgYmUgZ3JlYXRlciB0aGFuIDEw
MG1zJyk7Ci0gICAgICAgICAgICAgICAgcGxheWVyLnBsYXkoKTsKLSAgICAgICAgICAgIH07Ci0g
ICAgICAgICAgICBwbGF5ZXIub25wbGF5ID0gKCkgPT4gewotICAgICAgICAgICAgICAgIHBsYXll
ci5wYXVzZSgpOwotICAgICAgICAgICAgICAgIHBsYXllci5jdXJyZW50VGltZSA9IDAuMTsKLSAg
ICAgICAgICAgIH07Ci0gICAgICAgICAgICBwbGF5ZXIub25zZWVrZWQgPSAoKSA9PiB7Ci0gICAg
ICAgICAgICAgICAgcmVzQ29udGV4dC5kcmF3SW1hZ2UocGxheWVyLCAwLCAwKTsKLSAgICAgICAg
ICAgICAgICBpZiAoIW1vZGUpIHsKLSAgICAgICAgICAgICAgICAgICAgX2Fzc2VydFBpeGVsQXBw
cm94KHJlc0ZyYW1lLCAwLCAwLCAyNTUsIDAsIDAsIDI1NSwgIjAsIDAiLCAiMjU1LCAwLCAwLCAy
NTUiLCA1KTsKLSAgICAgICAgICAgICAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KHJlc0ZyYW1l
LCA1MCwgNTAsIDI1NSwgMCwgMCwgMjU1LCAiNTAsIDUwIiwgIjI1NSwgMCwgMCwgMjU1IiwgNSk7
Ci0gICAgICAgICAgICAgICAgICAgIG1vZGUgPSAxOwotICAgICAgICAgICAgICAgICAgICBwbGF5
ZXIuY3VycmVudFRpbWUgPSBwbGF5ZXIuZHVyYXRpb247Ci0gICAgICAgICAgICAgICAgfSBlbHNl
IHsKLSAgICAgICAgICAgICAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KHJlc0ZyYW1lLCAxOTks
IDAsIDAsIDI1NSwgMCwgMjU1LCAiMTk5LCAwIiwgIjAsIDI1NSwgMCwgMjU1IiwgNSk7Ci0gICAg
ICAgICAgICAgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChyZXNGcmFtZSwgMTk5LCAxOTksIDAs
IDI1NSwgMCwgMjU1LCAiMTk5LCAxOTkiLCAiMCwgMjU1LCAwLCAyNTUiLCA1KTsKLSAgICAgICAg
ICAgICAgICAgICAgdC5kb25lKCk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfTsK
LSAgICAgICAgICAgIHBsYXllci5sb2FkKCk7Ci0gICAgICAgIH0pOwotICAgICAgICBkcmF3U3Rh
cnRUaW1lID0gRGF0ZS5ub3coKTsKLSAgICAgICAgZG9SZWRJbWFnZURyYXcoKTsKLSAgICAgICAg
cmVjb3JkZXIuc3RhcnQoKTsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyhyZWNvcmRlci5zdGF0ZSwg
J3JlY29yZGluZycsICdNZWRpYVJlY29yZGVyIGhhcyBiZWVuIHN0YXJ0ZWQgc3VjY2Vzc2Z1bGx5
Jyk7Ci0gICAgICAgIHNldFRpbWVvdXQoKCkgPT4gewotICAgICAgICAgICAgcmVjb3JkZXIuc3Rv
cCgpOwotICAgICAgICB9LCAxMDAwKTsKLSAgICB9LCAnTWVkaWFSZWNvcmRlciBjYW4gc3VjY2Vz
c2Z1bGx5IHJlY29yZCB0aGUgdmlkZW8gZm9yIGEgYXVkaW8tdmlkZW8gc3RyZWFtJyk7CisgICAg
cmVjb3JkZXIub25kYXRhYXZhaWxhYmxlID0gKGJsb2JFdmVudCkgPT4geworICAgICAgICBhc3Nl
cnRfdHJ1ZShibG9iRXZlbnQgaW5zdGFuY2VvZiBCbG9iRXZlbnQsICd0aGUgdHlwZSBvZiBldmVu
dCBzaG91bGQgYmUgQmxvYkV2ZW50Jyk7CisgICAgICAgIGFzc2VydF9lcXVhbHMoYmxvYkV2ZW50
LnR5cGUsICdkYXRhYXZhaWxhYmxlJywgJ3RoZSBldmVudCB0eXBlIHNob3VsZCBiZSBkYXRhYXZh
aWxhYmxlJyk7CisgICAgICAgIGFzc2VydF90cnVlKGJsb2JFdmVudC5pc1RydXN0ZWQsICdpc1Ry
dXN0ZWQgc2hvdWxkIGJlIHRydWUgd2hlbiB0aGUgZXZlbnQgaXMgY3JlYXRlZCBieSBDKysnKTsK
KyAgICAgICAgYXNzZXJ0X3RydWUoYmxvYkV2ZW50LmRhdGEgaW5zdGFuY2VvZiBCbG9iLCAndGhl
IHR5cGUgb2YgZGF0YSBzaG91bGQgYmUgQmxvYicpOworICAgICAgICBhc3NlcnRfdHJ1ZShibG9i
RXZlbnQuZGF0YS5zaXplID4gMCwgJ3RoZSBibG9iIHNob3VsZCBjb250YWluIHNvbWUgYnVmZmVy
cycpOworICAgICAgICBwbGF5ZXIuc3JjID0gd2luZG93LlVSTC5jcmVhdGVPYmplY3RVUkwoYmxv
YkV2ZW50LmRhdGEpOworICAgICAgICBjb25zdCByZXNGcmFtZSA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJmcmFtZSIpOworICAgICAgICBjb25zdCByZXNDb250ZXh0ID0gcmVzRnJhbWUuZ2V0
Q29udGV4dCgnMmQnKTsKKyAgICAgICAgcGxheWVyLm9uY2FucGxheSA9ICgpID0+IHsKKyAgICAg
ICAgICAgIGFzc2VydF9ncmVhdGVyX3RoYW4ocGxheWVyLmR1cmF0aW9uLCAwLjEsICd0aGUgZHVy
YXRpb24gc2hvdWxkIGJlIGdyZWF0ZXIgdGhhbiAxMDBtcycpOworICAgICAgICAgICAgcGxheWVy
LnBsYXkoKTsKKyAgICAgICAgfTsKKyAgICAgICAgcGxheWVyLm9ucGxheSA9ICgpID0+IHsKKyAg
ICAgICAgICAgIGlmIChtb2RlID09PSAyKQorICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAg
ICAgICAgIHBsYXllci5wYXVzZSgpOworICAgICAgICAgICAgcGxheWVyLmN1cnJlbnRUaW1lID0g
MC4yOworICAgICAgICB9OworICAgICAgICBwbGF5ZXIub25zZWVrZWQgPSAoKSA9PiB7CisgICAg
ICAgICAgICByZXNDb250ZXh0LmRyYXdJbWFnZShwbGF5ZXIsIDAsIDApOworICAgICAgICAgICAg
aWYgKCFtb2RlKSB7CisgICAgICAgICAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KHJlc0ZyYW1l
LCAyMCwgMjAsIDI1NSwgMCwgMCwgMjU1LCAiMjAsIDIwIiwgIjI1NSwgMCwgMCwgMjU1IiwgNTAp
OworICAgICAgICAgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChyZXNGcmFtZSwgNTAsIDUwLCAy
NTUsIDAsIDAsIDI1NSwgIjUwLCA1MCIsICIyNTUsIDAsIDAsIDI1NSIsIDUwKTsKKyAgICAgICAg
ICAgICAgICBtb2RlID0gMTsKKyAgICAgICAgICAgICAgICBwbGF5ZXIuY3VycmVudFRpbWUgPSAx
Ljg7CisgICAgICAgICAgICB9IGVsc2UgaWYgKG1vZGUgPT09IDEpIHsKKyAgICAgICAgICAgICAg
ICBfYXNzZXJ0UGl4ZWxBcHByb3gocmVzRnJhbWUsIDIxLCAyMSwgMCwgMjU1LCAwLCAyNTUsICIy
MSwgMjEiLCAiMCwgMjU1LCAwLCAyNTUiLCA1MCk7CisgICAgICAgICAgICAgICAgX2Fzc2VydFBp
eGVsQXBwcm94KHJlc0ZyYW1lLCA1MSwgNTEsIDAsIDI1NSwgMCwgMjU1LCAiNTEsIDUxIiwgIjAs
IDI1NSwgMCwgMjU1IiwgNTApOworICAgICAgICAgICAgICAgIC8vcGxheWVyLmN1cnJlbnRUaW1l
ID0gMDsKKyAgICAgICAgICAgICAgICBtb2RlID0yOworICAgICAgICAgICAgICAgIGRvbmUoKTsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgfTsKKyAgICAgICAgcGxheWVyLmxvYWQoKTsKKyAgICB9
OworICAgIHJlY29yZGVyLnN0YXJ0KCk7CisgICAgYXNzZXJ0X2VxdWFscyhyZWNvcmRlci5zdGF0
ZSwgJ3JlY29yZGluZycsICdNZWRpYVJlY29yZGVyIGhhcyBiZWVuIHN0YXJ0ZWQgc3VjY2Vzc2Z1
bGx5Jyk7CisgICAgZHJhd1N0YXJ0VGltZSA9IERhdGUubm93KCk7CisgICAgZG9SZWRJbWFnZURy
YXcoKTsKKyAgICBzZXRUaW1lb3V0KCgpID0+IHsKKyAgICAgICAgcmVjb3JkZXIuc3RvcCgpOwor
ICAgIH0sIDIwMDApOwogCiA8L3NjcmlwdD4KIDwvYm9keT4KLTwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dw
dC9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXItQVYtdmlkZW8tb25seS1kYXRhYXZhaWxhYmxl
Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXIt
QVYtdmlkZW8tb25seS1kYXRhYXZhaWxhYmxlLmh0bWwKaW5kZXggMmU2NDRkYzNjN2YzYzJiNGJm
N2Y5N2U2ZTkwN2ZiMjM4MzQ5YjM3NC4uZjRlNTNjYTQ5YjhlODU5ZmRkMTE4OWE1YzQ2ZWRkMzhm
YmYyOGNkNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvbWVkaWFyZWNvcmRlci9N
ZWRpYVJlY29yZGVyLUFWLXZpZGVvLW9ubHktZGF0YWF2YWlsYWJsZS5odG1sCisrKyBiL0xheW91
dFRlc3RzL2h0dHAvd3B0L21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlci1BVi12aWRlby1vbmx5
LWRhdGFhdmFpbGFibGUuaHRtbApAQCAtMSw3ICsxLDcgQEAKIDwhZG9jdHlwZSBodG1sPgogPGh0
bWw+CiA8aGVhZD4KLSAgICA8dGl0bGU+TWVkaWFSZWNvcmRlciBEYXRhYXZhaWxhYmxlPC90aXRs
ZT4KKyAgICA8dGl0bGU+TWVkaWFSZWNvcmRlciBjYW4gc3VjY2Vzc2Z1bGx5IHJlY29yZCB0aGUg
dmlkZW8gZm9yIGEgdmlkZW8tb25seSBzdHJlYW08L3RpdGxlPgogICAgIDxsaW5rIHJlbD0iaGVs
cCIgaHJlZj0iaHR0cHM6Ly93M2MuZ2l0aHViLmlvL21lZGlhY2FwdHVyZS1yZWNvcmQvTWVkaWFS
ZWNvcmRlci5odG1sI21lZGlhcmVjb3JkZXIiPgogICAgIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+CkBAIC0xMCwxMyArMTAsMTMgQEAKIDwvaGVh
ZD4KIDxib2R5PgogPGRpdj4KLSAgICA8dmlkZW8gaWQ9InBsYXllciI+CisgICAgPHZpZGVvIGlk
PSJwbGF5ZXIiIGNvbnRyb2xzPXRydWU+CiAgICAgPC92aWRlbz4KIDwvZGl2PgogPGRpdj4KICAg
ICA8Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIj4KICAgICA8L2Nh
bnZhcz4KLSAgICA8Y2FudmFzIGlkPSJmcmFtZSIgd2lkdGg9IjIwMCIgaGVpZ2h0PSIyMDAiPgor
ICAgIDxjYW52YXMgaWQ9ImZyYW1lIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCIgc3R5bGU9InZp
c2liaWxpdHk6dmlzaWJsZTsgZGlzcGxheTpibG9jayI+CiAgICAgPC9jYW52YXM+CiA8L2Rpdj4K
IDxzY3JpcHQ+CkBAIC0zMyw3ICszMyw3IEBACiAgICAgICAgIGlmIChjb250ZXh0KSB7CiAgICAg
ICAgICAgICBjb250ZXh0LmZpbGxTdHlsZSA9ICIjZmYwMDAwIjsKICAgICAgICAgICAgIGNvbnRl
eHQuZmlsbFJlY3QoMCwgMCwgMjAwLCAyMDApOwotICAgICAgICAgICAgaWYgKERhdGUubm93KCkg
LSBkcmF3U3RhcnRUaW1lIDwgNTAwKSB7CisgICAgICAgICAgICBpZiAoRGF0ZS5ub3coKSAtIGRy
YXdTdGFydFRpbWUgPCAxMDAwKSB7CiAgICAgICAgICAgICAgICAgd2luZG93LnJlcXVlc3RBbmlt
YXRpb25GcmFtZShkb1JlZEltYWdlRHJhdyk7CiAgICAgICAgICAgICB9IGVsc2UgewogICAgICAg
ICAgICAgICAgIGRyYXdTdGFydFRpbWUgPSBEYXRlLm5vdygpOwpAQCAtNDYsNTcgKzQ2LDU5IEBA
CiAgICAgICAgIGlmIChjb250ZXh0KSB7CiAgICAgICAgICAgICBjb250ZXh0LmZpbGxTdHlsZSA9
ICIjMDBmZjAwIjsKICAgICAgICAgICAgIGNvbnRleHQuZmlsbFJlY3QoMCwgMCwgMjAwLCAyMDAp
OwotICAgICAgICAgICAgaWYgKERhdGUubm93KCkgLSBkcmF3U3RhcnRUaW1lIDwgNTAwKSB7Cisg
ICAgICAgICAgICBpZiAoRGF0ZS5ub3coKSAtIGRyYXdTdGFydFRpbWUgPCAyMDAwKSB7CiAgICAg
ICAgICAgICAgICAgd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZShkb0dyZWVuSW1hZ2VEcmF3
KTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0KIAotICAgIGFzeW5jX3Rlc3QodCA9
PiB7Ci0gICAgICAgIGNvbnN0IHZpZGVvID0gY3JlYXRlVmlkZW9TdHJlYW0oKTsKLSAgICAgICAg
Y29uc3QgcmVjb3JkZXIgPSBuZXcgTWVkaWFSZWNvcmRlcih2aWRlbyk7Ci0gICAgICAgIGxldCBt
b2RlID0gMDsKLSAgICAgICAgcmVjb3JkZXIub25kYXRhYXZhaWxhYmxlID0gdC5zdGVwX2Z1bmMo
YmxvYkV2ZW50ID0+IHsKLSAgICAgICAgICAgIGFzc2VydF90cnVlKGJsb2JFdmVudCBpbnN0YW5j
ZW9mIEJsb2JFdmVudCwgJ3RoZSB0eXBlIG9mIGV2ZW50IHNob3VsZCBiZSBCbG9iRXZlbnQnKTsK
LSAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoYmxvYkV2ZW50LnR5cGUsICdkYXRhYXZhaWxhYmxl
JywgJ3RoZSBldmVudCB0eXBlIHNob3VsZCBiZSBkYXRhYXZhaWxhYmxlJyk7Ci0gICAgICAgICAg
ICBhc3NlcnRfdHJ1ZShibG9iRXZlbnQuaXNUcnVzdGVkLCAnaXNUcnVzdGVkIHNob3VsZCBiZSB0
cnVlIHdoZW4gdGhlIGV2ZW50IGlzIGNyZWF0ZWQgYnkgQysrJyk7Ci0gICAgICAgICAgICBhc3Nl
cnRfdHJ1ZShibG9iRXZlbnQuZGF0YSBpbnN0YW5jZW9mIEJsb2IsICd0aGUgdHlwZSBvZiBkYXRh
IHNob3VsZCBiZSBCbG9iJyk7Ci0gICAgICAgICAgICBhc3NlcnRfdHJ1ZShibG9iRXZlbnQuZGF0
YS5zaXplID4gMCwgJ3RoZSBibG9iIHNob3VsZCBjb250YWluIHNvbWUgYnVmZmVycycpOwotICAg
ICAgICAgICAgcGxheWVyLnNyYyA9IHdpbmRvdy5VUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2JFdmVu
dC5kYXRhKTsKLSAgICAgICAgICAgIGNvbnN0IHJlc0ZyYW1lID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImZyYW1lIik7Ci0gICAgICAgICAgICBjb25zdCByZXNDb250ZXh0ID0gcmVzRnJhbWUu
Z2V0Q29udGV4dCgnMmQnKTsKLSAgICAgICAgICAgIHBsYXllci5vbmNhbnBsYXkgPSAoKSA9PiB7
Ci0gICAgICAgICAgICAgICAgYXNzZXJ0X2dyZWF0ZXJfdGhhbihwbGF5ZXIuZHVyYXRpb24sIDAu
MSwgJ3RoZSBkdXJhdGlvbiBzaG91bGQgYmUgZ3JlYXRlciB0aGFuIDEwMG1zJyk7Ci0gICAgICAg
ICAgICAgICAgcGxheWVyLnBsYXkoKTsKLSAgICAgICAgICAgIH07Ci0gICAgICAgICAgICBwbGF5
ZXIub25wbGF5ID0gKCkgPT4gewotICAgICAgICAgICAgICAgIHBsYXllci5wYXVzZSgpOwotICAg
ICAgICAgICAgICAgIHBsYXllci5jdXJyZW50VGltZSA9IDAuMTsKLSAgICAgICAgICAgIH07Ci0g
ICAgICAgICAgICBwbGF5ZXIub25zZWVrZWQgPSAoKSA9PiB7Ci0gICAgICAgICAgICAgICAgcmVz
Q29udGV4dC5kcmF3SW1hZ2UocGxheWVyLCAwLCAwKTsKLSAgICAgICAgICAgICAgICBpZiAoIW1v
ZGUpIHsKLSAgICAgICAgICAgICAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KHJlc0ZyYW1lLCAw
LCAwLCAyNTUsIDAsIDAsIDI1NSwgIjAsIDAiLCAiMjU1LCAwLCAwLCAyNTUiLCA1KTsKLSAgICAg
ICAgICAgICAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KHJlc0ZyYW1lLCA1MCwgNTAsIDI1NSwg
MCwgMCwgMjU1LCAiNTAsIDUwIiwgIjI1NSwgMCwgMCwgMjU1IiwgNSk7Ci0gICAgICAgICAgICAg
ICAgICAgIG1vZGUgPSAxOwotICAgICAgICAgICAgICAgICAgICBwbGF5ZXIuY3VycmVudFRpbWUg
PSBwbGF5ZXIuZHVyYXRpb247Ci0gICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAg
ICAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KHJlc0ZyYW1lLCAxOTksIDAsIDAsIDI1NSwgMCwg
MjU1LCAiMTk5LCAwIiwgIjAsIDI1NSwgMCwgMjU1IiwgNSk7Ci0gICAgICAgICAgICAgICAgICAg
IF9hc3NlcnRQaXhlbEFwcHJveChyZXNGcmFtZSwgMTk5LCAxOTksIDAsIDI1NSwgMCwgMjU1LCAi
MTk5LCAxOTkiLCAiMCwgMjU1LCAwLCAyNTUiLCA1KTsKLSAgICAgICAgICAgICAgICAgICAgdC5k
b25lKCk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfTsKLSAgICAgICAgICAgIHBs
YXllci5sb2FkKCk7Ci0gICAgICAgIH0pOwotICAgICAgICBkcmF3U3RhcnRUaW1lID0gRGF0ZS5u
b3coKTsKLSAgICAgICAgZG9SZWRJbWFnZURyYXcoKTsKLSAgICAgICAgcmVjb3JkZXIuc3RhcnQo
KTsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyhyZWNvcmRlci5zdGF0ZSwgJ3JlY29yZGluZycsICdN
ZWRpYVJlY29yZGVyIGhhcyBiZWVuIHN0YXJ0ZWQgc3VjY2Vzc2Z1bGx5Jyk7Ci0gICAgICAgIHNl
dFRpbWVvdXQoKCkgPT4gewotICAgICAgICAgICAgcmVjb3JkZXIuc3RvcCgpOwotICAgICAgICB9
LCAxMDAwKTsKLSAgICB9LCAnTWVkaWFSZWNvcmRlciBjYW4gc3VjY2Vzc2Z1bGx5IHJlY29yZCB0
aGUgdmlkZW8gZm9yIGEgdmlkZW8tb25seSBzdHJlYW0nKTsKKyAgICBjb25zdCB2aWRlbyA9IGNy
ZWF0ZVZpZGVvU3RyZWFtKCk7CisgICAgY29uc3QgcmVjb3JkZXIgPSBuZXcgTWVkaWFSZWNvcmRl
cih2aWRlbyk7CisgICAgbGV0IG1vZGUgPSAwOworICAgIHJlY29yZGVyLm9uZGF0YWF2YWlsYWJs
ZSA9IChibG9iRXZlbnQpID0+IHsKKyAgICAgICAgYXNzZXJ0X3RydWUoYmxvYkV2ZW50IGluc3Rh
bmNlb2YgQmxvYkV2ZW50LCAndGhlIHR5cGUgb2YgZXZlbnQgc2hvdWxkIGJlIEJsb2JFdmVudCcp
OworICAgICAgICBhc3NlcnRfZXF1YWxzKGJsb2JFdmVudC50eXBlLCAnZGF0YWF2YWlsYWJsZScs
ICd0aGUgZXZlbnQgdHlwZSBzaG91bGQgYmUgZGF0YWF2YWlsYWJsZScpOworICAgICAgICBhc3Nl
cnRfdHJ1ZShibG9iRXZlbnQuaXNUcnVzdGVkLCAnaXNUcnVzdGVkIHNob3VsZCBiZSB0cnVlIHdo
ZW4gdGhlIGV2ZW50IGlzIGNyZWF0ZWQgYnkgQysrJyk7CisgICAgICAgIGFzc2VydF90cnVlKGJs
b2JFdmVudC5kYXRhIGluc3RhbmNlb2YgQmxvYiwgJ3RoZSB0eXBlIG9mIGRhdGEgc2hvdWxkIGJl
IEJsb2InKTsKKyAgICAgICAgYXNzZXJ0X3RydWUoYmxvYkV2ZW50LmRhdGEuc2l6ZSA+IDAsICd0
aGUgYmxvYiBzaG91bGQgY29udGFpbiBzb21lIGJ1ZmZlcnMnKTsKKyAgICAgICAgcGxheWVyLnNy
YyA9IHdpbmRvdy5VUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2JFdmVudC5kYXRhKTsKKyAgICAgICAg
Y29uc3QgcmVzRnJhbWUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZnJhbWUiKTsKKyAgICAg
ICAgY29uc3QgcmVzQ29udGV4dCA9IHJlc0ZyYW1lLmdldENvbnRleHQoJzJkJyk7CisgICAgICAg
IHBsYXllci5vbmNhbnBsYXkgPSAoKSA9PiB7CisgICAgICAgICAgICBhc3NlcnRfZ3JlYXRlcl90
aGFuKHBsYXllci5kdXJhdGlvbiwgMC4xLCAndGhlIGR1cmF0aW9uIHNob3VsZCBiZSBncmVhdGVy
IHRoYW4gMTAwbXMnKTsKKyAgICAgICAgICAgIHBsYXllci5wbGF5KCk7CisgICAgICAgIH07Cisg
ICAgICAgIHBsYXllci5vbnBsYXkgPSAoKSA9PiB7CisgICAgICAgICAgICBpZiAobW9kZSA9PT0g
MikKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICBwbGF5ZXIucGF1c2UoKTsK
KyAgICAgICAgICAgIHBsYXllci5jdXJyZW50VGltZSA9IDAuMTsKKyAgICAgICAgfTsKKyAgICAg
ICAgcGxheWVyLm9uc2Vla2VkID0gKCkgPT4geworICAgICAgICAgICAgcmVzQ29udGV4dC5kcmF3
SW1hZ2UocGxheWVyLCAwLCAwKTsKKyAgICAgICAgICAgIGlmICghbW9kZSkgeworICAgICAgICAg
ICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChyZXNGcmFtZSwgMjAsIDIwLCAyNTUsIDAsIDAsIDI1
NSwgIjIwLDIgMCIsICIyNTUsIDAsIDAsIDI1NSIsIDUwKTsKKyAgICAgICAgICAgICAgICBfYXNz
ZXJ0UGl4ZWxBcHByb3gocmVzRnJhbWUsIDUwLCA1MCwgMjU1LCAwLCAwLCAyNTUsICI1MCwgNTAi
LCAiMjU1LCAwLCAwLCAyNTUiLCA1MCk7CisgICAgICAgICAgICAgICAgbW9kZSA9IDE7CisgICAg
ICAgICAgICAgICAgcGxheWVyLmN1cnJlbnRUaW1lID0gcGxheWVyLmR1cmF0aW9uIC0gMC4xOwor
ICAgICAgICAgICAgfSBlbHNlIGlmIChtb2RlID09PSAxKXsKKyAgICAgICAgICAgICAgICBfYXNz
ZXJ0UGl4ZWxBcHByb3gocmVzRnJhbWUsIDIxLCAyMSwgMCwgMjU1LCAwLCAyNTUsICIyMSwgMjEi
LCAiMCwgMjU1LCAwLCAyNTUiLCA1MCk7CisgICAgICAgICAgICAgICAgX2Fzc2VydFBpeGVsQXBw
cm94KHJlc0ZyYW1lLCA1MSwgNTEsIDAsIDI1NSwgMCwgMjU1LCAiNTEsIDUxIiwgIjAsIDI1NSwg
MCwgMjU1IiwgNTApOworICAgICAgICAgICAgICAgIC8vcGxheWVyLmN1cnJlbnRUaW1lID0gMDsK
KyAgICAgICAgICAgICAgICBtb2RlID0gMjsKKyAgICAgICAgICAgICAgICBkb25lKCk7CisgICAg
ICAgICAgICB9CisgICAgICAgIH07CisgICAgICAgIHBsYXllci5sb2FkKCk7CisgICAgfTsKKyAg
ICByZWNvcmRlci5zdGFydCgpOworICAgIGFzc2VydF9lcXVhbHMocmVjb3JkZXIuc3RhdGUsICdy
ZWNvcmRpbmcnLCAnTWVkaWFSZWNvcmRlciBoYXMgYmVlbiBzdGFydGVkIHN1Y2Nlc3NmdWxseScp
OworICAgIGRyYXdTdGFydFRpbWUgPSBEYXRlLm5vdygpOworICAgIGRvUmVkSW1hZ2VEcmF3KCk7
CisgICAgc2V0VGltZW91dCgoKSA9PiB7CisgICAgICAgIHJlY29yZGVyLnN0b3AoKTsKKyAgICB9
LCAyMDAwKTsKIAogPC9zY3JpcHQ+CiA8L2JvZHk+Ci08L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3Rr
L1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0
aW9ucwppbmRleCA1MDIzODRjN2RhN2FkODA5OGJiZjliMmM3NzBlY2UxM2I0N2Y4MTM2Li5jODFl
N2EzYjZkOGE1NGZkYTk5YWYyYjU3NGQxZjY2MzlmYmRjYzk3IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwpAQCAtNTk5LDYgKzU5OSw5IEBAIHdlYmtpdC5vcmcv
Yi8xODY5MzMgd2VicnRjL2dldFVzZXJNZWRpYS13ZWJhdWRpby1hdXRvcGxheS5odG1sCiAKIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VicnRjLyBbIFNraXAgXQogaHR0cC90ZXN0
cy93ZWJydGMgWyBTa2lwIF0KKworaHR0cC93cHQvbWVkaWFyZWNvcmRlciBbIFNraXAgXQorCiAj
IFRoZSBNZWRpYVN0cmVhbSBpbXBsZW1lbnRhdGlvbiBpcyBhbHNvIHN0aWxsIG5vdCBjb21wbGV0
ZWQKIHdlYmtpdC5vcmcvYi83OTIwMyBmYXN0L21lZGlhc3RyZWFtL21vY2stbWVkaWEtc291cmNl
LXdlYmF1ZGlvLmh0bWwgWyBUaW1lb3V0IF0KIHdlYmtpdC5vcmcvYi83OTIwMyBmYXN0L21lZGlh
c3RyZWFtL2dldFVzZXJNZWRpYS13ZWJhdWRpby5odG1sIFsgRmFpbHVyZSBdCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93cGUvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL3dwZS9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDMyYzA3MDU1YjE3YjM4ZDUxZTNi
MzU1MTU3Y2U5ZTc5MmM1MGNmOWIuLjEyYTZhNTYzZWY3N2ZhOGFiMjFjNWRhNzI0NTQ4NGQwNjcw
MmU0NDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dwZS9UZXN0RXhwZWN0YXRp
b25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dwZS9UZXN0RXhwZWN0YXRpb25zCkBAIC00
OTQsNiArNDk0LDggQEAgaHR0cC90ZXN0cy93ZWJydGMgWyBTa2lwIF0KIGh0dHAvdGVzdHMvd2Vi
c29ja2V0IFsgU2tpcCBdCiBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0IFsgU2tpcCBdCiAKK2h0
dHAvd3B0L21lZGlhcmVjb3JkZXIgWyBTa2lwIF0KKwogIyBTZXJ2aWNlLXdvcmtlcnMgdGVzdHMg
dGhhdCBmYWlsLCB0aW1lIG91dCBvciBjcmFzaC4KIHdlYmtpdC5vcmcvYi8xNzU0MTkgaHR0cC90
ZXN0cy93b3JrZXJzL3NlcnZpY2UvY29udHJvbGxlci1jaGFuZ2UuaHRtbCBbIFNraXAgXQogd2Vi
a2l0Lm9yZy9iLzE3NTQxOSBodHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9uby1wYWdlLWNhY2hl
LXdoZW4tY29udHJvbGxlZC5odG1sIFsgU2tpcCBdCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>356525</attachid>
            <date>2018-12-04 13:03:00 -0800</date>
            <delta_ts>2018-12-04 13:40:51 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-192371-20181204130300.patch</filename>
            <type>text/plain</type>
            <size>21537</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM4ODU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2RjZWI0YWU3OTdjMTVl
ODdkNmE0ZjU0YjFjYzI5NWZjZjllZmFlMC4uYzYzMGE1MmU0N2RkMzg4ZjNiYmYzMTM1MzZkMGEy
NTliMTQ1OWEyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE4LTEyLTA0ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBGaXggTWVkaWFSZWNvcmRl
ciBmbGFreSB0ZXN0cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTkyMzcxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBDYXJsc29uLgorCisgICAg
ICAgIE5vIGNoYW5nZSBvZiBiZWhhdmlvci4KKworICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxz
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6cmVzZXRUb0NvbnNpc3RlbnRTdGF0
ZSk6CisgICAgICAgIFJlc2V0IHRvIHVzZSByZWFsIE1lZGlhUmVjb3JkZXIgYnkgZGVmYXVsdC4K
KwogMjAxOC0xMi0wNCAgUnlhbiBIYWRkYWQgIDxyeWFuaGFkZGFkQGFwcGxlLmNvbT4KIAogICAg
ICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMjM4ODQwLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbHMuY3BwCmluZGV4IDM4MTYxYjkwYmExOTUwMTE0NDBjZmUwNDUwY2FhMTQwZjNjZTI1
NmEuLjNhNmRmNjM2YmY2OWJlYzc3ZDc4ZDkyNGEyNjliNjE3MGQ4ZTlhODcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTUxOSw2ICs1MTksMTAgQEAgdm9pZCBJbnRlcm5h
bHM6OnJlc2V0VG9Db25zaXN0ZW50U3RhdGUoUGFnZSYgcGFnZSkKICAgICBwYWdlLnNldEZ1bGxz
Y3JlZW5Db250cm9sc0hpZGRlbihmYWxzZSk7CiAKICAgICBNZWRpYUVuZ2luZUNvbmZpZ3VyYXRp
b25GYWN0b3J5OjpkaXNhYmxlTW9jaygpOworCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKyAg
ICBXZWJDb3JlOjpNZWRpYVJlY29yZGVyOjpzZXRDdXN0b21Qcml2YXRlUmVjb3JkZXJDcmVhdG9y
KG51bGxwdHIpOworI2VuZGlmCiB9CiAKIEludGVybmFsczo6SW50ZXJuYWxzKERvY3VtZW50JiBk
b2N1bWVudCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwppbmRleCA1YmNiNzU2N2EwZDkxMjI3NGZhZTgxZDZmNWMzYjkwMzJhM2U1NDg1
Li5mMTIwYTE1MmU5YTk3ZTJkMzFlYjdiMzNkOGUwZGEzOWVhZTk4NGZjIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTggQEAKKzIwMTgtMTItMDQgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgor
CisgICAgICAgIEZpeCBNZWRpYVJlY29yZGVyIGZsYWt5IHRlc3RzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTIzNzEKKworICAgICAgICBSZXZpZXdl
ZCBieSBFcmljIENhcmxzb24uCisKKyAgICAgICAgVXBkYXRlZCB0ZXN0cyB0byBtYWtlIHRoZW0g
bGVzcyBmbGFreSBhbmQgbW9yZSBkZWJ1Z2dhYmxlLgorCisgICAgICAgICogaHR0cC93cHQvbWVk
aWFyZWNvcmRlci9NZWRpYVJlY29yZGVyLUFWLWF1ZGlvLW9ubHktZGF0YWF2YWlsYWJsZS5odG1s
OgorICAgICAgICAqIGh0dHAvd3B0L21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlci1BVi1hdWRp
by12aWRlby1kYXRhYXZhaWxhYmxlLmh0bWw6CisgICAgICAgICogaHR0cC93cHQvbWVkaWFyZWNv
cmRlci9NZWRpYVJlY29yZGVyLUFWLXZpZGVvLW9ubHktZGF0YWF2YWlsYWJsZS5odG1sOgorICAg
ICAgICAqIHBsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3Jt
L3dwZS9UZXN0RXhwZWN0YXRpb25zOgorCiAyMDE4LTEyLTA0ICBSeWFuIEhhZGRhZCAgPHJ5YW5o
YWRkYWRAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIyMzg4
NDAuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9tZWRpYXJlY29yZGVyL01lZGlh
UmVjb3JkZXItQVYtYXVkaW8tb25seS1kYXRhYXZhaWxhYmxlLmh0bWwgYi9MYXlvdXRUZXN0cy9o
dHRwL3dwdC9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXItQVYtYXVkaW8tb25seS1kYXRhYXZh
aWxhYmxlLmh0bWwKaW5kZXggYTQzYzRmOGM3YjA0MThjMGFkZTNiMWJhZDJhNDQ1NTgzMDk3NTNi
ZS4uNWIxNzVkYWYzNWZlYWRlZGU5YzY1ODgyNGVmNGNiZDQwNDYxZTlhZiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaHR0cC93cHQvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyLUFWLWF1ZGlv
LW9ubHktZGF0YWF2YWlsYWJsZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L21lZGlh
cmVjb3JkZXIvTWVkaWFSZWNvcmRlci1BVi1hdWRpby1vbmx5LWRhdGFhdmFpbGFibGUuaHRtbApA
QCAtMSw3ICsxLDcgQEAKIDwhZG9jdHlwZSBodG1sPgogPGh0bWw+CiA8aGVhZD4KLSAgICA8dGl0
bGU+TWVkaWFSZWNvcmRlciBEYXRhYXZhaWxhYmxlPC90aXRsZT4KKyAgICA8dGl0bGU+TWVkaWFS
ZWNvcmRlciBjYW4gc3VjY2Vzc2Z1bGx5IHJlY29yZCB0aGUgYXVkaW8gZm9yIGEgYXVkaW8tb25s
eSBzdHJlYW08L3RpdGxlPgogICAgIDxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93M2Mu
Z2l0aHViLmlvL21lZGlhY2FwdHVyZS1yZWNvcmQvTWVkaWFSZWNvcmRlci5odG1sI21lZGlhcmVj
b3JkZXIiPgogICAgIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KICAgICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+CkBAIC0xMSwzNyArMTEsMzUgQEAKIDwvYXVkaW8+CiA8c2NyaXB0PgogCi0gICAg
YXN5bmNfdGVzdCh0ID0+IHsKLSAgICAgICAgY29uc3QgYWMgPSBuZXcgQXVkaW9Db250ZXh0KCk7
Ci0gICAgICAgIGNvbnN0IG9zYyA9IGFjLmNyZWF0ZU9zY2lsbGF0b3IoKTsKLSAgICAgICAgY29u
c3QgZGVzdCA9IGFjLmNyZWF0ZU1lZGlhU3RyZWFtRGVzdGluYXRpb24oKTsKLSAgICAgICAgY29u
c3QgYXVkaW8gPSBkZXN0LnN0cmVhbTsKLSAgICAgICAgb3NjLmNvbm5lY3QoZGVzdCk7Ci0gICAg
ICAgIGNvbnN0IHJlY29yZGVyID0gbmV3IE1lZGlhUmVjb3JkZXIoYXVkaW8pOwotICAgICAgICBy
ZWNvcmRlci5vbmRhdGFhdmFpbGFibGUgPSB0LnN0ZXBfZnVuYyhibG9iRXZlbnQgPT4gewotICAg
ICAgICAgICAgYXNzZXJ0X3RydWUoYmxvYkV2ZW50IGluc3RhbmNlb2YgQmxvYkV2ZW50LCAndGhl
IHR5cGUgb2YgZXZlbnQgc2hvdWxkIGJlIEJsb2JFdmVudCcpOwotICAgICAgICAgICAgYXNzZXJ0
X2VxdWFscyhibG9iRXZlbnQudHlwZSwgJ2RhdGFhdmFpbGFibGUnLCAndGhlIGV2ZW50IHR5cGUg
c2hvdWxkIGJlIGRhdGFhdmFpbGFibGUnKTsKLSAgICAgICAgICAgIGFzc2VydF90cnVlKGJsb2JF
dmVudC5pc1RydXN0ZWQsICdpc1RydXN0ZWQgc2hvdWxkIGJlIHRydWUgd2hlbiB0aGUgZXZlbnQg
aXMgY3JlYXRlZCBieSBDKysnKTsKLSAgICAgICAgICAgIGFzc2VydF90cnVlKGJsb2JFdmVudC5k
YXRhIGluc3RhbmNlb2YgQmxvYiwgJ3RoZSB0eXBlIG9mIGRhdGEgc2hvdWxkIGJlIEJsb2InKTsK
LSAgICAgICAgICAgIGFzc2VydF90cnVlKGJsb2JFdmVudC5kYXRhLnNpemUgPiAwLCAndGhlIGJs
b2Igc2hvdWxkIGNvbnRhaW4gc29tZSBidWZmZXJzJyk7Ci0gICAgICAgICAgICBjb25zdCBwbGF5
ZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGxheWVyIik7Ci0gICAgICAgICAgICBwbGF5
ZXIuc3JjID0gd2luZG93LlVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYkV2ZW50LmRhdGEpOwotICAg
ICAgICAgICAgcGxheWVyLm9uY2FucGxheSA9ICgpID0+IHsKLSAgICAgICAgICAgICAgICBhc3Nl
cnRfZ3JlYXRlcl90aGFuKHBsYXllci5kdXJhdGlvbiwgMCwgJ3RoZSBkdXJhdGlvbiBzaG91bGQg
YmUgZ3JlYXRlciB0aGFuIDAnKTsKLSAgICAgICAgICAgICAgICB0LmRvbmUoKTsKLSAgICAgICAg
ICAgIH07Ci0gICAgICAgICAgICBwbGF5ZXIubG9hZCgpOwotICAgICAgICB9KTsKKyAgICBjb25z
dCBhYyA9IG5ldyB3ZWJraXRBdWRpb0NvbnRleHQoKTsKKyAgICBjb25zdCBvc2MgPSBhYy5jcmVh
dGVPc2NpbGxhdG9yKCk7CisgICAgY29uc3QgZGVzdCA9IGFjLmNyZWF0ZU1lZGlhU3RyZWFtRGVz
dGluYXRpb24oKTsKKyAgICBjb25zdCBhdWRpbyA9IGRlc3Quc3RyZWFtOworICAgIG9zYy5jb25u
ZWN0KGRlc3QpOworICAgIGNvbnN0IHJlY29yZGVyID0gbmV3IE1lZGlhUmVjb3JkZXIoYXVkaW8p
OworICAgIHJlY29yZGVyLm9uZGF0YWF2YWlsYWJsZSA9IChibG9iRXZlbnQpID0+IHsKKyAgICAg
ICAgYXNzZXJ0X3RydWUoYmxvYkV2ZW50IGluc3RhbmNlb2YgQmxvYkV2ZW50LCAndGhlIHR5cGUg
b2YgZXZlbnQgc2hvdWxkIGJlIEJsb2JFdmVudCcpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGJs
b2JFdmVudC50eXBlLCAnZGF0YWF2YWlsYWJsZScsICd0aGUgZXZlbnQgdHlwZSBzaG91bGQgYmUg
ZGF0YWF2YWlsYWJsZScpOworICAgICAgICBhc3NlcnRfdHJ1ZShibG9iRXZlbnQuaXNUcnVzdGVk
LCAnaXNUcnVzdGVkIHNob3VsZCBiZSB0cnVlIHdoZW4gdGhlIGV2ZW50IGlzIGNyZWF0ZWQgYnkg
QysrJyk7CisgICAgICAgIGFzc2VydF90cnVlKGJsb2JFdmVudC5kYXRhIGluc3RhbmNlb2YgQmxv
YiwgJ3RoZSB0eXBlIG9mIGRhdGEgc2hvdWxkIGJlIEJsb2InKTsKKyAgICAgICAgYXNzZXJ0X3Ry
dWUoYmxvYkV2ZW50LmRhdGEuc2l6ZSA+IDAsICd0aGUgYmxvYiBzaG91bGQgY29udGFpbiBzb21l
IGJ1ZmZlcnMnKTsKKyAgICAgICAgY29uc3QgcGxheWVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInBsYXllciIpOworICAgICAgICBwbGF5ZXIuc3JjID0gd2luZG93LlVSTC5jcmVhdGVPYmpl
Y3RVUkwoYmxvYkV2ZW50LmRhdGEpOworICAgICAgICBwbGF5ZXIub25jYW5wbGF5ID0gKCkgPT4g
eworICAgICAgICAgICAgYXNzZXJ0X2dyZWF0ZXJfdGhhbihwbGF5ZXIuZHVyYXRpb24sIDAsICd0
aGUgZHVyYXRpb24gc2hvdWxkIGJlIGdyZWF0ZXIgdGhhbiAwJyk7CisgICAgICAgICAgICBkb25l
KCk7CisgICAgICAgIH07CisgICAgICAgIHBsYXllci5sb2FkKCk7CisgICAgfTsKIAotICAgICAg
ICByZWNvcmRlci5zdGFydCgpOwotICAgICAgICBvc2Muc3RhcnQoKTsKLSAgICAgICAgYXNzZXJ0
X2VxdWFscyhyZWNvcmRlci5zdGF0ZSwgJ3JlY29yZGluZycsICdNZWRpYVJlY29yZGVyIGhhcyBi
ZWVuIHN0YXJ0ZWQgc3VjY2Vzc2Z1bGx5Jyk7Ci0gICAgICAgIHNldFRpbWVvdXQoKCkgPT4gewot
ICAgICAgICAgICAgcmVjb3JkZXIuc3RvcCgpOwotICAgICAgICAgICAgb3NjLnN0b3AoKTsKLSAg
ICAgICAgfSwgNTAwKTsKLSAgICB9LCAnTWVkaWFSZWNvcmRlciBjYW4gc3VjY2Vzc2Z1bGx5IHJl
Y29yZCB0aGUgYXVkaW8gZm9yIGEgYXVkaW8tb25seSBzdHJlYW0nKTsKKyAgICByZWNvcmRlci5z
dGFydCgpOworICAgIG9zYy5zdGFydCgpOworICAgIGFzc2VydF9lcXVhbHMocmVjb3JkZXIuc3Rh
dGUsICdyZWNvcmRpbmcnLCAnTWVkaWFSZWNvcmRlciBoYXMgYmVlbiBzdGFydGVkIHN1Y2Nlc3Nm
dWxseScpOworICAgIHNldFRpbWVvdXQoKCkgPT4geworICAgICAgICByZWNvcmRlci5zdG9wKCk7
CisgICAgICAgIG9zYy5zdG9wKCk7CisgICAgfSwgNTAwKTsKIAogPC9zY3JpcHQ+CiA8L2JvZHk+
Ci08L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyLUFWLWF1
ZGlvLXZpZGVvLWRhdGFhdmFpbGFibGUuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L21lZGlh
cmVjb3JkZXIvTWVkaWFSZWNvcmRlci1BVi1hdWRpby12aWRlby1kYXRhYXZhaWxhYmxlLmh0bWwK
aW5kZXggZGYwNDM2YzkwODgzOTg5Mzg5ODQxNDllNTgzNTQxNjc0NTM4NWMzMS4uMDEyZjI0MTIw
NmNhMTQyYzA3YTg4M2QwZTliNzE1MzQzYTYyYmNiMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aHR0cC93cHQvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyLUFWLWF1ZGlvLXZpZGVvLWRhdGFh
dmFpbGFibGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9tZWRpYXJlY29yZGVyL01l
ZGlhUmVjb3JkZXItQVYtYXVkaW8tdmlkZW8tZGF0YWF2YWlsYWJsZS5odG1sCkBAIC0xLDcgKzEs
NyBAQAogPCFkb2N0eXBlIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgotICAgIDx0aXRsZT5NZWRpYVJl
Y29yZGVyIERhdGFhdmFpbGFibGU8L3RpdGxlPgorICAgIDx0aXRsZT5NZWRpYVJlY29yZGVyIGNh
biBzdWNjZXNzZnVsbHkgcmVjb3JkIHRoZSB2aWRlbyBmb3IgYSBhdWRpby12aWRlbyBzdHJlYW08
L3RpdGxlPgogICAgIDxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93M2MuZ2l0aHViLmlv
L21lZGlhY2FwdHVyZS1yZWNvcmQvTWVkaWFSZWNvcmRlci5odG1sI21lZGlhcmVjb3JkZXIiPgog
ICAgIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KICAg
ICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
CkBAIC0xMCwxMyArMTAsMTMgQEAKIDwvaGVhZD4KIDxib2R5PgogPGRpdj4KLSAgICA8dmlkZW8g
aWQ9InBsYXllciI+CisgICAgPHZpZGVvIGlkPSJwbGF5ZXIiIGNvbnRyb2xzPSJ0cnVlIj4KICAg
ICA8L3ZpZGVvPgogPC9kaXY+CiA8ZGl2PgogICAgIDxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9
IjIwMCIgaGVpZ2h0PSIyMDAiPgogICAgIDwvY2FudmFzPgotICAgIDxjYW52YXMgaWQ9ImZyYW1l
IiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+CisgICAgPGNhbnZhcyBpZD0iZnJhbWUiIHdpZHRo
PSIyMDAiIGhlaWdodD0iMjAwIiBzdHlsZT0idmlzaWJpbGl0eTp2aXNpYmxlOyBkaXNwbGF5OmJs
b2NrIj4KICAgICA8L2NhbnZhcz4KIDwvZGl2PgogPHNjcmlwdD4KQEAgLTMzLDcgKzMzLDcgQEAK
ICAgICAgICAgaWYgKGNvbnRleHQpIHsKICAgICAgICAgICAgIGNvbnRleHQuZmlsbFN0eWxlID0g
IiNmZjAwMDAiOwogICAgICAgICAgICAgY29udGV4dC5maWxsUmVjdCgwLCAwLCAyMDAsIDIwMCk7
Ci0gICAgICAgICAgICBpZiAoRGF0ZS5ub3coKSAtIGRyYXdTdGFydFRpbWUgPCA1MDApIHsKKyAg
ICAgICAgICAgIGlmIChEYXRlLm5vdygpIC0gZHJhd1N0YXJ0VGltZSA8IDIwMDApIHsKICAgICAg
ICAgICAgICAgICB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKGRvUmVkSW1hZ2VEcmF3KTsK
ICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgZHJhd1N0YXJ0VGltZSA9IERh
dGUubm93KCk7CkBAIC00Niw2OCArNDYsNzAgQEAKICAgICAgICAgaWYgKGNvbnRleHQpIHsKICAg
ICAgICAgICAgIGNvbnRleHQuZmlsbFN0eWxlID0gIiMwMGZmMDAiOwogICAgICAgICAgICAgY29u
dGV4dC5maWxsUmVjdCgwLCAwLCAyMDAsIDIwMCk7Ci0gICAgICAgICAgICBpZiAoRGF0ZS5ub3co
KSAtIGRyYXdTdGFydFRpbWUgPCA1MDApIHsKKyAgICAgICAgICAgIGlmIChEYXRlLm5vdygpIC0g
ZHJhd1N0YXJ0VGltZSA8IDEwMDAwKSB7CiAgICAgICAgICAgICAgICAgd2luZG93LnJlcXVlc3RB
bmltYXRpb25GcmFtZShkb0dyZWVuSW1hZ2VEcmF3KTsKICAgICAgICAgICAgIH0KICAgICAgICAg
fQogICAgIH0KIAotICAgIGFzeW5jX3Rlc3QodCA9PiB7Ci0gICAgICAgIGNvbnN0IGFjID0gbmV3
IEF1ZGlvQ29udGV4dCgpOwotICAgICAgICBjb25zdCBvc2MgPSBhYy5jcmVhdGVPc2NpbGxhdG9y
KCk7Ci0gICAgICAgIGNvbnN0IGRlc3QgPSBhYy5jcmVhdGVNZWRpYVN0cmVhbURlc3RpbmF0aW9u
KCk7Ci0gICAgICAgIGNvbnN0IGF1ZGlvID0gZGVzdC5zdHJlYW07Ci0gICAgICAgIG9zYy5jb25u
ZWN0KGRlc3QpOworICAgIGNvbnN0IGFjID0gbmV3IHdlYmtpdEF1ZGlvQ29udGV4dCgpOworICAg
IGNvbnN0IG9zYyA9IGFjLmNyZWF0ZU9zY2lsbGF0b3IoKTsKKyAgICBjb25zdCBkZXN0ID0gYWMu
Y3JlYXRlTWVkaWFTdHJlYW1EZXN0aW5hdGlvbigpOworICAgIGNvbnN0IGF1ZGlvID0gZGVzdC5z
dHJlYW07CisgICAgb3NjLmNvbm5lY3QoZGVzdCk7CiAKLSAgICAgICAgY29uc3QgdmlkZW8gPSBj
cmVhdGVWaWRlb1N0cmVhbSgpOwotICAgICAgICBhc3NlcnRfZXF1YWxzKHZpZGVvLmdldEF1ZGlv
VHJhY2tzKCkubGVuZ3RoLCAwLCAidmlkZW8gbWVkaWFzdHJlYW0gc3RhcnRzIHdpdGggbm8gYXVk
aW8gdHJhY2siKTsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyhhdWRpby5nZXRBdWRpb1RyYWNrcygp
Lmxlbmd0aCwgMSwgImF1ZGlvIG1lZGlhc3RyZWFtIHN0YXJ0cyB3aXRoIG9uZSBhdWRpbyB0cmFj
ayIpOwotICAgICAgICB2aWRlby5hZGRUcmFjayhhdWRpby5nZXRBdWRpb1RyYWNrcygpWzBdKTsK
LSAgICAgICAgYXNzZXJ0X2VxdWFscyh2aWRlby5nZXRBdWRpb1RyYWNrcygpLmxlbmd0aCwgMSwg
InZpZGVvIG1lZGlhc3RyZWFtIHN0YXJ0cyB3aXRoIG9uZSBhdWRpbyB0cmFjayIpOwotICAgICAg
ICBjb25zdCByZWNvcmRlciA9IG5ldyBNZWRpYVJlY29yZGVyKHZpZGVvKTsKLSAgICAgICAgbGV0
IG1vZGUgPSAwOworICAgIGNvbnN0IHZpZGVvID0gY3JlYXRlVmlkZW9TdHJlYW0oKTsKKyAgICBh
c3NlcnRfZXF1YWxzKHZpZGVvLmdldEF1ZGlvVHJhY2tzKCkubGVuZ3RoLCAwLCAidmlkZW8gbWVk
aWFzdHJlYW0gc3RhcnRzIHdpdGggbm8gYXVkaW8gdHJhY2siKTsKKyAgICBhc3NlcnRfZXF1YWxz
KGF1ZGlvLmdldEF1ZGlvVHJhY2tzKCkubGVuZ3RoLCAxLCAiYXVkaW8gbWVkaWFzdHJlYW0gc3Rh
cnRzIHdpdGggb25lIGF1ZGlvIHRyYWNrIik7CisgICAgdmlkZW8uYWRkVHJhY2soYXVkaW8uZ2V0
QXVkaW9UcmFja3MoKVswXSk7CisgICAgYXNzZXJ0X2VxdWFscyh2aWRlby5nZXRBdWRpb1RyYWNr
cygpLmxlbmd0aCwgMSwgInZpZGVvIG1lZGlhc3RyZWFtIHN0YXJ0cyB3aXRoIG9uZSBhdWRpbyB0
cmFjayIpOworICAgIGNvbnN0IHJlY29yZGVyID0gbmV3IE1lZGlhUmVjb3JkZXIodmlkZW8pOwor
ICAgIGxldCBtb2RlID0gMDsKIAotICAgICAgICByZWNvcmRlci5vbmRhdGFhdmFpbGFibGUgPSB0
LnN0ZXBfZnVuYyhibG9iRXZlbnQgPT4gewotICAgICAgICAgICAgYXNzZXJ0X3RydWUoYmxvYkV2
ZW50IGluc3RhbmNlb2YgQmxvYkV2ZW50LCAndGhlIHR5cGUgb2YgZXZlbnQgc2hvdWxkIGJlIEJs
b2JFdmVudCcpOwotICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhibG9iRXZlbnQudHlwZSwgJ2Rh
dGFhdmFpbGFibGUnLCAndGhlIGV2ZW50IHR5cGUgc2hvdWxkIGJlIGRhdGFhdmFpbGFibGUnKTsK
LSAgICAgICAgICAgIGFzc2VydF90cnVlKGJsb2JFdmVudC5pc1RydXN0ZWQsICdpc1RydXN0ZWQg
c2hvdWxkIGJlIHRydWUgd2hlbiB0aGUgZXZlbnQgaXMgY3JlYXRlZCBieSBDKysnKTsKLSAgICAg
ICAgICAgIGFzc2VydF90cnVlKGJsb2JFdmVudC5kYXRhIGluc3RhbmNlb2YgQmxvYiwgJ3RoZSB0
eXBlIG9mIGRhdGEgc2hvdWxkIGJlIEJsb2InKTsKLSAgICAgICAgICAgIGFzc2VydF90cnVlKGJs
b2JFdmVudC5kYXRhLnNpemUgPiAwLCAndGhlIGJsb2Igc2hvdWxkIGNvbnRhaW4gc29tZSBidWZm
ZXJzJyk7Ci0gICAgICAgICAgICBwbGF5ZXIuc3JjID0gd2luZG93LlVSTC5jcmVhdGVPYmplY3RV
UkwoYmxvYkV2ZW50LmRhdGEpOwotICAgICAgICAgICAgY29uc3QgcmVzRnJhbWUgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZnJhbWUiKTsKLSAgICAgICAgICAgIGNvbnN0IHJlc0NvbnRleHQg
PSByZXNGcmFtZS5nZXRDb250ZXh0KCcyZCcpOwotICAgICAgICAgICAgcGxheWVyLm9uY2FucGxh
eSA9ICgpID0+IHsKLSAgICAgICAgICAgICAgICBhc3NlcnRfZ3JlYXRlcl90aGFuKHBsYXllci5k
dXJhdGlvbiwgMC4xLCAndGhlIGR1cmF0aW9uIHNob3VsZCBiZSBncmVhdGVyIHRoYW4gMTAwbXMn
KTsKLSAgICAgICAgICAgICAgICBwbGF5ZXIucGxheSgpOwotICAgICAgICAgICAgfTsKLSAgICAg
ICAgICAgIHBsYXllci5vbnBsYXkgPSAoKSA9PiB7Ci0gICAgICAgICAgICAgICAgcGxheWVyLnBh
dXNlKCk7Ci0gICAgICAgICAgICAgICAgcGxheWVyLmN1cnJlbnRUaW1lID0gMC4xOwotICAgICAg
ICAgICAgfTsKLSAgICAgICAgICAgIHBsYXllci5vbnNlZWtlZCA9ICgpID0+IHsKLSAgICAgICAg
ICAgICAgICByZXNDb250ZXh0LmRyYXdJbWFnZShwbGF5ZXIsIDAsIDApOwotICAgICAgICAgICAg
ICAgIGlmICghbW9kZSkgewotICAgICAgICAgICAgICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3go
cmVzRnJhbWUsIDAsIDAsIDI1NSwgMCwgMCwgMjU1LCAiMCwgMCIsICIyNTUsIDAsIDAsIDI1NSIs
IDUpOwotICAgICAgICAgICAgICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gocmVzRnJhbWUsIDUw
LCA1MCwgMjU1LCAwLCAwLCAyNTUsICI1MCwgNTAiLCAiMjU1LCAwLCAwLCAyNTUiLCA1KTsKLSAg
ICAgICAgICAgICAgICAgICAgbW9kZSA9IDE7Ci0gICAgICAgICAgICAgICAgICAgIHBsYXllci5j
dXJyZW50VGltZSA9IHBsYXllci5kdXJhdGlvbjsKLSAgICAgICAgICAgICAgICB9IGVsc2Ugewot
ICAgICAgICAgICAgICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gocmVzRnJhbWUsIDE5OSwgMCwg
MCwgMjU1LCAwLCAyNTUsICIxOTksIDAiLCAiMCwgMjU1LCAwLCAyNTUiLCA1KTsKLSAgICAgICAg
ICAgICAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KHJlc0ZyYW1lLCAxOTksIDE5OSwgMCwgMjU1
LCAwLCAyNTUsICIxOTksIDE5OSIsICIwLCAyNTUsIDAsIDI1NSIsIDUpOwotICAgICAgICAgICAg
ICAgICAgICB0LmRvbmUoKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9OwotICAg
ICAgICAgICAgcGxheWVyLmxvYWQoKTsKLSAgICAgICAgfSk7Ci0gICAgICAgIGRyYXdTdGFydFRp
bWUgPSBEYXRlLm5vdygpOwotICAgICAgICBkb1JlZEltYWdlRHJhdygpOwotICAgICAgICByZWNv
cmRlci5zdGFydCgpOwotICAgICAgICBhc3NlcnRfZXF1YWxzKHJlY29yZGVyLnN0YXRlLCAncmVj
b3JkaW5nJywgJ01lZGlhUmVjb3JkZXIgaGFzIGJlZW4gc3RhcnRlZCBzdWNjZXNzZnVsbHknKTsK
LSAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7Ci0gICAgICAgICAgICByZWNvcmRlci5zdG9wKCk7
Ci0gICAgICAgIH0sIDEwMDApOwotICAgIH0sICdNZWRpYVJlY29yZGVyIGNhbiBzdWNjZXNzZnVs
bHkgcmVjb3JkIHRoZSB2aWRlbyBmb3IgYSBhdWRpby12aWRlbyBzdHJlYW0nKTsKKyAgICByZWNv
cmRlci5vbmRhdGFhdmFpbGFibGUgPSAoYmxvYkV2ZW50KSA9PiB7CisgICAgICAgIGFzc2VydF90
cnVlKGJsb2JFdmVudCBpbnN0YW5jZW9mIEJsb2JFdmVudCwgJ3RoZSB0eXBlIG9mIGV2ZW50IHNo
b3VsZCBiZSBCbG9iRXZlbnQnKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhibG9iRXZlbnQudHlw
ZSwgJ2RhdGFhdmFpbGFibGUnLCAndGhlIGV2ZW50IHR5cGUgc2hvdWxkIGJlIGRhdGFhdmFpbGFi
bGUnKTsKKyAgICAgICAgYXNzZXJ0X3RydWUoYmxvYkV2ZW50LmlzVHJ1c3RlZCwgJ2lzVHJ1c3Rl
ZCBzaG91bGQgYmUgdHJ1ZSB3aGVuIHRoZSBldmVudCBpcyBjcmVhdGVkIGJ5IEMrKycpOworICAg
ICAgICBhc3NlcnRfdHJ1ZShibG9iRXZlbnQuZGF0YSBpbnN0YW5jZW9mIEJsb2IsICd0aGUgdHlw
ZSBvZiBkYXRhIHNob3VsZCBiZSBCbG9iJyk7CisgICAgICAgIGFzc2VydF90cnVlKGJsb2JFdmVu
dC5kYXRhLnNpemUgPiAwLCAndGhlIGJsb2Igc2hvdWxkIGNvbnRhaW4gc29tZSBidWZmZXJzJyk7
CisgICAgICAgIHBsYXllci5zcmMgPSB3aW5kb3cuVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iRXZl
bnQuZGF0YSk7CisgICAgICAgIGNvbnN0IHJlc0ZyYW1lID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImZyYW1lIik7CisgICAgICAgIGNvbnN0IHJlc0NvbnRleHQgPSByZXNGcmFtZS5nZXRDb250
ZXh0KCcyZCcpOworICAgICAgICBwbGF5ZXIub25jYW5wbGF5ID0gKCkgPT4geworICAgICAgICAg
ICAgYXNzZXJ0X2dyZWF0ZXJfdGhhbihwbGF5ZXIuZHVyYXRpb24sIDAuMSwgJ3RoZSBkdXJhdGlv
biBzaG91bGQgYmUgZ3JlYXRlciB0aGFuIDEwMG1zJyk7CisgICAgICAgICAgICBwbGF5ZXIucGxh
eSgpOworICAgICAgICB9OworICAgICAgICBwbGF5ZXIub25wbGF5ID0gKCkgPT4geworICAgICAg
ICAgICAgaWYgKG1vZGUgPT09IDIpCisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAg
ICAgcGxheWVyLnBhdXNlKCk7CisgICAgICAgICAgICBwbGF5ZXIuY3VycmVudFRpbWUgPSAxOwor
ICAgICAgICB9OworICAgICAgICBwbGF5ZXIub25zZWVrZWQgPSAoKSA9PiB7CisgICAgICAgICAg
ICByZXNDb250ZXh0LmRyYXdJbWFnZShwbGF5ZXIsIDAsIDApOworICAgICAgICAgICAgaWYgKCFt
b2RlKSB7CisgICAgICAgICAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KHJlc0ZyYW1lLCAyMCwg
MjAsIDI1NSwgMCwgMCwgMjU1LCAiMjAsIDIwIiwgIjI1NSwgMCwgMCwgMjU1IiwgNTApOworICAg
ICAgICAgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChyZXNGcmFtZSwgNTAsIDUwLCAyNTUsIDAs
IDAsIDI1NSwgIjUwLCA1MCIsICIyNTUsIDAsIDAsIDI1NSIsIDUwKTsKKyAgICAgICAgICAgICAg
ICBtb2RlID0gMTsKKyAgICAgICAgICAgICAgICBwbGF5ZXIuY3VycmVudFRpbWUgPSAzOworICAg
ICAgICAgICAgfSBlbHNlIGlmIChtb2RlID09PSAxKSB7CisgICAgICAgICAgICAgICAgX2Fzc2Vy
dFBpeGVsQXBwcm94KHJlc0ZyYW1lLCAyMSwgMjEsIDAsIDI1NSwgMCwgMjU1LCAiMjEsIDIxIiwg
IjAsIDI1NSwgMCwgMjU1IiwgNTApOworICAgICAgICAgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJv
eChyZXNGcmFtZSwgNTEsIDUxLCAwLCAyNTUsIDAsIDI1NSwgIjUxLCA1MSIsICIwLCAyNTUsIDAs
IDI1NSIsIDUwKTsKKyAgICAgICAgICAgICAgICBtb2RlID0yOworICAgICAgICAgICAgICAgIGRv
bmUoKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfTsKKyAgICAgICAgcGxheWVyLmxvYWQoKTsK
KyAgICB9OworICAgIHJlY29yZGVyLnN0YXJ0KCk7CisgICAgYXNzZXJ0X2VxdWFscyhyZWNvcmRl
ci5zdGF0ZSwgJ3JlY29yZGluZycsICdNZWRpYVJlY29yZGVyIGhhcyBiZWVuIHN0YXJ0ZWQgc3Vj
Y2Vzc2Z1bGx5Jyk7CisgICAgZHJhd1N0YXJ0VGltZSA9IERhdGUubm93KCk7CisgICAgZG9SZWRJ
bWFnZURyYXcoKTsKKyAgICBvc2Muc3RhcnQoKTsKKyAgICBzZXRUaW1lb3V0KCgpID0+IHsKKyAg
ICAgICAgcmVjb3JkZXIuc3RvcCgpOworICAgIH0sIDQwMDApOwogCiA8L3NjcmlwdD4KIDwvYm9k
eT4KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXItQVYt
dmlkZW8tb25seS1kYXRhYXZhaWxhYmxlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9tZWRp
YXJlY29yZGVyL01lZGlhUmVjb3JkZXItQVYtdmlkZW8tb25seS1kYXRhYXZhaWxhYmxlLmh0bWwK
aW5kZXggMmU2NDRkYzNjN2YzYzJiNGJmN2Y5N2U2ZTkwN2ZiMjM4MzQ5YjM3NC4uYmI2OGM3YmEy
MzEzNmQ4NjM3NjVkZWRlMDBkNmIwNWRiMDRjYzY2YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aHR0cC93cHQvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyLUFWLXZpZGVvLW9ubHktZGF0YWF2
YWlsYWJsZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L21lZGlhcmVjb3JkZXIvTWVk
aWFSZWNvcmRlci1BVi12aWRlby1vbmx5LWRhdGFhdmFpbGFibGUuaHRtbApAQCAtMSw3ICsxLDcg
QEAKIDwhZG9jdHlwZSBodG1sPgogPGh0bWw+CiA8aGVhZD4KLSAgICA8dGl0bGU+TWVkaWFSZWNv
cmRlciBEYXRhYXZhaWxhYmxlPC90aXRsZT4KKyAgICA8dGl0bGU+TWVkaWFSZWNvcmRlciBjYW4g
c3VjY2Vzc2Z1bGx5IHJlY29yZCB0aGUgdmlkZW8gZm9yIGEgdmlkZW8tb25seSBzdHJlYW08L3Rp
dGxlPgogICAgIDxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93M2MuZ2l0aHViLmlvL21l
ZGlhY2FwdHVyZS1yZWNvcmQvTWVkaWFSZWNvcmRlci5odG1sI21lZGlhcmVjb3JkZXIiPgogICAg
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KICAgICA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+CkBA
IC0xMCwxMyArMTAsMTMgQEAKIDwvaGVhZD4KIDxib2R5PgogPGRpdj4KLSAgICA8dmlkZW8gaWQ9
InBsYXllciI+CisgICAgPHZpZGVvIGlkPSJwbGF5ZXIiIGNvbnRyb2xzPXRydWU+CiAgICAgPC92
aWRlbz4KIDwvZGl2PgogPGRpdj4KICAgICA8Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSIyMDAi
IGhlaWdodD0iMjAwIj4KICAgICA8L2NhbnZhcz4KLSAgICA8Y2FudmFzIGlkPSJmcmFtZSIgd2lk
dGg9IjIwMCIgaGVpZ2h0PSIyMDAiPgorICAgIDxjYW52YXMgaWQ9ImZyYW1lIiB3aWR0aD0iMjAw
IiBoZWlnaHQ9IjIwMCIgc3R5bGU9InZpc2liaWxpdHk6dmlzaWJsZTsgZGlzcGxheTpibG9jayI+
CiAgICAgPC9jYW52YXM+CiA8L2Rpdj4KIDxzY3JpcHQ+CkBAIC0zMyw3ICszMyw3IEBACiAgICAg
ICAgIGlmIChjb250ZXh0KSB7CiAgICAgICAgICAgICBjb250ZXh0LmZpbGxTdHlsZSA9ICIjZmYw
MDAwIjsKICAgICAgICAgICAgIGNvbnRleHQuZmlsbFJlY3QoMCwgMCwgMjAwLCAyMDApOwotICAg
ICAgICAgICAgaWYgKERhdGUubm93KCkgLSBkcmF3U3RhcnRUaW1lIDwgNTAwKSB7CisgICAgICAg
ICAgICBpZiAoRGF0ZS5ub3coKSAtIGRyYXdTdGFydFRpbWUgPCAyMDAwKSB7CiAgICAgICAgICAg
ICAgICAgd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZShkb1JlZEltYWdlRHJhdyk7CiAgICAg
ICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgIGRyYXdTdGFydFRpbWUgPSBEYXRlLm5v
dygpOwpAQCAtNDYsNTcgKzQ2LDU4IEBACiAgICAgICAgIGlmIChjb250ZXh0KSB7CiAgICAgICAg
ICAgICBjb250ZXh0LmZpbGxTdHlsZSA9ICIjMDBmZjAwIjsKICAgICAgICAgICAgIGNvbnRleHQu
ZmlsbFJlY3QoMCwgMCwgMjAwLCAyMDApOwotICAgICAgICAgICAgaWYgKERhdGUubm93KCkgLSBk
cmF3U3RhcnRUaW1lIDwgNTAwKSB7CisgICAgICAgICAgICBpZiAoRGF0ZS5ub3coKSAtIGRyYXdT
dGFydFRpbWUgPCAxMDAwMCkgewogICAgICAgICAgICAgICAgIHdpbmRvdy5yZXF1ZXN0QW5pbWF0
aW9uRnJhbWUoZG9HcmVlbkltYWdlRHJhdyk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAg
ICB9CiAKLSAgICBhc3luY190ZXN0KHQgPT4gewotICAgICAgICBjb25zdCB2aWRlbyA9IGNyZWF0
ZVZpZGVvU3RyZWFtKCk7Ci0gICAgICAgIGNvbnN0IHJlY29yZGVyID0gbmV3IE1lZGlhUmVjb3Jk
ZXIodmlkZW8pOwotICAgICAgICBsZXQgbW9kZSA9IDA7Ci0gICAgICAgIHJlY29yZGVyLm9uZGF0
YWF2YWlsYWJsZSA9IHQuc3RlcF9mdW5jKGJsb2JFdmVudCA9PiB7Ci0gICAgICAgICAgICBhc3Nl
cnRfdHJ1ZShibG9iRXZlbnQgaW5zdGFuY2VvZiBCbG9iRXZlbnQsICd0aGUgdHlwZSBvZiBldmVu
dCBzaG91bGQgYmUgQmxvYkV2ZW50Jyk7Ci0gICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGJsb2JF
dmVudC50eXBlLCAnZGF0YWF2YWlsYWJsZScsICd0aGUgZXZlbnQgdHlwZSBzaG91bGQgYmUgZGF0
YWF2YWlsYWJsZScpOwotICAgICAgICAgICAgYXNzZXJ0X3RydWUoYmxvYkV2ZW50LmlzVHJ1c3Rl
ZCwgJ2lzVHJ1c3RlZCBzaG91bGQgYmUgdHJ1ZSB3aGVuIHRoZSBldmVudCBpcyBjcmVhdGVkIGJ5
IEMrKycpOwotICAgICAgICAgICAgYXNzZXJ0X3RydWUoYmxvYkV2ZW50LmRhdGEgaW5zdGFuY2Vv
ZiBCbG9iLCAndGhlIHR5cGUgb2YgZGF0YSBzaG91bGQgYmUgQmxvYicpOwotICAgICAgICAgICAg
YXNzZXJ0X3RydWUoYmxvYkV2ZW50LmRhdGEuc2l6ZSA+IDAsICd0aGUgYmxvYiBzaG91bGQgY29u
dGFpbiBzb21lIGJ1ZmZlcnMnKTsKLSAgICAgICAgICAgIHBsYXllci5zcmMgPSB3aW5kb3cuVVJM
LmNyZWF0ZU9iamVjdFVSTChibG9iRXZlbnQuZGF0YSk7Ci0gICAgICAgICAgICBjb25zdCByZXNG
cmFtZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmcmFtZSIpOwotICAgICAgICAgICAgY29u
c3QgcmVzQ29udGV4dCA9IHJlc0ZyYW1lLmdldENvbnRleHQoJzJkJyk7Ci0gICAgICAgICAgICBw
bGF5ZXIub25jYW5wbGF5ID0gKCkgPT4gewotICAgICAgICAgICAgICAgIGFzc2VydF9ncmVhdGVy
X3RoYW4ocGxheWVyLmR1cmF0aW9uLCAwLjEsICd0aGUgZHVyYXRpb24gc2hvdWxkIGJlIGdyZWF0
ZXIgdGhhbiAxMDBtcycpOwotICAgICAgICAgICAgICAgIHBsYXllci5wbGF5KCk7Ci0gICAgICAg
ICAgICB9OwotICAgICAgICAgICAgcGxheWVyLm9ucGxheSA9ICgpID0+IHsKLSAgICAgICAgICAg
ICAgICBwbGF5ZXIucGF1c2UoKTsKLSAgICAgICAgICAgICAgICBwbGF5ZXIuY3VycmVudFRpbWUg
PSAwLjE7Ci0gICAgICAgICAgICB9OwotICAgICAgICAgICAgcGxheWVyLm9uc2Vla2VkID0gKCkg
PT4gewotICAgICAgICAgICAgICAgIHJlc0NvbnRleHQuZHJhd0ltYWdlKHBsYXllciwgMCwgMCk7
Ci0gICAgICAgICAgICAgICAgaWYgKCFtb2RlKSB7Ci0gICAgICAgICAgICAgICAgICAgIF9hc3Nl
cnRQaXhlbEFwcHJveChyZXNGcmFtZSwgMCwgMCwgMjU1LCAwLCAwLCAyNTUsICIwLCAwIiwgIjI1
NSwgMCwgMCwgMjU1IiwgNSk7Ci0gICAgICAgICAgICAgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJv
eChyZXNGcmFtZSwgNTAsIDUwLCAyNTUsIDAsIDAsIDI1NSwgIjUwLCA1MCIsICIyNTUsIDAsIDAs
IDI1NSIsIDUpOwotICAgICAgICAgICAgICAgICAgICBtb2RlID0gMTsKLSAgICAgICAgICAgICAg
ICAgICAgcGxheWVyLmN1cnJlbnRUaW1lID0gcGxheWVyLmR1cmF0aW9uOwotICAgICAgICAgICAg
ICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChyZXNG
cmFtZSwgMTk5LCAwLCAwLCAyNTUsIDAsIDI1NSwgIjE5OSwgMCIsICIwLCAyNTUsIDAsIDI1NSIs
IDUpOwotICAgICAgICAgICAgICAgICAgICBfYXNzZXJ0UGl4ZWxBcHByb3gocmVzRnJhbWUsIDE5
OSwgMTk5LCAwLCAyNTUsIDAsIDI1NSwgIjE5OSwgMTk5IiwgIjAsIDI1NSwgMCwgMjU1IiwgNSk7
Ci0gICAgICAgICAgICAgICAgICAgIHQuZG9uZSgpOwotICAgICAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgIH07Ci0gICAgICAgICAgICBwbGF5ZXIubG9hZCgpOwotICAgICAgICB9KTsKLSAgICAg
ICAgZHJhd1N0YXJ0VGltZSA9IERhdGUubm93KCk7Ci0gICAgICAgIGRvUmVkSW1hZ2VEcmF3KCk7
Ci0gICAgICAgIHJlY29yZGVyLnN0YXJ0KCk7Ci0gICAgICAgIGFzc2VydF9lcXVhbHMocmVjb3Jk
ZXIuc3RhdGUsICdyZWNvcmRpbmcnLCAnTWVkaWFSZWNvcmRlciBoYXMgYmVlbiBzdGFydGVkIHN1
Y2Nlc3NmdWxseScpOwotICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHsKLSAgICAgICAgICAgIHJl
Y29yZGVyLnN0b3AoKTsKLSAgICAgICAgfSwgMTAwMCk7Ci0gICAgfSwgJ01lZGlhUmVjb3JkZXIg
Y2FuIHN1Y2Nlc3NmdWxseSByZWNvcmQgdGhlIHZpZGVvIGZvciBhIHZpZGVvLW9ubHkgc3RyZWFt
Jyk7CisgICAgY29uc3QgdmlkZW8gPSBjcmVhdGVWaWRlb1N0cmVhbSgpOworICAgIGNvbnN0IHJl
Y29yZGVyID0gbmV3IE1lZGlhUmVjb3JkZXIodmlkZW8pOworICAgIGxldCBtb2RlID0gMDsKKyAg
ICByZWNvcmRlci5vbmRhdGFhdmFpbGFibGUgPSAoYmxvYkV2ZW50KSA9PiB7CisgICAgICAgIGFz
c2VydF90cnVlKGJsb2JFdmVudCBpbnN0YW5jZW9mIEJsb2JFdmVudCwgJ3RoZSB0eXBlIG9mIGV2
ZW50IHNob3VsZCBiZSBCbG9iRXZlbnQnKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhibG9iRXZl
bnQudHlwZSwgJ2RhdGFhdmFpbGFibGUnLCAndGhlIGV2ZW50IHR5cGUgc2hvdWxkIGJlIGRhdGFh
dmFpbGFibGUnKTsKKyAgICAgICAgYXNzZXJ0X3RydWUoYmxvYkV2ZW50LmlzVHJ1c3RlZCwgJ2lz
VHJ1c3RlZCBzaG91bGQgYmUgdHJ1ZSB3aGVuIHRoZSBldmVudCBpcyBjcmVhdGVkIGJ5IEMrKycp
OworICAgICAgICBhc3NlcnRfdHJ1ZShibG9iRXZlbnQuZGF0YSBpbnN0YW5jZW9mIEJsb2IsICd0
aGUgdHlwZSBvZiBkYXRhIHNob3VsZCBiZSBCbG9iJyk7CisgICAgICAgIGFzc2VydF90cnVlKGJs
b2JFdmVudC5kYXRhLnNpemUgPiAwLCAndGhlIGJsb2Igc2hvdWxkIGNvbnRhaW4gc29tZSBidWZm
ZXJzJyk7CisgICAgICAgIHBsYXllci5zcmMgPSB3aW5kb3cuVVJMLmNyZWF0ZU9iamVjdFVSTChi
bG9iRXZlbnQuZGF0YSk7CisgICAgICAgIGNvbnN0IHJlc0ZyYW1lID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImZyYW1lIik7CisgICAgICAgIGNvbnN0IHJlc0NvbnRleHQgPSByZXNGcmFtZS5n
ZXRDb250ZXh0KCcyZCcpOworICAgICAgICBwbGF5ZXIub25jYW5wbGF5ID0gKCkgPT4geworICAg
ICAgICAgICAgYXNzZXJ0X2dyZWF0ZXJfdGhhbihwbGF5ZXIuZHVyYXRpb24sIDAuMSwgJ3RoZSBk
dXJhdGlvbiBzaG91bGQgYmUgZ3JlYXRlciB0aGFuIDEwMG1zJyk7CisgICAgICAgICAgICBwbGF5
ZXIucGxheSgpOworICAgICAgICB9OworICAgICAgICBwbGF5ZXIub25wbGF5ID0gKCkgPT4gewor
ICAgICAgICAgICAgaWYgKG1vZGUgPT09IDIpCisgICAgICAgICAgICAgICAgcmV0dXJuOworICAg
ICAgICAgICAgcGxheWVyLnBhdXNlKCk7CisgICAgICAgICAgICBwbGF5ZXIuY3VycmVudFRpbWUg
PSAxOworICAgICAgICB9OworICAgICAgICBwbGF5ZXIub25zZWVrZWQgPSAoKSA9PiB7CisgICAg
ICAgICAgICByZXNDb250ZXh0LmRyYXdJbWFnZShwbGF5ZXIsIDAsIDApOworICAgICAgICAgICAg
aWYgKCFtb2RlKSB7CisgICAgICAgICAgICAgICAgX2Fzc2VydFBpeGVsQXBwcm94KHJlc0ZyYW1l
LCAyMCwgMjAsIDI1NSwgMCwgMCwgMjU1LCAiMjAsMiAwIiwgIjI1NSwgMCwgMCwgMjU1IiwgNTAp
OworICAgICAgICAgICAgICAgIF9hc3NlcnRQaXhlbEFwcHJveChyZXNGcmFtZSwgNTAsIDUwLCAy
NTUsIDAsIDAsIDI1NSwgIjUwLCA1MCIsICIyNTUsIDAsIDAsIDI1NSIsIDUwKTsKKyAgICAgICAg
ICAgICAgICBtb2RlID0gMTsKKyAgICAgICAgICAgICAgICBwbGF5ZXIuY3VycmVudFRpbWUgPSAz
OworICAgICAgICAgICAgfSBlbHNlIGlmIChtb2RlID09PSAxKXsKKyAgICAgICAgICAgICAgICBf
YXNzZXJ0UGl4ZWxBcHByb3gocmVzRnJhbWUsIDIxLCAyMSwgMCwgMjU1LCAwLCAyNTUsICIyMSwg
MjEiLCAiMCwgMjU1LCAwLCAyNTUiLCA1MCk7CisgICAgICAgICAgICAgICAgX2Fzc2VydFBpeGVs
QXBwcm94KHJlc0ZyYW1lLCA1MSwgNTEsIDAsIDI1NSwgMCwgMjU1LCAiNTEsIDUxIiwgIjAsIDI1
NSwgMCwgMjU1IiwgNTApOworICAgICAgICAgICAgICAgIG1vZGUgPSAyOworICAgICAgICAgICAg
ICAgIGRvbmUoKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfTsKKyAgICAgICAgcGxheWVyLmxv
YWQoKTsKKyAgICB9OworICAgIHJlY29yZGVyLnN0YXJ0KCk7CisgICAgYXNzZXJ0X2VxdWFscyhy
ZWNvcmRlci5zdGF0ZSwgJ3JlY29yZGluZycsICdNZWRpYVJlY29yZGVyIGhhcyBiZWVuIHN0YXJ0
ZWQgc3VjY2Vzc2Z1bGx5Jyk7CisgICAgZHJhd1N0YXJ0VGltZSA9IERhdGUubm93KCk7CisgICAg
ZG9SZWRJbWFnZURyYXcoKTsKKyAgICBzZXRUaW1lb3V0KCgpID0+IHsKKyAgICAgICAgcmVjb3Jk
ZXIuc3RvcCgpOworICAgIH0sIDQwMDApOwogCiA8L3NjcmlwdD4KIDwvYm9keT4KLTwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2d0ay9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDUwMjM4NGM3ZGE3YWQ4MDk4YmJmOWIyYzc3MGVj
ZTEzYjQ3ZjgxMzYuLmM4MWU3YTNiNmQ4YTU0ZmRhOTlhZjJiNTc0ZDFmNjYzOWZiZGNjOTcgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCisrKyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCkBAIC01OTksNiArNTk5
LDkgQEAgd2Via2l0Lm9yZy9iLzE4NjkzMyB3ZWJydGMvZ2V0VXNlck1lZGlhLXdlYmF1ZGlvLWF1
dG9wbGF5Lmh0bWwKIAogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJydGMvIFsg
U2tpcCBdCiBodHRwL3Rlc3RzL3dlYnJ0YyBbIFNraXAgXQorCitodHRwL3dwdC9tZWRpYXJlY29y
ZGVyIFsgU2tpcCBdCisKICMgVGhlIE1lZGlhU3RyZWFtIGltcGxlbWVudGF0aW9uIGlzIGFsc28g
c3RpbGwgbm90IGNvbXBsZXRlZAogd2Via2l0Lm9yZy9iLzc5MjAzIGZhc3QvbWVkaWFzdHJlYW0v
bW9jay1tZWRpYS1zb3VyY2Utd2ViYXVkaW8uaHRtbCBbIFRpbWVvdXQgXQogd2Via2l0Lm9yZy9i
Lzc5MjAzIGZhc3QvbWVkaWFzdHJlYW0vZ2V0VXNlck1lZGlhLXdlYmF1ZGlvLmh0bWwgWyBGYWls
dXJlIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dwZS9UZXN0RXhwZWN0YXRp
b25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd3BlL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggMzJj
MDcwNTViMTdiMzhkNTFlM2IzNTUxNTdjZTllNzkyYzUwY2Y5Yi4uMTJhNmE1NjNlZjc3ZmE4YWIy
MWM1ZGE3MjQ1NDg0ZDA2NzAyZTQ0NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
d3BlL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd3BlL1Rlc3RF
eHBlY3RhdGlvbnMKQEAgLTQ5NCw2ICs0OTQsOCBAQCBodHRwL3Rlc3RzL3dlYnJ0YyBbIFNraXAg
XQogaHR0cC90ZXN0cy93ZWJzb2NrZXQgWyBTa2lwIF0KIGh0dHAvdGVzdHMveG1saHR0cHJlcXVl
c3QgWyBTa2lwIF0KIAoraHR0cC93cHQvbWVkaWFyZWNvcmRlciBbIFNraXAgXQorCiAjIFNlcnZp
Y2Utd29ya2VycyB0ZXN0cyB0aGF0IGZhaWwsIHRpbWUgb3V0IG9yIGNyYXNoLgogd2Via2l0Lm9y
Zy9iLzE3NTQxOSBodHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9jb250cm9sbGVyLWNoYW5nZS5o
dG1sIFsgU2tpcCBdCiB3ZWJraXQub3JnL2IvMTc1NDE5IGh0dHAvdGVzdHMvd29ya2Vycy9zZXJ2
aWNlL25vLXBhZ2UtY2FjaGUtd2hlbi1jb250cm9sbGVkLmh0bWwgWyBTa2lwIF0K
</data>

          </attachment>
      

    </bug>

</bugzilla>