<?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>45904</bug_id>
          
          <creation_ts>2010-09-16 10:20:59 -0700</creation_ts>
          <short_desc>REGRESSION(r67628): broke the build (Requested by eric_carlson on #webkit).</short_desc>
          <delta_ts>2010-09-16 10:48:06 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</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>
          
          <blocked>45021</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Review Bot">webkit.review.bot</reporter>
          <assigned_to name="WebKit Review Bot">webkit.review.bot</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>pnormand</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>280185</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-09-16 10:20:59 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/67628 broke the build:
broke the build (Requested by eric_carlson on #webkit).

This is an automatic bug report generated by the sheriff-bot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests case pain.

&quot;Only you can prevent forest fires.&quot; -- Smokey the Bear</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>280187</commentid>
    <comment_count>1</comment_count>
      <attachid>67816</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-09-16 10:21:16 -0700</bug_when>
    <thetext>Created attachment 67816
ROLLOUT of r67628

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the rollout will be successful.  This process takes approximately 15 minutes.

If you would like to land the rollout faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID --ignore-builders

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>280192</commentid>
    <comment_count>2</comment_count>
      <attachid>67816</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-09-16 10:32:43 -0700</bug_when>
    <thetext>Comment on attachment 67816
ROLLOUT of r67628

Clearing flags on attachment: 67816

Committed r67635: &lt;http://trac.webkit.org/changeset/67635&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>280193</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-09-16 10:32:48 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>280200</commentid>
    <comment_count>4</comment_count>
      <attachid>67816</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-09-16 10:48:06 -0700</bug_when>
    <thetext>Comment on attachment 67816
ROLLOUT of r67628

Rejecting patch 67816 from commit-queue.

Failed to run &quot;[u&apos;/Users/eseidel/Projects/CommitQueue/WebKitTools/Scripts/svn-apply&apos;, u&apos;--force&apos;]&quot; exit_code: 1
Last 500 characters of output:
estResult.cpp.rej
patching file WebCore/rendering/HitTestResult.h
Hunk #1 FAILED at 32.
Hunk #2 FAILED at 80.
Hunk #3 FAILED at 96.
3 out of 3 hunks FAILED -- saving rejects to file WebCore/rendering/HitTestResult.h.rej
patching file WebKitTools/ChangeLog
Hunk #1 succeeded at 1 with fuzz 3.
patching file WebKitTools/DumpRenderTree/gtk/EventSender.cpp
Hunk #1 FAILED at 147.
Hunk #2 FAILED at 165.
2 out of 2 hunks FAILED -- saving rejects to file WebKitTools/DumpRenderTree/gtk/EventSender.cpp.rej

Full output: http://queues.webkit.org/results/4007040</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>67816</attachid>
            <date>2010-09-16 10:21:16 -0700</date>
            <delta_ts>2010-09-16 10:48:06 -0700</delta_ts>
            <desc>ROLLOUT of r67628</desc>
            <filename>bug-45904-20100916172114.patch</filename>
            <type>text/plain</type>
            <size>41376</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAwNWE0MzFlMmQzOGE0ZDg1MDg4MTRmZTE4ZWI1YTM4MWRhZDRjNmMwLi43OTFhNGNk
MDBjMTYzYjgwNDE4NDIwYjFkZGNkYjlmMGE0NTNiOTVkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAK
KzIwMTAtMDktMTYgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgor
CisgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI2NzYyOC4KKyAgICAgICAgaHR0cDov
L3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvNjc2MjgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ1OTA0CisKKyAgICAgICAgYnJva2UgdGhlIGJ1aWxk
IChSZXF1ZXN0ZWQgYnkgZXJpY19jYXJsc29uIG9uICN3ZWJraXQpLgorCisgICAgICAgICogbWVk
aWEvY29udGV4dC1tZW51LWFjdGlvbnMtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAq
IG1lZGlhL2NvbnRleHQtbWVudS1hY3Rpb25zLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogcGxh
dGZvcm0vbWFjL1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vcXQvU2tpcHBlZDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS93aW4vU2tpcHBlZDoKKwogMjAxMC0wOS0xNiAgWmhlbnlhbyBNbyAgPHpt
b0Bnb29nbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEtlbm5ldGggUnVzc2VsbC4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL2NvbnRleHQtbWVudS1hY3Rpb25zLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL21lZGlhL2NvbnRleHQtbWVudS1hY3Rpb25zLWV4cGVjdGVkLnR4
dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjkxOGYzZGUwOGEwMGZmZmM0MDI4MjAw
NDc2MmRkNzIzYzZkNjhjNC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9tZWRpYS9jb250ZXh0LW1lbnUtYWN0aW9ucy1leHBlY3RlZC50
eHQKKysrIC9kZXYvbnVsbApAQCAtMSwyNiArMCwwIEBACi1UZXN0IHRoZSB2YXJpb3VzIGFjdGlv
bnMgYXZhaWxhYmxlIGluIHRoZSBIVE1MNSBtZWRpYSBlbGVtZW50IGNvbnRleHQtbWVudS4KLQot
UlVOKHZpZGVvLnNyYyA9ICdjb250ZW50L3Rlc3QubXA0JykKLUVWRU5UKHBsYXkpCi1FWFBFQ1RF
RCAodmlkZW8ucGF1c2VkID09ICdmYWxzZScpIE9LCi1Ub2dnbGluZyBwbGF5IHN0YXRlCi1FWFBF
Q1RFRCAodmlkZW8ucGF1c2VkID09ICd0cnVlJykgT0sKLQotRVhQRUNURUQgKHZpZGVvLm11dGVk
ID09ICdmYWxzZScpIE9LCi1Ub2dnbGluZyBtdXRlIHN0YXRlCi1FWFBFQ1RFRCAodmlkZW8ubXV0
ZWQgPT0gJ3RydWUnKSBPSwotCi1FWFBFQ1RFRCAodmlkZW8uY29udHJvbHMgPT0gJ3RydWUnKSBP
SwotVG9nZ2xpbmcgbWVkaWEgY29udHJvbHMKLUVYUEVDVEVEICh2aWRlby5jb250cm9scyA9PSAn
ZmFsc2UnKSBPSwotCi1FWFBFQ1RFRCAodmlkZW8ubG9vcCA9PSAnZmFsc2UnKSBPSwotVG9nZ2xp
bmcgbG9vcCBzdGF0ZQotRVhQRUNURUQgKHZpZGVvLmxvb3AgPT0gJ3RydWUnKSBPSwotCi1FWFBF
Q1RFRCAodmlkZW8ud2Via2l0RGlzcGxheWluZ0Z1bGxzY3JlZW4gPT0gJ2ZhbHNlJykgT0sKLVRv
Z2dsaW5nIGZ1bGxzY3JlZW4gc3RhdGUKLUVYUEVDVEVEICh2aWRlby53ZWJraXREaXNwbGF5aW5n
RnVsbHNjcmVlbiA9PSAndHJ1ZScpIE9LCi0KLUVORCBPRiBURVNUCi0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL21lZGlhL2NvbnRleHQtbWVudS1hY3Rpb25zLmh0bWwgYi9MYXlvdXRUZXN0cy9t
ZWRpYS9jb250ZXh0LW1lbnUtYWN0aW9ucy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBhZTgwZjE0YjA3YjY3MjUzYjdjOTc1YjMxOTYxYTQ0OTYxYTQxMGQ5Li4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL21lZGlhL2Nv
bnRleHQtbWVudS1hY3Rpb25zLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw5MSArMCwwIEBACi08
aHRtbD4KLTxoZWFkPgotICAgICAgICA8c2NyaXB0IHNyYz0ibWVkaWEtZmlsZS5qcyI+PC9zY3Jp
cHQ+Ci0gICAgICAgIDxzY3JpcHQgc3JjPXZpZGVvLXRlc3QuanM+PC9zY3JpcHQ+Ci0gICAgICAg
IDxzY3JpcHQ+Ci0KLSAgICAgICAgICAgIGZ1bmN0aW9uIHBsYXlpbmcoKQotICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKLSAg
ICAgICAgICAgICAgICAgICAgaWYgKCF3aW5kb3cuZXZlbnRTZW5kZXIpIHsKLSAgICAgICAgICAg
ICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKLSAgICAgICAg
ICAgICAgICAgICAgICAgIGVuZFRlc3QoKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHJldHVy
bjsKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAg
ICAgICAgICAgICAgICAgIGVuZFRlc3QoKTsKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwot
ICAgICAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgICAgIGZpbmRNZWRpYUVsZW1lbnQoKTsK
LQotICAgICAgICAgICAgICAgIHZhciB4LCB5LCBpdGVtczsKLSAgICAgICAgICAgICAgICB4ID0g
dmlkZW8ub2Zmc2V0UGFyZW50Lm9mZnNldExlZnQgKyB2aWRlby5vZmZzZXRMZWZ0ICsgdmlkZW8u
b2Zmc2V0V2lkdGggLyAyOwotICAgICAgICAgICAgICAgIHkgPSB2aWRlby5vZmZzZXRQYXJlbnQu
b2Zmc2V0VG9wICsgdmlkZW8ub2Zmc2V0VG9wICsgdmlkZW8ub2Zmc2V0SGVpZ2h0IC8gMjsKLSAg
ICAgICAgICAgICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyh4LCB5KTsKLSAgICAgICAgICAg
ICAgICBpdGVtcyA9IGV2ZW50U2VuZGVyLmNvbnRleHRDbGljaygpOwotCi0KLSAgICAgICAgICAg
ICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGl0ZW1zLmxlbmd0aDsgaSsrKQotICAgICAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKGl0ZW1zW2ldLnRpdGxlLm1hdGNoKCJDb250
cm9scyIpKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgidmlkZW8uY29u
dHJvbHMiLCB0cnVlLCAnPT0nKTsKLSAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZVdyaXRl
KCJUb2dnbGluZyBtZWRpYSBjb250cm9scyIpOwotICAgICAgICAgICAgICAgICAgICAgICBpdGVt
c1tpXS5jbGljaygpOwotICAgICAgICAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInZpZGVv
LmNvbnRyb2xzIiwgZmFsc2UsICc9PScpOwotICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xl
V3JpdGUoIiIpOwotICAgICAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgICAgICAgICAg
aWYgKGl0ZW1zW2ldLnRpdGxlLm1hdGNoKCJQYXVzZSIpKSB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgIHRlc3RFeHBlY3RlZCgidmlkZW8ucGF1c2VkIiwgZmFsc2UsICc9PScpOwotICAgICAgICAg
ICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIlRvZ2dsaW5nIHBsYXkgc3RhdGUiKTsKLSAgICAg
ICAgICAgICAgICAgICAgICAgaXRlbXNbaV0uY2xpY2soKTsKLSAgICAgICAgICAgICAgICAgICAg
ICAgdGVzdEV4cGVjdGVkKCJ2aWRlby5wYXVzZWQiLCB0cnVlLCAnPT0nKTsKLSAgICAgICAgICAg
ICAgICAgICAgICAgY29uc29sZVdyaXRlKCIiKTsKLSAgICAgICAgICAgICAgICAgICAgfQotCi0g
ICAgICAgICAgICAgICAgICAgIGlmIChpdGVtc1tpXS50aXRsZS5tYXRjaCgiTG9vcCIpKSB7Ci0g
ICAgICAgICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgidmlkZW8ubG9vcCIsIGZhbHNlLCAn
PT0nKTsKLSAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJUb2dnbGluZyBsb29w
IHN0YXRlIik7Ci0gICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zW2ldLmNsaWNrKCk7Ci0gICAg
ICAgICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgidmlkZW8ubG9vcCIsIHRydWUsICc9PScp
OwotICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIiIpOwotICAgICAgICAgICAg
ICAgICAgICB9Ci0KLSAgICAgICAgICAgICAgICAgICAgaWYgKGl0ZW1zW2ldLnRpdGxlLm1hdGNo
KCJNdXRlIikpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJ2aWRlby5t
dXRlZCIsIGZhbHNlLCAnPT0nKTsKLSAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZVdyaXRl
KCJUb2dnbGluZyBtdXRlIHN0YXRlIik7Ci0gICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zW2ld
LmNsaWNrKCk7Ci0gICAgICAgICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgidmlkZW8ubXV0
ZWQiLCB0cnVlLCAnPT0nKTsKLSAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCIi
KTsKLSAgICAgICAgICAgICAgICAgICAgfQotCi0gICAgICAgICAgICAgICAgICAgIGlmIChpdGVt
c1tpXS50aXRsZS5tYXRjaCgiRnVsbHNjcmVlbiIpICYmIHZpZGVvLndlYmtpdFN1cHBvcnRzRnVs
bHNjcmVlbikgewotICAgICAgICAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInZpZGVvLndl
YmtpdERpc3BsYXlpbmdGdWxsc2NyZWVuIiwgZmFsc2UsICc9PScpOwotICAgICAgICAgICAgICAg
ICAgICAgICBjb25zb2xlV3JpdGUoIlRvZ2dsaW5nIGZ1bGxzY3JlZW4gc3RhdGUiKTsKLSAgICAg
ICAgICAgICAgICAgICAgICAgaXRlbXNbaV0uY2xpY2soKTsKLSAgICAgICAgICAgICAgICAgICAg
ICAgdGVzdEV4cGVjdGVkKCJ2aWRlby53ZWJraXREaXNwbGF5aW5nRnVsbHNjcmVlbiIsIHRydWUs
ICc9PScpOwotICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIiIpOwotICAgICAg
ICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgICAgICAgICAgLy8gVE9ETzogdGVzdCBjb3B5
IGxpbmsgbG9jYXRpb24gYW5kIG9wZW4gaW4gbmV3IHdpbmRvdy4KLSAgICAgICAgICAgICAgICAg
fQotICAgICAgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Ci0g
ICAgICAgICAgICAgICAgIGVuZFRlc3QoKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAg
ZnVuY3Rpb24gc3RhcnQoKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIGZpbmRNZWRp
YUVsZW1lbnQoKTsKLSAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnQoJ3BsYXknLCBwbGF5aW5n
KTsKLSAgICAgICAgICAgICAgICBydW4oInZpZGVvLnNyYyA9ICciICsgZmluZE1lZGlhRmlsZSgi
dmlkZW8iLCAiY29udGVudC90ZXN0IikgKyAiJyIpOwotICAgICAgICAgICAgfQotCi0gICAgICAg
PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InN0YXJ0KCkiPgotICAgIDxwPlRlc3Qg
dGhlIHZhcmlvdXMgYWN0aW9ucyBhdmFpbGFibGUgaW4gdGhlIEhUTUw1IG1lZGlhIGVsZW1lbnQg
Y29udGV4dC1tZW51LjwvcD4KLSAgICA8dmlkZW8gaWQ9InZpZGVvIiBhdXRvcGxheSBjb250cm9s
cz48L3ZpZGVvPgotPC9ib2R5PgotPC9odG1sPgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkCmlu
ZGV4IGI0MTExYWViYTJkNzVkNmE5ZTA4YzJlOTE1Zjk1ODI4YzQzN2IxMGUuLmI4Y2E1MjgxZDE0
MDkyYzFjZTMyZTliNzE5YTkyNGY0MzRlNmFhMjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVk
CkBAIC0zMTAsNyArMzEwLDMgQEAgZmFzdC9maWxlcy93b3JrZXJzCiAKICMgdmlld3BvcnQgbWV0
YSB0YWcgc3VwcG9ydAogZmFzdC92aWV3cG9ydAotCi0jIG5lZWRzIGVuaGFuY2VkIGV2ZW50U2Vu
ZGVyLmNvbnRleHRNZW51KCkgcmV0dXJuIHZhbHVlCi0jIHNlZSBhbHNvIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NTAyMQotbWVkaWEvY29udGV4dC1tZW51LWFjdGlv
bnMuaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZCBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKaW5kZXggMzY2NDAwMTlkYzQxNTE2MzQ1MzI4
YzRmZWFiOTNmMjRkNjRmNGIwYy4uZjhhYmVlNzEwMDQ5N2YzM2E4YWJhZjVkNzkxNGI4OTYzOTg2
NTk4YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZAorKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCkBAIC0yMjY5LDggKzIyNjksNiBAQCBlZGl0
aW5nL3NlbGVjdGlvbi81MTk1MTY2LTEuaHRtbAogCiAjIG1pc3NpbmcgRFJUIGZlYXR1cmUsIHNl
ZSBhbHNvIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zOTEwMgogZWRp
dGluZy9zZWxlY3Rpb24vY29udGV4dC1tZW51LW9uLXRleHQuaHRtbAotIyBhbmQgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ1MDIxCi1tZWRpYS9jb250ZXh0LW1lbnUt
YWN0aW9ucy5odG1sCiAKICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gIwogIyBGYWlsaW5nIGVkaXRp
bmcvc3BlbGxpbmcgdGVzdHMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9T
a2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQKaW5kZXggOWVmOWNiZDdj
N2ZmYzgyOGYzYzk0MzAxYmNmMDBmYjJhMjVmOTc1ZC4uODQ2MGNmNDAxOTA3MDMxOGQ2MmIzNjU0
MmQ1NWFmZDFkNjQzOTljOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Nr
aXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQKQEAgLTI5Nyw4ICsy
OTcsNiBAQCBodHRwL3Rlc3RzL2Nzcy9jc3MtaW1hZ2UtbG9hZGluZy5odG1sCiAKICMgbWlzc2lu
ZyBEUlQgZmVhdHVyZSwgc2VlIGFsc28gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTM5MTAyCiBlZGl0aW5nL3NlbGVjdGlvbi9jb250ZXh0LW1lbnUtb24tdGV4dC5odG1s
Ci0jIGFuZCBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDUwMjEKLW1l
ZGlhL2NvbnRleHQtbWVudS1hY3Rpb25zLmh0bWwKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMK
ICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIE5vIGJ1Z3MgZmlsZWQgYWJvdXQgdGhlIGJlbG93IHll
dCMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBi
L1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGY1MGI2MmQxYTZjNWUxYTdkMzE5MWM4NWY3MWU3MmEw
MWE4ZjAwYzUuLmEzMTdlMTlkNDY5YjJlNDIxMTBlYjBhMWFiNTA2YmYzMmUwZDkxNGIgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMzIgQEAKKzIwMTAtMDktMTYgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21h
aWwuY29tPgorCisgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI2NzYyOC4KKyAgICAg
ICAgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvNjc2MjgKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ1OTA0CisKKyAgICAgICAgYnJva2Ug
dGhlIGJ1aWxkIChSZXF1ZXN0ZWQgYnkgZXJpY19jYXJsc29uIG9uICN3ZWJraXQpLgorCisgICAg
ICAgICogcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
Q29udGV4dE1lbnVDb250cm9sbGVyOjpjb250ZXh0TWVudUl0ZW1TZWxlY3RlZCk6CisgICAgICAg
ICogcGxhdGZvcm0vQ29udGV4dE1lbnUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29udGV4dE1l
bnU6OnBvcHVsYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRleHRNZW51OjpjaGVja09yRW5h
YmxlSWZOZWVkZWQpOgorICAgICAgICAqIHBsYXRmb3JtL0NvbnRleHRNZW51SXRlbS5oOgorICAg
ICAgICAqIHBsYXRmb3JtL0xvY2FsaXphdGlvblN0cmF0ZWd5Lmg6CisgICAgICAgICogcGxhdGZv
cm0vTG9jYWxpemVkU3RyaW5ncy5jcHA6CisgICAgICAgICogcGxhdGZvcm0vTG9jYWxpemVkU3Ry
aW5ncy5oOgorICAgICAgICAqIHBsYXRmb3JtL2FuZHJvaWQvTG9jYWxpemVkU3RyaW5nc0FuZHJv
aWQuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2JyZXcvTG9jYWxpemVkU3RyaW5nc0JyZXcuY3Bw
OgorICAgICAgICAqIHBsYXRmb3JtL2VmbC9Mb2NhbGl6ZWRTdHJpbmdzRWZsLmNwcDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ndGsvQ29udGV4dE1lbnVJdGVtR3RrLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6Omd0a1N0b2NrSURGcm9tQ29udGV4dE1lbnVBY3Rpb24pOgorICAgICAgICAqIHBsYXRmb3Jt
L2d0ay9Mb2NhbGl6ZWRTdHJpbmdzR3RrLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9oYWlrdS9M
b2NhbGl6ZWRTdHJpbmdzSGFpa3UuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL3d4L0xvY2FsaXpl
ZFN0cmluZ3NXeC5jcHA6CisgICAgICAgICogcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SGl0VGVzdFJlc3VsdDo6YWJzb2x1dGVNZWRpYVVSTCk6CisgICAg
ICAgICogcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuaDoKKwogMjAxMC0wOS0xNiAgUGF2ZWwgRmVs
ZG1hbiAgPHBmZWxkbWFuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBZdXJ5
IFNlbWlraGF0c2t5LgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJv
bGxlci5jcHAgYi9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmNwcAppbmRleCBk
ZTY0OTg4NzU4NTFjMWNlNWE5MjhlYzYzZmFhYTY0ZjVhYmRhMjExLi5kMjMxN2QyYTg1NDVlMTcz
MTQzYzA3ZGM2NDg5ZTlkNGE3MDM1YWVkIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvQ29udGV4
dE1lbnVDb250cm9sbGVyLmNwcAorKysgYi9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9s
bGVyLmNwcApAQCAtMSw2ICsxLDUgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogQ29weXJpZ2h0IChDKSAyMDEwIEln
YWxpYSBTLkwKICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMTg3LDI3ICsxODYs
NiBAQCB2b2lkIENvbnRleHRNZW51Q29udHJvbGxlcjo6Y29udGV4dE1lbnVJdGVtU2VsZWN0ZWQo
Q29udGV4dE1lbnVJdGVtKiBpdGVtKQogICAgICAgICAvLyBGb3Igbm93LCBjYWxsIGludG8gdGhl
IGNsaWVudC4gVGhpcyBpcyB0ZW1wb3JhcnkhCiAgICAgICAgIGZyYW1lLT5lZGl0b3IoKS0+Y29w
eUltYWdlKHJlc3VsdCk7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgQ29udGV4dE1lbnVJdGVt
VGFnT3Blbk1lZGlhSW5OZXdXaW5kb3c6Ci0gICAgICAgIG9wZW5OZXdXaW5kb3cocmVzdWx0LmFi
c29sdXRlTWVkaWFVUkwoKSwgZnJhbWUpOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIENvbnRl
eHRNZW51SXRlbVRhZ0NvcHlNZWRpYUxpbmtUb0NsaXBib2FyZDoKLSAgICAgICAgZnJhbWUtPmVk
aXRvcigpLT5jb3B5VVJMKHJlc3VsdC5hYnNvbHV0ZU1lZGlhVVJMKCksIHJlc3VsdC50ZXh0Q29u
dGVudCgpKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdUb2dn
bGVNZWRpYUNvbnRyb2xzOgotICAgICAgICByZXN1bHQudG9nZ2xlTWVkaWFDb250cm9sc0Rpc3Bs
YXkoKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVN
ZWRpYUxvb3A6Ci0gICAgICAgIHJlc3VsdC50b2dnbGVNZWRpYUxvb3BQbGF5YmFjaygpOwotICAg
ICAgICBicmVhazsKLSAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ0VudGVyVmlkZW9GdWxsc2Ny
ZWVuOgotICAgICAgICByZXN1bHQuZW50ZXJGdWxsc2NyZWVuRm9yVmlkZW8oKTsKLSAgICAgICAg
YnJlYWs7Ci0gICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdNZWRpYVBsYXlQYXVzZToKLSAgICAg
ICAgcmVzdWx0LnRvZ2dsZU1lZGlhUGxheVN0YXRlKCk7Ci0gICAgICAgIGJyZWFrOwotICAgIGNh
c2UgQ29udGV4dE1lbnVJdGVtVGFnTWVkaWFNdXRlOgotICAgICAgICByZXN1bHQudG9nZ2xlTWVk
aWFNdXRlU3RhdGUoKTsKLSAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1U
YWdPcGVuRnJhbWVJbk5ld1dpbmRvdzogewogICAgICAgICBEb2N1bWVudExvYWRlciogbG9hZGVy
ID0gZnJhbWUtPmxvYWRlcigpLT5kb2N1bWVudExvYWRlcigpOwogICAgICAgICBpZiAoIWxvYWRl
ci0+dW5yZWFjaGFibGVVUkwoKS5pc0VtcHR5KCkpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRm
b3JtL0NvbnRleHRNZW51LmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4dE1lbnUuY3BwCmlu
ZGV4IGZkY2QzYzk0NmYwNjJjMzE1NTUyZGJiOWFmNWQyMDU0ZTA1OTkzOWQuLjM3ZDRjMmI1NWFi
MTRlZWQ4NDFhYjA5ZTU5OWE0YjI1NzVkM2ZiN2QgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZv
cm0vQ29udGV4dE1lbnUuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4dE1lbnUuY3Bw
CkBAIC0xLDcgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNyBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDggQ2hyaXN0aWFu
IER5d2FuIDxjaHJpc3RpYW5AaW1lbmRpby5jb20+Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgSWdh
bGlhIFMuTAogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yODMsMjAgKzI4Miw2
IEBAIHZvaWQgQ29udGV4dE1lbnU6OnBvcHVsYXRlKCkKICAgICAgICAgY29udGV4dE1lbnVJdGVt
VGFnRG93bmxvYWRJbWFnZVRvRGlzaygpKTsKICAgICBDb250ZXh0TWVudUl0ZW0gQ29weUltYWdl
SXRlbShBY3Rpb25UeXBlLCBDb250ZXh0TWVudUl0ZW1UYWdDb3B5SW1hZ2VUb0NsaXBib2FyZCwg
CiAgICAgICAgIGNvbnRleHRNZW51SXRlbVRhZ0NvcHlJbWFnZVRvQ2xpcGJvYXJkKCkpOwotICAg
IENvbnRleHRNZW51SXRlbSBPcGVuTWVkaWFJbk5ld1dpbmRvd0l0ZW0oQWN0aW9uVHlwZSwgQ29u
dGV4dE1lbnVJdGVtVGFnT3Blbk1lZGlhSW5OZXdXaW5kb3csIAotICAgICAgICBjb250ZXh0TWVu
dUl0ZW1UYWdPcGVuTWVkaWFJbk5ld1dpbmRvdygpKTsKLSAgICBDb250ZXh0TWVudUl0ZW0gQ29w
eU1lZGlhTGlua0l0ZW0oQWN0aW9uVHlwZSwgQ29udGV4dE1lbnVJdGVtVGFnQ29weU1lZGlhTGlu
a1RvQ2xpcGJvYXJkLCAKLSAgICAgICAgY29udGV4dE1lbnVJdGVtVGFnQ29weU1lZGlhTGlua1Rv
Q2xpcGJvYXJkKCkpOwotICAgIENvbnRleHRNZW51SXRlbSBNZWRpYVBsYXlQYXVzZShBY3Rpb25U
eXBlLCBDb250ZXh0TWVudUl0ZW1UYWdNZWRpYVBsYXlQYXVzZSwgCi0gICAgICAgIGNvbnRleHRN
ZW51SXRlbVRhZ01lZGlhUGxheSgpKTsKLSAgICBDb250ZXh0TWVudUl0ZW0gTWVkaWFNdXRlKEFj
dGlvblR5cGUsIENvbnRleHRNZW51SXRlbVRhZ01lZGlhTXV0ZSwgCi0gICAgICAgIGNvbnRleHRN
ZW51SXRlbVRhZ01lZGlhTXV0ZSgpKTsKLSAgICBDb250ZXh0TWVudUl0ZW0gVG9nZ2xlTWVkaWFD
b250cm9scyhDaGVja2FibGVBY3Rpb25UeXBlLCBDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVNZWRp
YUNvbnRyb2xzLCAKLSAgICAgICAgY29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVkaWFDb250cm9s
cygpKTsKLSAgICBDb250ZXh0TWVudUl0ZW0gVG9nZ2xlTWVkaWFMb29wKENoZWNrYWJsZUFjdGlv
blR5cGUsIENvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZU1lZGlhTG9vcCwgCi0gICAgICAgIGNvbnRl
eHRNZW51SXRlbVRhZ1RvZ2dsZU1lZGlhTG9vcCgpKTsKLSAgICBDb250ZXh0TWVudUl0ZW0gRW50
ZXJWaWRlb0Z1bGxzY3JlZW4oQWN0aW9uVHlwZSwgQ29udGV4dE1lbnVJdGVtVGFnRW50ZXJWaWRl
b0Z1bGxzY3JlZW4sIAotICAgICAgICBjb250ZXh0TWVudUl0ZW1UYWdFbnRlclZpZGVvRnVsbHNj
cmVlbigpKTsKICNpZiBQTEFURk9STShNQUMpCiAgICAgQ29udGV4dE1lbnVJdGVtIFNlYXJjaFNw
b3RsaWdodEl0ZW0oQWN0aW9uVHlwZSwgQ29udGV4dE1lbnVJdGVtVGFnU2VhcmNoSW5TcG90bGln
aHQsIAogICAgICAgICBjb250ZXh0TWVudUl0ZW1UYWdTZWFyY2hJblNwb3RsaWdodCgpKTsKQEAg
LTM2NCwyMiArMzQ5LDYgQEAgdm9pZCBDb250ZXh0TWVudTo6cG9wdWxhdGUoKQogICAgICAgICAg
ICAgICAgIGFwcGVuZEl0ZW0oQ29weUltYWdlSXRlbSk7CiAgICAgICAgIH0KIAotICAgICAgICBL
VVJMIG1lZGlhVVJMID0gcmVzdWx0LmFic29sdXRlTWVkaWFVUkwoKTsKLSAgICAgICAgaWYgKCFt
ZWRpYVVSTC5pc0VtcHR5KCkpIHsKLSAgICAgICAgICAgIGlmICghbGlua1VSTC5pc0VtcHR5KCkg
fHwgIWltYWdlVVJMLmlzRW1wdHkoKSkKLSAgICAgICAgICAgICAgICBhcHBlbmRJdGVtKCpzZXBh
cmF0b3JJdGVtKCkpOwotCi0gICAgICAgICAgICBhcHBlbmRJdGVtKE1lZGlhUGxheVBhdXNlKTsK
LSAgICAgICAgICAgIGFwcGVuZEl0ZW0oTWVkaWFNdXRlKTsKLSAgICAgICAgICAgIGFwcGVuZEl0
ZW0oVG9nZ2xlTWVkaWFDb250cm9scyk7Ci0gICAgICAgICAgICBhcHBlbmRJdGVtKFRvZ2dsZU1l
ZGlhTG9vcCk7Ci0gICAgICAgICAgICBhcHBlbmRJdGVtKEVudGVyVmlkZW9GdWxsc2NyZWVuKTsK
LQotICAgICAgICAgICAgYXBwZW5kSXRlbSgqc2VwYXJhdG9ySXRlbSgpKTsKLSAgICAgICAgICAg
IGFwcGVuZEl0ZW0oQ29weU1lZGlhTGlua0l0ZW0pOwotICAgICAgICAgICAgYXBwZW5kSXRlbShP
cGVuTWVkaWFJbk5ld1dpbmRvd0l0ZW0pOwotICAgICAgICB9Ci0KICAgICAgICAgaWYgKGltYWdl
VVJMLmlzRW1wdHkoKSAmJiBsaW5rVVJMLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgaWYgKHJl
c3VsdC5pc1NlbGVjdGVkKCkpIHsKICAgICAgICAgICAgICAgICBpZiAoc2VsZWN0aW9uQ29udGFp
bnNQb3NzaWJsZVdvcmQoZnJhbWUpKSB7CkBAIC00MDYsNiArMzc1LDEyIEBAIHZvaWQgQ29udGV4
dE1lbnU6OnBvcHVsYXRlKCkKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgICAgICAgICAgICAg
IGlmICghKGZyYW1lLT5wYWdlKCkgJiYgZnJhbWUtPnBhZ2UoKS0+aW5zcGVjdG9yQ29udHJvbGxl
cigpLT5oYXNJbnNwZWN0b3JGcm9udGVuZENsaWVudCgpKSkgewogI2VuZGlmCisjaWYgUExBVEZP
Uk0oR1RLKQorICAgICAgICAgICAgICAgIGFwcGVuZEl0ZW0oQmFja0l0ZW0pOworICAgICAgICAg
ICAgICAgIGFwcGVuZEl0ZW0oRm9yd2FyZEl0ZW0pOworICAgICAgICAgICAgICAgIGFwcGVuZEl0
ZW0oU3RvcEl0ZW0pOworICAgICAgICAgICAgICAgIGFwcGVuZEl0ZW0oUmVsb2FkSXRlbSk7Cisj
ZWxzZQogICAgICAgICAgICAgICAgIGlmIChmcmFtZS0+cGFnZSgpICYmIGZyYW1lLT5wYWdlKCkt
PmNhbkdvQmFja09yRm9yd2FyZCgtMSkpCiAgICAgICAgICAgICAgICAgICAgIGFwcGVuZEl0ZW0o
QmFja0l0ZW0pOwogCkBAIC00MTgsNiArMzkzLDcgQEAgdm9pZCBDb250ZXh0TWVudTo6cG9wdWxh
dGUoKQogICAgICAgICAgICAgICAgICAgICBhcHBlbmRJdGVtKFN0b3BJdGVtKTsKICAgICAgICAg
ICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAgIGFwcGVuZEl0ZW0oUmVsb2FkSXRlbSk7
CisjZW5kaWYKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgICAgICAgICAgICAgIH0KICNlbmRp
ZgpAQCAtODEyLDE3ICs3ODgsNiBAQCB2b2lkIENvbnRleHRNZW51OjpjaGVja09yRW5hYmxlSWZO
ZWVkZWQoQ29udGV4dE1lbnVJdGVtJiBpdGVtKSBjb25zdAogICAgICAgICBjYXNlIENvbnRleHRN
ZW51SXRlbVRhZ09wZW5JbWFnZUluTmV3V2luZG93OgogICAgICAgICBjYXNlIENvbnRleHRNZW51
SXRlbVRhZ0Rvd25sb2FkSW1hZ2VUb0Rpc2s6CiAgICAgICAgIGNhc2UgQ29udGV4dE1lbnVJdGVt
VGFnQ29weUltYWdlVG9DbGlwYm9hcmQ6Ci0gICAgICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFn
T3Blbk1lZGlhSW5OZXdXaW5kb3c6Ci0gICAgICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnQ29w
eU1lZGlhTGlua1RvQ2xpcGJvYXJkOgotICAgICAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ1Rv
Z2dsZU1lZGlhQ29udHJvbHM6Ci0gICAgICAgICAgICBzaG91bGRDaGVjayA9IG1faGl0VGVzdFJl
c3VsdC5tZWRpYUNvbnRyb2xzRW5hYmxlZCgpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAg
IGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVkaWFMb29wOgotICAgICAgICAgICAgc2hv
dWxkQ2hlY2sgPSBtX2hpdFRlc3RSZXN1bHQubWVkaWFMb29wRW5hYmxlZCgpOwotICAgICAgICAg
ICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnRW50ZXJWaWRlb0Z1bGxz
Y3JlZW46Ci0gICAgICAgICAgICBzaG91bGRFbmFibGUgPSBtX2hpdFRlc3RSZXN1bHQubWVkaWFT
dXBwb3J0c0Z1bGxzY3JlZW4oKTsKLSAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIENv
bnRleHRNZW51SXRlbVRhZ09wZW5GcmFtZUluTmV3V2luZG93OgogICAgICAgICBjYXNlIENvbnRl
eHRNZW51SXRlbVRhZ1NwZWxsaW5nR3Vlc3M6CiAgICAgICAgIGNhc2UgQ29udGV4dE1lbnVJdGVt
VGFnT3RoZXI6CkBAIC04NTgsMTkgKzgyMyw2IEBAIHZvaWQgQ29udGV4dE1lbnU6OmNoZWNrT3JF
bmFibGVJZk5lZWRlZChDb250ZXh0TWVudUl0ZW0mIGl0ZW0pIGNvbnN0CiAgICAgICAgIGNhc2Ug
Q29udGV4dE1lbnVJdGVtTGFzdEN1c3RvbVRhZzoKICAgICAgICAgY2FzZSBDb250ZXh0TWVudUl0
ZW1CYXNlQXBwbGljYXRpb25UYWc6CiAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBD
b250ZXh0TWVudUl0ZW1UYWdNZWRpYVBsYXlQYXVzZToKLSAgICAgICAgICAgIGlmIChtX2hpdFRl
c3RSZXN1bHQubWVkaWFQbGF5aW5nKCkpCi0gICAgICAgICAgICAgICAgaXRlbS5zZXRUaXRsZShj
b250ZXh0TWVudUl0ZW1UYWdNZWRpYVBhdXNlKCkpOwotICAgICAgICAgICAgZWxzZQotICAgICAg
ICAgICAgICAgIGl0ZW0uc2V0VGl0bGUoY29udGV4dE1lbnVJdGVtVGFnTWVkaWFQbGF5KCkpOwot
ICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnTWVkaWFN
dXRlOgotICAgICAgICAgICAgc2hvdWxkRW5hYmxlID0gbV9oaXRUZXN0UmVzdWx0Lm1lZGlhSGFz
QXVkaW8oKTsKLSAgICAgICAgICAgIGlmICghc2hvdWxkRW5hYmxlIHx8ICFtX2hpdFRlc3RSZXN1
bHQubWVkaWFNdXRlZCgpKQotICAgICAgICAgICAgICAgIGl0ZW0uc2V0VGl0bGUoY29udGV4dE1l
bnVJdGVtVGFnTWVkaWFNdXRlKCkpOwotICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAg
IGl0ZW0uc2V0VGl0bGUoY29udGV4dE1lbnVJdGVtVGFnTWVkaWFVbk11dGUoKSk7Ci0gICAgICAg
ICAgICBicmVhazsKICAgICB9CiAKICAgICBpdGVtLnNldENoZWNrZWQoc2hvdWxkQ2hlY2spOwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0TWVudUl0ZW0uaCBiL1dlYkNvcmUv
cGxhdGZvcm0vQ29udGV4dE1lbnVJdGVtLmgKaW5kZXggZjdmYTVlNjZjZTljOGQ0MWU5NmE2YjRk
MmIwNDVjNGIwMTIwN2ZmYS4uMDU4ZjY0NGNhM2QwMWRlNDc2ZjkyMmE4ZWRhMWViMjIwYjVkY2I2
NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0TWVudUl0ZW0uaAorKysgYi9X
ZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51SXRlbS5oCkBAIC0xLDYgKzEsNSBAQAogLyoKICAq
IENvcHlyaWdodCAoQykgMjAwNiBBcHBsZSBDb21wdXRlciwgSW5jLiAgQWxsIHJpZ2h0cyByZXNl
cnZlZC4KLSAqIENvcHlyaWdodCAoQykgMjAxMCBJZ2FsaWEgUy5MCiAgKgogICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKQEAgLTE0NCwxMyArMTQzLDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgICAgICBDb250ZXh0TWVudUl0ZW1UYWdDYXBpdGFsaXplLAogICAgICAgICBDb250ZXh0TWVu
dUl0ZW1UYWdDaGFuZ2VCYWNrLAogI2VuZGlmCi0gICAgICAgIENvbnRleHRNZW51SXRlbVRhZ09w
ZW5NZWRpYUluTmV3V2luZG93LAotICAgICAgICBDb250ZXh0TWVudUl0ZW1UYWdDb3B5TWVkaWFM
aW5rVG9DbGlwYm9hcmQsCi0gICAgICAgIENvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZU1lZGlhQ29u
dHJvbHMsCi0gICAgICAgIENvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZU1lZGlhTG9vcCwKLSAgICAg
ICAgQ29udGV4dE1lbnVJdGVtVGFnRW50ZXJWaWRlb0Z1bGxzY3JlZW4sCi0gICAgICAgIENvbnRl
eHRNZW51SXRlbVRhZ01lZGlhUGxheVBhdXNlLAotICAgICAgICBDb250ZXh0TWVudUl0ZW1UYWdN
ZWRpYU11dGUsCiAgICAgICAgIENvbnRleHRNZW51SXRlbUJhc2VDdXN0b21UYWcgPSA1MDAwLAog
ICAgICAgICBDb250ZXh0TWVudUl0ZW1DdXN0b21UYWdOb0FjdGlvbiA9IDU5OTgsCiAgICAgICAg
IENvbnRleHRNZW51SXRlbUxhc3RDdXN0b21UYWcgPSA1OTk5LApkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9wbGF0Zm9ybS9Mb2NhbGl6YXRpb25TdHJhdGVneS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9Mb2Nh
bGl6YXRpb25TdHJhdGVneS5oCmluZGV4IDZjNGRiNmE3MmZhNTQxOGU1NGNhNjkxNGYxYmY3Zjdm
Yzk4ZmQyNTguLjE3OGNmYTI1M2I0ZmVkNGQyMzA4ZmIzY2E3YTdjNTZmOGUwNjUzZjIgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vTG9jYWxpemF0aW9uU3RyYXRlZ3kuaAorKysgYi9XZWJD
b3JlL3BsYXRmb3JtL0xvY2FsaXphdGlvblN0cmF0ZWd5LmgKQEAgLTEsNiArMSw1IEBACiAvKgog
ICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAq
IENvcHlyaWdodCAoQykgMjAxMCBJZ2FsaWEgUy5MCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKQEAgLTExMywxNSArMTEyLDYgQEAgcHVibGljOgogICAgIHZpcnR1YWwgU3RyaW5nIGNv
bnRleHRNZW51SXRlbVRhZ0NhcGl0YWxpemUoKSA9IDA7CiAgICAgdmlydHVhbCBTdHJpbmcgY29u
dGV4dE1lbnVJdGVtVGFnQ2hhbmdlQmFjayhjb25zdCBTdHJpbmcmIHJlcGxhY2VkU3RyaW5nKSA9
IDA7CiAjZW5kaWYKLSAgICB2aXJ0dWFsIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdPcGVuTWVk
aWFJbk5ld1dpbmRvdygpID0gMDsKLSAgICB2aXJ0dWFsIFN0cmluZyBjb250ZXh0TWVudUl0ZW1U
YWdDb3B5TWVkaWFMaW5rVG9DbGlwYm9hcmQoKSA9IDA7Ci0gICAgdmlydHVhbCBTdHJpbmcgY29u
dGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVkaWFDb250cm9scygpID0gMDsKLSAgICB2aXJ0dWFsIFN0
cmluZyBjb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVNZWRpYUxvb3AoKSA9IDA7Ci0gICAgdmlydHVh
bCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnRW50ZXJWaWRlb0Z1bGxzY3JlZW4oKSA9IDA7Ci0g
ICAgdmlydHVhbCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnTWVkaWFQbGF5KCkgPSAwOwotICAg
IHZpcnR1YWwgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ01lZGlhUGF1c2UoKSA9IDA7Ci0gICAg
dmlydHVhbCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnTWVkaWFNdXRlKCkgPSAwOwotICAgIHZp
cnR1YWwgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ01lZGlhVW5NdXRlKCkgPSAwOwogICAgIHZp
cnR1YWwgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ0luc3BlY3RFbGVtZW50KCkgPSAwOwogI2Vu
ZGlmIC8vIEVOQUJMRShDT05URVhUX01FTlVTKQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRm
b3JtL0xvY2FsaXplZFN0cmluZ3MuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9Mb2NhbGl6ZWRTdHJp
bmdzLmNwcAppbmRleCBiMmU2YjUxODIzZDQ2MzNlMzczOGJiMTY4YTE5NmU4MGUzYzA1YTBkLi5h
NjllMGZiMDcxOTdkYTJiMjJmMTc4YmJmOTFiZDhkN2JmOWY4ZTVhIDEwMDY0NAotLS0gYS9XZWJD
b3JlL3BsYXRmb3JtL0xvY2FsaXplZFN0cmluZ3MuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0v
TG9jYWxpemVkU3RyaW5ncy5jcHAKQEAgLTEsNiArMSw1IEBACiAvKgogICogQ29weXJpZ2h0IChD
KSAyMDAzLCAyMDA2LCAyMDA5LCAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
LSAqIENvcHlyaWdodCAoQykgMjAxMCBJZ2FsaWEgUy5MCiAgKgogICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKQEAgLTM2Myw1MSArMzYyLDYgQEAgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ0No
YW5nZUJhY2soY29uc3QgU3RyaW5nJiByZXBsYWNlZFN0cmluZykKIH0KIAogI2VuZGlmIC8vIFBM
QVRGT1JNKE1BQykKLQotU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ09wZW5NZWRpYUluTmV3V2lu
ZG93KCkKLXsKLSAgICByZXR1cm4gcGxhdGZvcm1TdHJhdGVnaWVzKCktPmxvY2FsaXphdGlvblN0
cmF0ZWd5KCktPmNvbnRleHRNZW51SXRlbVRhZ09wZW5NZWRpYUluTmV3V2luZG93KCk7Ci19Ci0K
LVN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdDb3B5TWVkaWFMaW5rVG9DbGlwYm9hcmQoKQotewot
ICAgIHJldHVybiBwbGF0Zm9ybVN0cmF0ZWdpZXMoKS0+bG9jYWxpemF0aW9uU3RyYXRlZ3koKS0+
Y29udGV4dE1lbnVJdGVtVGFnQ29weU1lZGlhTGlua1RvQ2xpcGJvYXJkKCk7Ci19Ci0KLVN0cmlu
ZyBjb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVNZWRpYUNvbnRyb2xzKCkKLXsKLSAgICByZXR1cm4g
cGxhdGZvcm1TdHJhdGVnaWVzKCktPmxvY2FsaXphdGlvblN0cmF0ZWd5KCktPmNvbnRleHRNZW51
SXRlbVRhZ1RvZ2dsZU1lZGlhQ29udHJvbHMoKTsKLX0KLQotU3RyaW5nIGNvbnRleHRNZW51SXRl
bVRhZ1RvZ2dsZU1lZGlhTG9vcCgpCi17Ci0gICAgcmV0dXJuIHBsYXRmb3JtU3RyYXRlZ2llcygp
LT5sb2NhbGl6YXRpb25TdHJhdGVneSgpLT5jb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVNZWRpYUxv
b3AoKTsKLX0KLQotU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ0VudGVyVmlkZW9GdWxsc2NyZWVu
KCkKLXsKLSAgICByZXR1cm4gcGxhdGZvcm1TdHJhdGVnaWVzKCktPmxvY2FsaXphdGlvblN0cmF0
ZWd5KCktPmNvbnRleHRNZW51SXRlbVRhZ0VudGVyVmlkZW9GdWxsc2NyZWVuKCk7Ci19Ci0KLVN0
cmluZyBjb250ZXh0TWVudUl0ZW1UYWdNZWRpYVBsYXkoKQotewotICAgIHJldHVybiBwbGF0Zm9y
bVN0cmF0ZWdpZXMoKS0+bG9jYWxpemF0aW9uU3RyYXRlZ3koKS0+Y29udGV4dE1lbnVJdGVtVGFn
TWVkaWFQbGF5KCk7Ci19Ci0KLVN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdNZWRpYVBhdXNlKCkK
LXsKLSAgICByZXR1cm4gcGxhdGZvcm1TdHJhdGVnaWVzKCktPmxvY2FsaXphdGlvblN0cmF0ZWd5
KCktPmNvbnRleHRNZW51SXRlbVRhZ01lZGlhUGF1c2UoKTsKLX0KLQotU3RyaW5nIGNvbnRleHRN
ZW51SXRlbVRhZ01lZGlhTXV0ZSgpCi17Ci0gICAgcmV0dXJuIHBsYXRmb3JtU3RyYXRlZ2llcygp
LT5sb2NhbGl6YXRpb25TdHJhdGVneSgpLT5jb250ZXh0TWVudUl0ZW1UYWdNZWRpYU11dGUoKTsK
LX0KLQotU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ01lZGlhVW5NdXRlKCkKLXsKLSAgICByZXR1
cm4gcGxhdGZvcm1TdHJhdGVnaWVzKCktPmxvY2FsaXphdGlvblN0cmF0ZWd5KCktPmNvbnRleHRN
ZW51SXRlbVRhZ01lZGlhVW5NdXRlKCk7Ci19CiAgICAgCiBTdHJpbmcgY29udGV4dE1lbnVJdGVt
VGFnSW5zcGVjdEVsZW1lbnQoKQogewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9Mb2Nh
bGl6ZWRTdHJpbmdzLmggYi9XZWJDb3JlL3BsYXRmb3JtL0xvY2FsaXplZFN0cmluZ3MuaAppbmRl
eCBlMTNhNDA3ZjAwNmI0MzI1NTUzNWJhYTE5ZmNhZGY5NzFkYzkyOGI3Li4wNDA0MmI2MTYxYzll
MzMyNDNlMWJmZmM3OGY5MTU5MjcxOTRkZTY4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3Jt
L0xvY2FsaXplZFN0cmluZ3MuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL0xvY2FsaXplZFN0cmlu
Z3MuaApAQCAtMSw2ICsxLDUgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDMsIDIwMDYsIDIw
MDkgQXBwbGUgQ29tcHV0ZXIsIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBDb3B5cmln
aHQgKEMpIDIwMTAgSWdhbGlhIFMuTAogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBA
IC0xMDksMTUgKzEwOCw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBTdHJpbmcgY29udGV4
dE1lbnVJdGVtVGFnQ2FwaXRhbGl6ZSgpOwogICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdD
aGFuZ2VCYWNrKGNvbnN0IFN0cmluZyYgcmVwbGFjZWRTdHJpbmcpOwogI2VuZGlmCi0gICAgU3Ry
aW5nIGNvbnRleHRNZW51SXRlbVRhZ09wZW5NZWRpYUluTmV3V2luZG93KCk7Ci0gICAgU3RyaW5n
IGNvbnRleHRNZW51SXRlbVRhZ0NvcHlNZWRpYUxpbmtUb0NsaXBib2FyZCgpOwotICAgIFN0cmlu
ZyBjb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVNZWRpYUNvbnRyb2xzKCk7Ci0gICAgU3RyaW5nIGNv
bnRleHRNZW51SXRlbVRhZ1RvZ2dsZU1lZGlhTG9vcCgpOwotICAgIFN0cmluZyBjb250ZXh0TWVu
dUl0ZW1UYWdFbnRlclZpZGVvRnVsbHNjcmVlbigpOwotICAgIFN0cmluZyBjb250ZXh0TWVudUl0
ZW1UYWdNZWRpYVBsYXkoKTsKLSAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnTWVkaWFQYXVz
ZSgpOwotICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdNZWRpYU11dGUoKTsKLSAgICBTdHJp
bmcgY29udGV4dE1lbnVJdGVtVGFnTWVkaWFVbk11dGUoKTsKICAgICBTdHJpbmcgY29udGV4dE1l
bnVJdGVtVGFnSW5zcGVjdEVsZW1lbnQoKTsKICNlbmRpZiAvLyBFTkFCTEUoQ09OVEVYVF9NRU5V
UykKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9hbmRyb2lkL0xvY2FsaXplZFN0cmlu
Z3NBbmRyb2lkLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vYW5kcm9pZC9Mb2NhbGl6ZWRTdHJpbmdz
QW5kcm9pZC5jcHAKaW5kZXggOGQ5MjUwYWIwNzMyMGZmZjA3MzBlNzljMDI1NmJkZDI2NGI3YzY1
Yi4uMmZjODgwYjBjNmVhMzM2MzYyYTM3ZjcyMzU4Y2UzZjQ4OWEwNzcxYiAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wbGF0Zm9ybS9hbmRyb2lkL0xvY2FsaXplZFN0cmluZ3NBbmRyb2lkLmNwcAorKysg
Yi9XZWJDb3JlL3BsYXRmb3JtL2FuZHJvaWQvTG9jYWxpemVkU3RyaW5nc0FuZHJvaWQuY3BwCkBA
IC04MSw2MCArODEsNiBAQCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnQ29weUltYWdlVG9DbGlw
Ym9hcmQoKQogICAgIHJldHVybiBTdHJpbmcoKTsKIH0KIAotU3RyaW5nIGNvbnRleHRNZW51SXRl
bVRhZ09wZW5NZWRpYUluTmV3V2luZG93KCkKLXsKLSAgICBub3RJbXBsZW1lbnRlZCgpOwotICAg
IHJldHVybiBTdHJpbmcoKTsKLX0KLQotU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ0NvcHlNZWRp
YUxpbmtUb0NsaXBib2FyZCgpCi17Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICByZXR1cm4g
U3RyaW5nKCk7Ci19Ci0KLVN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVNZWRpYUNvbnRy
b2xzKCkKLXsKLSAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgIHJldHVybiBTdHJpbmcoKTsKLX0K
LQotU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZU1lZGlhTG9vcCgpCi17Ci0gICAgbm90
SW1wbGVtZW50ZWQoKTsKLSAgICByZXR1cm4gU3RyaW5nKCk7Ci19Ci0KLVN0cmluZyBjb250ZXh0
TWVudUl0ZW1UYWdFbnRlclZpZGVvRnVsbHNjcmVlbigpCi17Ci0gICAgbm90SW1wbGVtZW50ZWQo
KTsKLSAgICByZXR1cm4gU3RyaW5nKCk7Ci19Ci0KLVN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdN
ZWRpYVBsYXkoKQotewotICAgIG5vdEltcGxlbWVudGVkKCk7Ci0gICAgcmV0dXJuIFN0cmluZygp
OwotfQotCi1TdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnTWVkaWFQYXVzZSgpCi17Ci0gICAgbm90
SW1wbGVtZW50ZWQoKTsKLSAgICByZXR1cm4gU3RyaW5nKCk7Ci19Ci0KLVN0cmluZyBjb250ZXh0
TWVudUl0ZW1UYWdNZWRpYU11dGUoKQotewotICAgIG5vdEltcGxlbWVudGVkKCk7Ci0gICAgcmV0
dXJuIFN0cmluZygpOwotfQotCi1TdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnTWVkaWFVbk11dGUo
KQotewotICAgIG5vdEltcGxlbWVudGVkKCk7Ci0gICAgcmV0dXJuIFN0cmluZygpOwotfQotCiBT
dHJpbmcgY29udGV4dE1lbnVJdGVtVGFnT3BlbkZyYW1lSW5OZXdXaW5kb3coKQogewogICAgIG5v
dEltcGxlbWVudGVkKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2JyZXcvTG9jYWxp
emVkU3RyaW5nc0JyZXcuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9icmV3L0xvY2FsaXplZFN0cmlu
Z3NCcmV3LmNwcAppbmRleCBiNTI4OWMyZjZhNTFlMGJhOGYwZDU0MWM0OGE4OTk4Y2Y4MjBmYmI2
Li4xYmM1OTg1MmY2MDM3ZWNkZTI5ZjhiZjdiODg0ZWYxMzdiOTA0Y2MwIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3BsYXRmb3JtL2JyZXcvTG9jYWxpemVkU3RyaW5nc0JyZXcuY3BwCisrKyBiL1dlYkNv
cmUvcGxhdGZvcm0vYnJldy9Mb2NhbGl6ZWRTdHJpbmdzQnJldy5jcHAKQEAgLTk2LDUxICs5Niw2
IEBAIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdDb3B5SW1hZ2VUb0NsaXBib2FyZCgpCiAgICAg
cmV0dXJuICJDb3B5IGltYWdlIHRvIGNsaXBib2FyZCI7CiB9CiAKLVN0cmluZyBjb250ZXh0TWVu
dUl0ZW1UYWdPcGVuTWVkaWFJbk5ld1dpbmRvdygpCi17Ci0gICAgcmV0dXJuICJPcGVuIE1lZGlh
IGluIE5ldyBXaW5kb3ciOwotfQotCi1TdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnQ29weU1lZGlh
TGlua1RvQ2xpcGJvYXJkKCkKLXsKLSAgICByZXR1cm4gIkNvcHkgTWVkaWEgTGluayBMb2NhdGlv
biI7Ci19Ci0KLVN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVNZWRpYUNvbnRyb2xzKCkK
LXsKLSAgICByZXR1cm4gIlRvZ2dsZSBNZWRpYSBDb250cm9scyI7Ci19Ci0KLVN0cmluZyBjb250
ZXh0TWVudUl0ZW1UYWdUb2dnbGVNZWRpYUxvb3AoKQotewotICAgIHJldHVybiAiVG9nZ2xlIE1l
ZGlhIExvb3AgUGxheWJhY2siOwotfQotCi1TdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnRW50ZXJW
aWRlb0Z1bGxzY3JlZW4oKQotewotICAgIHJldHVybiAiU3dpdGNoIFZpZGVvIHRvIEZ1bGxzY3Jl
ZW4iOwotfQotCi1TdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnTWVkaWFQbGF5KCkKLXsKLSAgICBy
ZXR1cm4gIlBsYXkiOwotfQotCi1TdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnTWVkaWFQYXVzZSgp
Ci17Ci0gICAgcmV0dXJuICJQYXVzZSI7Ci19Ci0KLVN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdN
ZWRpYU11dGUoKQotewotICAgIHJldHVybiAiTXV0ZSI7Ci19Ci0KLVN0cmluZyBjb250ZXh0TWVu
dUl0ZW1UYWdNZWRpYVVuTXV0ZSgpCi17Ci0gICAgcmV0dXJuICJVbk11dGUiOwotfQotCiBTdHJp
bmcgY29udGV4dE1lbnVJdGVtVGFnT3BlbkZyYW1lSW5OZXdXaW5kb3coKQogewogICAgIHJldHVy
biAiT3BlbiBmcmFtZSBpbiBuZXcgd2luZG93IjsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZv
cm0vZWZsL0xvY2FsaXplZFN0cmluZ3NFZmwuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9lZmwvTG9j
YWxpemVkU3RyaW5nc0VmbC5jcHAKaW5kZXggYzY0NWUwZDFjMDgzZTJkZTE2MDZhODE4MzM5OTNm
ZmYxZGI2ZDM3ZC4uNjAyMzIwNTI0ZmIxYTUyNDA2MDljYWNmOGUyODFlOWI5ZDBjOTVkZSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9lZmwvTG9jYWxpemVkU3RyaW5nc0VmbC5jcHAKKysr
IGIvV2ViQ29yZS9wbGF0Zm9ybS9lZmwvTG9jYWxpemVkU3RyaW5nc0VmbC5jcHAKQEAgLTk4LDUx
ICs5OCw2IEBAIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdDb3B5SW1hZ2VUb0NsaXBib2FyZCgp
CiAgICAgcmV0dXJuIFN0cmluZzo6ZnJvbVVURjgoIkNvcHkgSW1hZ2UiKTsKIH0KIAotU3RyaW5n
IGNvbnRleHRNZW51SXRlbVRhZ09wZW5NZWRpYUluTmV3V2luZG93KCkKLXsKLSAgICByZXR1cm4g
U3RyaW5nOjpmcm9tVVRGOCgiT3BlbiBNZWRpYSBpbiBOZXcgV2luZG93Iik7Ci19Ci0KLVN0cmlu
ZyBjb250ZXh0TWVudUl0ZW1UYWdDb3B5TWVkaWFMaW5rVG9DbGlwYm9hcmQoKQotewotICAgIHJl
dHVybiBTdHJpbmc6OmZyb21VVEY4KCJDb3B5IE1lZGlhIExpbmsgTG9jYXRpb24iKTsKLX0KLQot
U3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZU1lZGlhQ29udHJvbHMoKQotewotICAgIHJl
dHVybiBTdHJpbmc6OmZyb21VVEY4KCJUb2dnbGUgTWVkaWEgQ29udHJvbHMiKTsKLX0KLQotU3Ry
aW5nIGNvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZU1lZGlhTG9vcCgpCi17Ci0gICAgcmV0dXJuIFN0
cmluZzo6ZnJvbVVURjgoIlRvZ2dsZSBNZWRpYSBMb29wIFBsYXliYWNrIik7Ci19Ci0KLVN0cmlu
ZyBjb250ZXh0TWVudUl0ZW1UYWdFbnRlclZpZGVvRnVsbHNjcmVlbigpCi17Ci0gICAgcmV0dXJu
IFN0cmluZzo6ZnJvbVVURjgoIlN3aXRjaCBWaWRlbyB0byBGdWxsc2NyZWVuIik7Ci19Ci0KLVN0
cmluZyBjb250ZXh0TWVudUl0ZW1UYWdNZWRpYVBsYXkoKQotewotICAgIHJldHVybiBTdHJpbmc6
OmZyb21VVEY4KCJQbGF5Iik7Ci19Ci0KLVN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdNZWRpYVBh
dXNlKCkKLXsKLSAgICByZXR1cm4gU3RyaW5nOjpmcm9tVVRGOCgiUGF1c2UiKTsKLX0KLQotU3Ry
aW5nIGNvbnRleHRNZW51SXRlbVRhZ01lZGlhTXV0ZSgpCi17Ci0gICAgcmV0dXJuIFN0cmluZzo6
ZnJvbVVURjgoIk11dGUiKTsKLX0KLQotU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ01lZGlhVW5N
dXRlKCkKLXsKLSAgICByZXR1cm4gU3RyaW5nOjpmcm9tVVRGOCgiVW5NdXRlIik7Ci19Ci0KIFN0
cmluZyBjb250ZXh0TWVudUl0ZW1UYWdPcGVuRnJhbWVJbk5ld1dpbmRvdygpCiB7CiAgICAgcmV0
dXJuIFN0cmluZzo6ZnJvbVVURjgoIk9wZW4gRnJhbWUgaW4gTmV3IFdpbmRvdyIpOwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvQ29udGV4dE1lbnVJdGVtR3RrLmNwcCBiL1dlYkNv
cmUvcGxhdGZvcm0vZ3RrL0NvbnRleHRNZW51SXRlbUd0ay5jcHAKaW5kZXggYmQyNWE0YWRmNDU1
NWExMjBlNjNkYWEzNzUxZTE2YzJmNTM5OGM5MS4uZTJjNWI4NDhhNTFmM2I1MWY0ZGM0ZWI4ZGQy
Mzk2NjdjMmNlMTAwYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvQ29udGV4dE1l
bnVJdGVtR3RrLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2d0ay9Db250ZXh0TWVudUl0ZW1H
dGsuY3BwCkBAIC0xLDYgKzEsNSBAQAogLyoKICAqICBDb3B5cmlnaHQgKEMpIDIwMDcgSG9sZ2Vy
IEhhbnMgUGV0ZXIgRnJleXRoZXIKLSAqICBDb3B5cmlnaHQgKEMpIDIwMTAgSWdhbGlhIFMuTAog
ICoKICAqICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1
dGUgaXQgYW5kL29yCiAgKiAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExl
c3NlciBHZW5lcmFsIFB1YmxpYwpAQCAtMzQsMTMgKzMzLDExIEBAIHN0YXRpYyBjb25zdCBjaGFy
KiBndGtTdG9ja0lERnJvbUNvbnRleHRNZW51QWN0aW9uKGNvbnN0IENvbnRleHRNZW51QWN0aW9u
JiBhY3RpCiAgICAgc3dpdGNoIChhY3Rpb24pIHsKICAgICBjYXNlIENvbnRleHRNZW51SXRlbVRh
Z0NvcHlMaW5rVG9DbGlwYm9hcmQ6CiAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdDb3B5SW1h
Z2VUb0NsaXBib2FyZDoKLSAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ0NvcHlNZWRpYUxpbmtU
b0NsaXBib2FyZDoKICAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ0NvcHk6CiAgICAgICAgIHJl
dHVybiBHVEtfU1RPQ0tfQ09QWTsKICAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ09wZW5MaW5r
SW5OZXdXaW5kb3c6CiAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdPcGVuSW1hZ2VJbk5ld1dp
bmRvdzoKICAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ09wZW5GcmFtZUluTmV3V2luZG93Ogot
ICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnT3Blbk1lZGlhSW5OZXdXaW5kb3c6CiAgICAgICAg
IHJldHVybiBHVEtfU1RPQ0tfT1BFTjsKICAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ0Rvd25s
b2FkTGlua1RvRGlzazoKICAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ0Rvd25sb2FkSW1hZ2VU
b0Rpc2s6CkBAIC0xMDIsMTIgKzk5LDYgQEAgc3RhdGljIGNvbnN0IGNoYXIqIGd0a1N0b2NrSURG
cm9tQ29udGV4dE1lbnVBY3Rpb24oY29uc3QgQ29udGV4dE1lbnVBY3Rpb24mIGFjdGkKICAgICAg
ICAgcmV0dXJuIEdUS19TVE9DS19VTkRFUkxJTkU7CiAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1U
YWdTaG93Q29sb3JzOgogICAgICAgICByZXR1cm4gR1RLX1NUT0NLX1NFTEVDVF9DT0xPUjsKLSAg
ICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZU1lZGlhQ29udHJvbHM6Ci0gICAgY2FzZSBD
b250ZXh0TWVudUl0ZW1UYWdUb2dnbGVNZWRpYUxvb3A6Ci0gICAgICAgIC8vIE5vIGljb24gZm9y
IHRoaXMuCi0gICAgICAgIHJldHVybiBOVUxMOwotICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFn
RW50ZXJWaWRlb0Z1bGxzY3JlZW46Ci0gICAgICAgIHJldHVybiBHVEtfU1RPQ0tfRlVMTFNDUkVF
TjsKICAgICBkZWZhdWx0OgogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9Mb2NhbGl6ZWRTdHJpbmdzR3RrLmNwcCBiL1dlYkNvcmUv
cGxhdGZvcm0vZ3RrL0xvY2FsaXplZFN0cmluZ3NHdGsuY3BwCmluZGV4IDQ5OTEyM2JkMTI1MjU4
MGQyNzYwMzk0YmFjMWFhZDY5MTEzZjgzZGYuLjQzMmM5MmZkYTM1NGQwODE0MmNmYzY2NGRlNDZi
ZjRiZmI3MjIyOTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0xvY2FsaXplZFN0
cmluZ3NHdGsuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0xvY2FsaXplZFN0cmluZ3NH
dGsuY3BwCkBAIC00LDcgKzQsNiBAQAogICogQ29weXJpZ2h0IChDKSAyMDA3IEhvbGdlciBIYW5z
IFBldGVyIEZyZXl0aGVyCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDggQ2hyaXN0aWFuIER5d2FuIDxj
aHJpc3RpYW5AaW1lbmRpby5jb20+CiAgKiBDb3B5cmlnaHQgKEMpIDIwMDggTnVhbnRpIEx0ZC4K
LSAqIENvcHlyaWdodCAoQykgMjAxMCBJZ2FsaWEgUy5MCiAgKgogICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKQEAgLTExMSw1MSArMTEwLDYgQEAgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ0Nv
cHlJbWFnZVRvQ2xpcGJvYXJkKCkKICAgICByZXR1cm4gU3RyaW5nOjpmcm9tVVRGOChfKCJDb3Bf
eSBJbWFnZSIpKTsKIH0KIAotU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ09wZW5NZWRpYUluTmV3
V2luZG93KCkKLXsKLSAgICByZXR1cm4gU3RyaW5nOjpmcm9tVVRGOChfKCJPcGVuIF9NZWRpYSBp
biBOZXcgV2luZG93IikpOwotfQotCi1TdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnQ29weU1lZGlh
TGlua1RvQ2xpcGJvYXJkKCkKLXsKLSAgICByZXR1cm4gU3RyaW5nOjpmcm9tVVRGOChfKCJDb3Bf
eSBNZWRpYSBMaW5rIExvY2F0aW9uIikpOwotfQotCi1TdHJpbmcgY29udGV4dE1lbnVJdGVtVGFn
VG9nZ2xlTWVkaWFDb250cm9scygpCi17Ci0gICAgcmV0dXJuIFN0cmluZzo6ZnJvbVVURjgoXygi
X1RvZ2dsZSBNZWRpYSBDb250cm9scyIpKTsKLX0KLQotU3RyaW5nIGNvbnRleHRNZW51SXRlbVRh
Z1RvZ2dsZU1lZGlhTG9vcCgpCi17Ci0gICAgcmV0dXJuIFN0cmluZzo6ZnJvbVVURjgoXygiVG9n
Z2xlIE1lZGlhIF9Mb29wIFBsYXliYWNrIikpOwotfQotCi1TdHJpbmcgY29udGV4dE1lbnVJdGVt
VGFnRW50ZXJWaWRlb0Z1bGxzY3JlZW4oKQotewotICAgIHJldHVybiBTdHJpbmc6OmZyb21VVEY4
KF8oIlN3aXRjaCBWaWRlbyB0byBfRnVsbHNjcmVlbiIpKTsKLX0KLQotU3RyaW5nIGNvbnRleHRN
ZW51SXRlbVRhZ01lZGlhUGxheSgpCi17Ci0gICAgcmV0dXJuIFN0cmluZzo6ZnJvbVVURjgoXygi
X1BsYXkiKSk7Ci19Ci0KLVN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdNZWRpYVBhdXNlKCkKLXsK
LSAgICByZXR1cm4gU3RyaW5nOjpmcm9tVVRGOChfKCJfUGF1c2UiKSk7Ci19Ci0KLVN0cmluZyBj
b250ZXh0TWVudUl0ZW1UYWdNZWRpYU11dGUoKQotewotICAgIHJldHVybiBTdHJpbmc6OmZyb21V
VEY4KF8oIl9NdXRlIikpOwotfQotCi1TdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnTWVkaWFVbk11
dGUoKQotewotICAgIHJldHVybiBTdHJpbmc6OmZyb21VVEY4KF8oIlVuX011dGUiKSk7Ci19Ci0K
IFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdPcGVuRnJhbWVJbk5ld1dpbmRvdygpCiB7CiAgICAg
cmV0dXJuIFN0cmluZzo6ZnJvbVVURjgoXygiT3BlbiBfRnJhbWUgaW4gTmV3IFdpbmRvdyIpKTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vaGFpa3UvTG9jYWxpemVkU3RyaW5nc0hhaWt1
LmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vaGFpa3UvTG9jYWxpemVkU3RyaW5nc0hhaWt1LmNwcApp
bmRleCAyOGQ4MjViNmZmNTA0YjY4Y2RiNTMzMTFhZGM4NjY4ZjJhMTZmMTIwLi41MzIxNzkyNDFk
ZjlmNTMzNjA3ZGQ5MTM3YzY3ZTljMDFlNTkyZWRmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRm
b3JtL2hhaWt1L0xvY2FsaXplZFN0cmluZ3NIYWlrdS5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9y
bS9oYWlrdS9Mb2NhbGl6ZWRTdHJpbmdzSGFpa3UuY3BwCkBAIC05OCw1MSArOTgsNiBAQCBTdHJp
bmcgY29udGV4dE1lbnVJdGVtVGFnQ29weUltYWdlVG9DbGlwYm9hcmQoKQogICAgIHJldHVybiAi
Q29weSBpbWFnZSB0byBjbGlwYm9hcmQiOwogfQogCi1TdHJpbmcgY29udGV4dE1lbnVJdGVtVGFn
T3Blbk1lZGlhSW5OZXdXaW5kb3coKQotewotICAgIHJldHVybiAiT3BlbiBNZWRpYSBpbiBOZXcg
V2luZG93IjsKLX0KLQotU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ0NvcHlNZWRpYUxpbmtUb0Ns
aXBib2FyZCgpCi17Ci0gICAgcmV0dXJuICJDb3B5IE1lZGlhIExpbmsgTG9jYXRpb24iOwotfQot
Ci1TdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVkaWFDb250cm9scygpCi17Ci0gICAg
cmV0dXJuICJUb2dnbGUgTWVkaWEgQ29udHJvbHMiOwotfQotCi1TdHJpbmcgY29udGV4dE1lbnVJ
dGVtVGFnVG9nZ2xlTWVkaWFMb29wKCkKLXsKLSAgICByZXR1cm4gIlRvZ2dsZSBNZWRpYSBMb29w
IFBsYXliYWNrIjsKLX0KLQotU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ0VudGVyVmlkZW9GdWxs
c2NyZWVuKCkKLXsKLSAgICByZXR1cm4gIlN3aXRjaCBWaWRlbyB0byBGdWxsc2NyZWVuIjsKLX0K
LQotU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ01lZGlhUGxheSgpCi17Ci0gICAgcmV0dXJuICJQ
bGF5IjsKLX0KLQotU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ01lZGlhUGF1c2UoKQotewotICAg
IHJldHVybiAiUGF1c2UiOwotfQotCi1TdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnTWVkaWFNdXRl
KCkKLXsKLSAgICByZXR1cm4gIk11dGUiOwotfQotCi1TdHJpbmcgY29udGV4dE1lbnVJdGVtVGFn
TWVkaWFVbk11dGUoKQotewotICAgIHJldHVybiAiVW5NdXRlIjsKLX0KLQogU3RyaW5nIGNvbnRl
eHRNZW51SXRlbVRhZ09wZW5GcmFtZUluTmV3V2luZG93KCkKIHsKICAgICByZXR1cm4gIk9wZW4g
ZnJhbWUgaW4gbmV3IHdpbmRvdyI7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL3d4L0xv
Y2FsaXplZFN0cmluZ3NXeC5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL3d4L0xvY2FsaXplZFN0cmlu
Z3NXeC5jcHAKaW5kZXggYTVhZmNiN2I1OGRlNmNlZjg5MmIxZGM0M2I1NzczNjRkYzM2NmVhZC4u
NDExMmY2NDg0ZmU0ZTY5NzczYjBmMmQxZTgwZGVkZmE3MjIwMGZkOSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9wbGF0Zm9ybS93eC9Mb2NhbGl6ZWRTdHJpbmdzV3guY3BwCisrKyBiL1dlYkNvcmUvcGxh
dGZvcm0vd3gvTG9jYWxpemVkU3RyaW5nc1d4LmNwcApAQCAtOTcsNTEgKzk3LDYgQEAgU3RyaW5n
IGNvbnRleHRNZW51SXRlbVRhZ0NvcHlJbWFnZVRvQ2xpcGJvYXJkKCkKICAgICByZXR1cm4gU3Ry
aW5nKCJDb3B5IEltYWdlIHRvIENsaXBib2FyZCIpOyAKIH0KIAotU3RyaW5nIGNvbnRleHRNZW51
SXRlbVRhZ09wZW5NZWRpYUluTmV3V2luZG93KCkKLXsKLSAgICByZXR1cm4gU3RyaW5nKCJPcGVu
IE1lZGlhIGluIE5ldyBXaW5kb3ciKTsKLX0KLQotU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ0Nv
cHlNZWRpYUxpbmtUb0NsaXBib2FyZCgpCi17Ci0gICAgcmV0dXJuIFN0cmluZygiQ29weSBNZWRp
YSBMaW5rIExvY2F0aW9uIik7Ci19Ci0KLVN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVN
ZWRpYUNvbnRyb2xzKCkKLXsKLSAgICByZXR1cm4gU3RyaW5nKCJUb2dnbGUgTWVkaWEgQ29udHJv
bHMiKTsKLX0KLQotU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZU1lZGlhTG9vcCgpCi17
Ci0gICAgcmV0dXJuIFN0cmluZygiVG9nZ2xlIE1lZGlhIExvb3AgUGxheWJhY2siKTsKLX0KLQot
U3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ0VudGVyVmlkZW9GdWxsc2NyZWVuKCkKLXsKLSAgICBy
ZXR1cm4gU3RyaW5nKCJTd2l0Y2ggVmlkZW8gdG8gRnVsbHNjcmVlbiIpOwotfQotCi1TdHJpbmcg
Y29udGV4dE1lbnVJdGVtVGFnTWVkaWFQbGF5KCkKLXsKLSAgICByZXR1cm4gU3RyaW5nKCJQbGF5
Iik7Ci19Ci0KLVN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdNZWRpYVBhdXNlKCkKLXsKLSAgICBy
ZXR1cm4gU3RyaW5nKCJQYXVzZSIpOwotfQotCi1TdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnTWVk
aWFNdXRlKCkKLXsKLSAgICByZXR1cm4gU3RyaW5nKCJNdXRlIik7Ci19Ci0KLVN0cmluZyBjb250
ZXh0TWVudUl0ZW1UYWdNZWRpYVVuTXV0ZSgpCi17Ci0gICAgcmV0dXJuIFN0cmluZygiVW5NdXRl
Iik7Ci19Ci0KIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdPcGVuRnJhbWVJbk5ld1dpbmRvdygp
IAogeyAKICAgICByZXR1cm4gU3RyaW5nKCJPcGVuIEZyYW1lIGluIE5ldyBXaW5kb3ciKTsgCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0UmVzdWx0LmNwcCBiL1dlYkNvcmUv
cmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuY3BwCmluZGV4IDRhZTk5OTBhOTVhMmQ3OGM3OTM0ZGRk
YWU1YzYxNmRhYTIzNGE4ZDYuLjQ5NmM0YmFiZTMxZWQzMTg0ZTJlOGJiY2ZiMjJmNjVjYTk4NDU1
MGYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuY3BwCisrKyBi
L1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuY3BwCkBAIC0yNCw3ICsyNCw2IEBACiAj
aW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJGcmFtZVRyZWUuaCIKICNpbmNsdWRlICJIVE1M
QW5jaG9yRWxlbWVudC5oIgotI2luY2x1ZGUgIkhUTUxWaWRlb0VsZW1lbnQuaCIKICNpbmNsdWRl
ICJIVE1MSW1hZ2VFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTElucHV0RWxlbWVudC5oIgogI2lu
Y2x1ZGUgIkhUTUxNZWRpYUVsZW1lbnQuaCIKQEAgLTI5MywxMjUgKzI5MiwyMiBAQCBLVVJMIEhp
dFRlc3RSZXN1bHQ6OmFic29sdXRlSW1hZ2VVUkwoKSBjb25zdAogS1VSTCBIaXRUZXN0UmVzdWx0
OjphYnNvbHV0ZU1lZGlhVVJMKCkgY29uc3QKIHsKICNpZiBFTkFCTEUoVklERU8pCi0gICAgaWYg
KEhUTUxNZWRpYUVsZW1lbnQqIG1lZGlhRWx0ID0gbWVkaWFFbGVtZW50KCkpCi0gICAgICAgIHJl
dHVybiBtX2lubmVyTm9uU2hhcmVkTm9kZS0+ZG9jdW1lbnQoKS0+Y29tcGxldGVVUkwoZGVwcmVj
YXRlZFBhcnNlVVJMKG1lZGlhRWx0LT5jdXJyZW50U3JjKCkpKTsKLSAgICByZXR1cm4gS1VSTCgp
OwotI2Vsc2UKLSAgICByZXR1cm4gS1VSTCgpOwotI2VuZGlmCi19Ci0KLWJvb2wgSGl0VGVzdFJl
c3VsdDo6bWVkaWFTdXBwb3J0c0Z1bGxzY3JlZW4oKSBjb25zdAotewotI2lmIEVOQUJMRShWSURF
TykKLSAgICBIVE1MTWVkaWFFbGVtZW50KiBtZWRpYUVsdChtZWRpYUVsZW1lbnQoKSk7Ci0gICAg
cmV0dXJuIChtZWRpYUVsdCAmJiBtZWRpYUVsdC0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OnZpZGVv
VGFnKSAmJiBtZWRpYUVsdC0+c3VwcG9ydHNGdWxsc2NyZWVuKCkpOwotI2Vsc2UKLSAgICByZXR1
cm4gZmFsc2U7Ci0jZW5kaWYKLX0KLQotI2lmIEVOQUJMRShWSURFTykKLUhUTUxNZWRpYUVsZW1l
bnQqIEhpdFRlc3RSZXN1bHQ6Om1lZGlhRWxlbWVudCgpIGNvbnN0Ci17CiAgICAgaWYgKCEobV9p
bm5lck5vblNoYXJlZE5vZGUgJiYgbV9pbm5lck5vblNoYXJlZE5vZGUtPmRvY3VtZW50KCkpKQot
ICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgcmV0dXJuIEtVUkwoKTsKIAogICAgIGlmICghKG1f
aW5uZXJOb25TaGFyZWROb2RlLT5yZW5kZXJlcigpICYmIG1faW5uZXJOb25TaGFyZWROb2RlLT5y
ZW5kZXJlcigpLT5pc01lZGlhKCkpKQotICAgICAgICByZXR1cm4gMDsKLQotICAgIGlmIChtX2lu
bmVyTm9uU2hhcmVkTm9kZS0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OnZpZGVvVGFnKSB8fCBtX2lu
bmVyTm9uU2hhcmVkTm9kZS0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OmF1ZGlvVGFnKSkKLSAgICAg
ICAgcmV0dXJuIHN0YXRpY19jYXN0PEhUTUxNZWRpYUVsZW1lbnQqPihtX2lubmVyTm9uU2hhcmVk
Tm9kZS5nZXQoKSk7Ci0gICAgcmV0dXJuIDA7Ci19Ci0jZW5kaWYKLQotdm9pZCBIaXRUZXN0UmVz
dWx0Ojp0b2dnbGVNZWRpYUNvbnRyb2xzRGlzcGxheSgpIGNvbnN0Ci17Ci0jaWYgRU5BQkxFKFZJ
REVPKQotICAgIGlmIChIVE1MTWVkaWFFbGVtZW50KiBtZWRpYUVsdCA9IG1lZGlhRWxlbWVudCgp
KQotICAgICAgICBtZWRpYUVsdC0+c2V0Q29udHJvbHMoIW1lZGlhRWx0LT5jb250cm9scygpKTsK
LSNlbmRpZgotfQotCi12b2lkIEhpdFRlc3RSZXN1bHQ6OnRvZ2dsZU1lZGlhTG9vcFBsYXliYWNr
KCkgY29uc3QKLXsKLSNpZiBFTkFCTEUoVklERU8pCi0gICAgaWYgKEhUTUxNZWRpYUVsZW1lbnQq
IG1lZGlhRWx0ID0gbWVkaWFFbGVtZW50KCkpCi0gICAgICAgIG1lZGlhRWx0LT5zZXRMb29wKCFt
ZWRpYUVsdC0+bG9vcCgpKTsKLSNlbmRpZgotfQotCi12b2lkIEhpdFRlc3RSZXN1bHQ6OmVudGVy
RnVsbHNjcmVlbkZvclZpZGVvKCkgY29uc3QKLXsKLSNpZiBFTkFCTEUoVklERU8pCi0gICAgSFRN
TE1lZGlhRWxlbWVudCogbWVkaWFFbHQobWVkaWFFbGVtZW50KCkpOwotICAgIGlmIChtZWRpYUVs
dCAmJiBtZWRpYUVsdC0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OnZpZGVvVGFnKSkgewotICAgICAg
ICBIVE1MVmlkZW9FbGVtZW50KiB2aWRlb0VsdCA9IHN0YXRpY19jYXN0PEhUTUxWaWRlb0VsZW1l
bnQqPihtZWRpYUVsdCk7Ci0gICAgICAgIGlmICghdmlkZW9FbHQtPmlzRnVsbHNjcmVlbigpICYm
IG1lZGlhRWx0LT5zdXBwb3J0c0Z1bGxzY3JlZW4oKSkKLSAgICAgICAgICAgIHZpZGVvRWx0LT5l
bnRlckZ1bGxzY3JlZW4oKTsKLSAgICB9Ci0jZW5kaWYKLX0KLQotYm9vbCBIaXRUZXN0UmVzdWx0
OjptZWRpYUNvbnRyb2xzRW5hYmxlZCgpIGNvbnN0Ci17Ci0jaWYgRU5BQkxFKFZJREVPKQotICAg
IGlmIChIVE1MTWVkaWFFbGVtZW50KiBtZWRpYUVsdCA9IG1lZGlhRWxlbWVudCgpKQotICAgICAg
ICByZXR1cm4gbWVkaWFFbHQtPmNvbnRyb2xzKCk7Ci0jZW5kaWYKLSAgICByZXR1cm4gZmFsc2U7
Ci19Ci0KLWJvb2wgSGl0VGVzdFJlc3VsdDo6bWVkaWFMb29wRW5hYmxlZCgpIGNvbnN0Ci17Ci0j
aWYgRU5BQkxFKFZJREVPKQotICAgIGlmIChIVE1MTWVkaWFFbGVtZW50KiBtZWRpYUVsdCA9IG1l
ZGlhRWxlbWVudCgpKQotICAgICAgICByZXR1cm4gbWVkaWFFbHQtPmxvb3AoKTsKLSNlbmRpZgot
ICAgIHJldHVybiBmYWxzZTsKLX0KLQotYm9vbCBIaXRUZXN0UmVzdWx0OjptZWRpYVBsYXlpbmco
KSBjb25zdAotewotI2lmIEVOQUJMRShWSURFTykKLSAgICBpZiAoSFRNTE1lZGlhRWxlbWVudCog
bWVkaWFFbHQgPSBtZWRpYUVsZW1lbnQoKSkKLSAgICAgICAgcmV0dXJuICFtZWRpYUVsdC0+cGF1
c2VkKCk7Ci0jZW5kaWYKLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0KLXZvaWQgSGl0VGVzdFJlc3Vs
dDo6dG9nZ2xlTWVkaWFQbGF5U3RhdGUoKSBjb25zdAotewotI2lmIEVOQUJMRShWSURFTykKLSAg
ICBpZiAoSFRNTE1lZGlhRWxlbWVudCogbWVkaWFFbHQgPSBtZWRpYUVsZW1lbnQoKSkKLSAgICAg
ICAgbWVkaWFFbHQtPnRvZ2dsZVBsYXlTdGF0ZSgpOwotI2VuZGlmCi19Ci0KLWJvb2wgSGl0VGVz
dFJlc3VsdDo6bWVkaWFIYXNBdWRpbygpIGNvbnN0Ci17Ci0jaWYgRU5BQkxFKFZJREVPKQotICAg
IGlmIChIVE1MTWVkaWFFbGVtZW50KiBtZWRpYUVsdCA9IG1lZGlhRWxlbWVudCgpKQotICAgICAg
ICByZXR1cm4gbWVkaWFFbHQtPmhhc0F1ZGlvKCk7Ci0jZW5kaWYKLSAgICByZXR1cm4gZmFsc2U7
Ci19CisgICAgICAgIHJldHVybiBLVVJMKCk7CiAKLWJvb2wgSGl0VGVzdFJlc3VsdDo6bWVkaWFN
dXRlZCgpIGNvbnN0Ci17Ci0jaWYgRU5BQkxFKFZJREVPKQotICAgIGlmIChIVE1MTWVkaWFFbGVt
ZW50KiBtZWRpYUVsdCA9IG1lZGlhRWxlbWVudCgpKQotICAgICAgICByZXR1cm4gbWVkaWFFbHQt
Pm11dGVkKCk7Ci0jZW5kaWYKLSAgICByZXR1cm4gZmFsc2U7Ci19CisgICAgQXRvbWljU3RyaW5n
IHVybFN0cmluZzsKKyAgICBpZiAobV9pbm5lck5vblNoYXJlZE5vZGUtPmhhc1RhZ05hbWUoSFRN
TE5hbWVzOjp2aWRlb1RhZykgfHwgbV9pbm5lck5vblNoYXJlZE5vZGUtPmhhc1RhZ05hbWUoSFRN
TE5hbWVzOjphdWRpb1RhZykpIHsKKyAgICAgICAgSFRNTE1lZGlhRWxlbWVudCogbWVkaWFFbGVt
ZW50ID0gc3RhdGljX2Nhc3Q8SFRNTE1lZGlhRWxlbWVudCo+KG1faW5uZXJOb25TaGFyZWROb2Rl
LmdldCgpKTsKKyAgICAgICAgdXJsU3RyaW5nID0gbWVkaWFFbGVtZW50LT5jdXJyZW50U3JjKCk7
CisgICAgfSBlbHNlCisgICAgICAgIHJldHVybiBLVVJMKCk7CiAKLXZvaWQgSGl0VGVzdFJlc3Vs
dDo6dG9nZ2xlTWVkaWFNdXRlU3RhdGUoKSBjb25zdAotewotI2lmIEVOQUJMRShWSURFTykKLSAg
ICBpZiAoSFRNTE1lZGlhRWxlbWVudCogbWVkaWFFbHQgPSBtZWRpYUVsZW1lbnQoKSkKLSAgICAg
ICAgbWVkaWFFbHQtPnNldE11dGVkKCFtZWRpYUVsdC0+bXV0ZWQoKSk7CisgICAgcmV0dXJuIG1f
aW5uZXJOb25TaGFyZWROb2RlLT5kb2N1bWVudCgpLT5jb21wbGV0ZVVSTChkZXByZWNhdGVkUGFy
c2VVUkwodXJsU3RyaW5nKSk7CisjZWxzZQorICAgIHJldHVybiBLVVJMKCk7CiAjZW5kaWYKIH0K
IApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5oIGIvV2ViQ29y
ZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5oCmluZGV4IGU2MzUwMzNkMTgwZWU3ZDNkODQzYjQz
ZjdhNTdlYTU4ZGVhYjBiODQuLjNhNDI3MTkxYTIyNThkOTY0NzEwZTMxZDcyNmU3ZjBlMjg5NjFj
NTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuaAorKysgYi9X
ZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0UmVzdWx0LmgKQEAgLTMyLDkgKzMyLDYgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogCiBjbGFzcyBFbGVtZW50OwogY2xhc3MgRnJhbWU7Ci0jaWYgRU5BQkxF
KFZJREVPKQotY2xhc3MgSFRNTE1lZGlhRWxlbWVudDsKLSNlbmRpZgogY2xhc3MgSW1hZ2U7CiBj
bGFzcyBJbnRSZWN0OwogY2xhc3MgS1VSTDsKQEAgLTgzLDE3ICs4MCw2IEBAIHB1YmxpYzoKICAg
ICBTdHJpbmcgdGV4dENvbnRlbnQoKSBjb25zdDsKICAgICBib29sIGlzTGl2ZUxpbmsoKSBjb25z
dDsKICAgICBib29sIGlzQ29udGVudEVkaXRhYmxlKCkgY29uc3Q7Ci0gICAgdm9pZCB0b2dnbGVN
ZWRpYUNvbnRyb2xzRGlzcGxheSgpIGNvbnN0OwotICAgIHZvaWQgdG9nZ2xlTWVkaWFMb29wUGxh
eWJhY2soKSBjb25zdDsKLSAgICB2b2lkIGVudGVyRnVsbHNjcmVlbkZvclZpZGVvKCkgY29uc3Q7
Ci0gICAgYm9vbCBtZWRpYUNvbnRyb2xzRW5hYmxlZCgpIGNvbnN0OwotICAgIGJvb2wgbWVkaWFM
b29wRW5hYmxlZCgpIGNvbnN0OwotICAgIGJvb2wgbWVkaWFQbGF5aW5nKCkgY29uc3Q7Ci0gICAg
Ym9vbCBtZWRpYVN1cHBvcnRzRnVsbHNjcmVlbigpIGNvbnN0OwotICAgIHZvaWQgdG9nZ2xlTWVk
aWFQbGF5U3RhdGUoKSBjb25zdDsKLSAgICBib29sIG1lZGlhSGFzQXVkaW8oKSBjb25zdDsKLSAg
ICBib29sIG1lZGlhTXV0ZWQoKSBjb25zdDsKLSAgICB2b2lkIHRvZ2dsZU1lZGlhTXV0ZVN0YXRl
KCkgY29uc3Q7CiAKICAgICAvLyBSZWN0LWJhc2VkIGhpdCB0ZXN0IHJlbGF0ZWQgbWV0aG9kcy4K
ICAgICBib29sIGlzUmVjdEJhc2VkVGVzdCgpIGNvbnN0IHsgcmV0dXJuIG1faXNSZWN0QmFzZWQ7
IH0KQEAgLTExMCwxMCArOTYsNiBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAKLSNpZiBFTkFCTEUo
VklERU8pCi0gICAgSFRNTE1lZGlhRWxlbWVudCogbWVkaWFFbGVtZW50KCkgY29uc3Q7Ci0jZW5k
aWYKLQogICAgIFJlZlB0cjxOb2RlPiBtX2lubmVyTm9kZTsKICAgICBSZWZQdHI8Tm9kZT4gbV9p
bm5lck5vblNoYXJlZE5vZGU7CiAgICAgSW50UG9pbnQgbV9wb2ludDsKZGlmZiAtLWdpdCBhL1dl
YktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxvZwppbmRleCA0ZjAxOTBk
NTdmMDllNDZjMDdlYTlhOTJiZTU2MTgyZjZjNTE0MzBmLi5iOGYzMzdjY2VlODJmZjY1YjI5OWQy
NjE2YTZhOWNmOTE3YTVjYWI0IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VMb2cKKysr
IGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTAtMDktMTYgIFNo
ZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgorCisgICAgICAgIFVucmV2
aWV3ZWQsIHJvbGxpbmcgb3V0IHI2NzYyOC4KKyAgICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9y
Zy9jaGFuZ2VzZXQvNjc2MjgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTQ1OTA0CisKKyAgICAgICAgYnJva2UgdGhlIGJ1aWxkIChSZXF1ZXN0ZWQgYnkg
ZXJpY19jYXJsc29uIG9uICN3ZWJraXQpLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvZ3Rr
L0V2ZW50U2VuZGVyLmNwcDoKKyAgICAgICAgKGNvbnRleHRDbGlja0NhbGxiYWNrKToKKwogMjAx
MC0wOS0xNiAgQmFsYXpzIEtlbGVtZW4gIDxrYmFsYXpzQHdlYmtpdC5vcmc+CiAKICAgICAgICAg
VW5yZXZpZXdlZC4KZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9F
dmVudFNlbmRlci5jcHAgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9ndGsvRXZlbnRTZW5k
ZXIuY3BwCmluZGV4IGZlN2U5M2FiOWUyMjBhYmM1ZDQyMGJhNDRhODg4ODJkMGJmNTY2ODQuLjBl
MmU0NjlhYWQyMjQyMjQ3MTY1MDc2NzczNDFkNzM4ZmE2MDhiNmMgMTAwNjQ0Ci0tLSBhL1dlYktp
dFRvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9FdmVudFNlbmRlci5jcHAKKysrIGIvV2ViS2l0VG9v
bHMvRHVtcFJlbmRlclRyZWUvZ3RrL0V2ZW50U2VuZGVyLmNwcApAQCAtMTQ3LDU4ICsxNDcsNiBA
QCBib29sIHByZXBhcmVNb3VzZUJ1dHRvbkV2ZW50KEdka0V2ZW50KiBldmVudCwgaW50IGV2ZW50
U2VuZGVyQnV0dG9uTnVtYmVyLCBndWludAogICAgIHJldHVybiB0cnVlOwogfQogCi1zdGF0aWMg
SlNWYWx1ZVJlZiBnZXRNZW51SXRlbVRpdGxlQ2FsbGJhY2soSlNDb250ZXh0UmVmIGNvbnRleHQs
IEpTT2JqZWN0UmVmIG9iamVjdCwgSlNTdHJpbmdSZWYgcHJvcGVydHlOYW1lLCBKU1ZhbHVlUmVm
KiBleGNlcHRpb24pCi17Ci0gICAgR3RrV2lkZ2V0KiB3aWRnZXQgPSBHVEtfV0lER0VUKEpTT2Jq
ZWN0R2V0UHJpdmF0ZShvYmplY3QpKTsKLSAgICBDU3RyaW5nIGxhYmVsOwotICAgIGlmIChHVEtf
SVNfU0VQQVJBVE9SX01FTlVfSVRFTSh3aWRnZXQpKQotICAgICAgICBsYWJlbCA9ICI8c2VwYXJh
dG9yPiI7Ci0gICAgZWxzZQotICAgICAgICBsYWJlbCA9IGd0a19tZW51X2l0ZW1fZ2V0X2xhYmVs
KEdUS19NRU5VX0lURU0od2lkZ2V0KSk7Ci0KLSAgICByZXR1cm4gSlNWYWx1ZU1ha2VTdHJpbmco
Y29udGV4dCwgSlNTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcobGFiZWwuZGF0YSgpKSk7Ci19
Ci0KLXN0YXRpYyBib29sIHNldE1lbnVJdGVtVGl0bGVDYWxsYmFjayhKU0NvbnRleHRSZWYgY29u
dGV4dCwgSlNPYmplY3RSZWYgb2JqZWN0LCBKU1N0cmluZ1JlZiBwcm9wZXJ0eU5hbWUsIEpTVmFs
dWVSZWYgdmFsdWUsIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbikKLXsKLSAgICByZXR1cm4gdHJ1ZTsK
LX0KLQotc3RhdGljIEpTVmFsdWVSZWYgbWVudUl0ZW1DbGlja0NhbGxiYWNrKEpTQ29udGV4dFJl
ZiBjb250ZXh0LCBKU09iamVjdFJlZiBmdW5jdGlvbiwgSlNPYmplY3RSZWYgdGhpc09iamVjdCwg
c2l6ZV90IGFyZ3VtZW50Q291bnQsIGNvbnN0IEpTVmFsdWVSZWYgYXJndW1lbnRzW10sIEpTVmFs
dWVSZWYqIGV4Y2VwdGlvbikKLXsKLSAgICBHdGtNZW51SXRlbSogaXRlbSA9IEdUS19NRU5VX0lU
RU0oSlNPYmplY3RHZXRQcml2YXRlKHRoaXNPYmplY3QpKTsKLSAgICBndGtfbWVudV9pdGVtX2Fj
dGl2YXRlKGl0ZW0pOwotICAgIHJldHVybiBKU1ZhbHVlTWFrZVVuZGVmaW5lZChjb250ZXh0KTsK
LX0KLQotc3RhdGljIEpTU3RhdGljRnVuY3Rpb24gc3RhdGljTWVudUl0ZW1GdW5jdGlvbnNbXSA9
IHsKLSAgICB7ICJjbGljayIsIG1lbnVJdGVtQ2xpY2tDYWxsYmFjaywga0pTUHJvcGVydHlBdHRy
aWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAotICAgIHsg
MCwgMCwgMCB9Ci19OwotCi1zdGF0aWMgSlNTdGF0aWNWYWx1ZSBzdGF0aWNNZW51SXRlbVZhbHVl
c1tdID0gewotICAgIHsgInRpdGxlIiwgZ2V0TWVudUl0ZW1UaXRsZUNhbGxiYWNrLCBzZXRNZW51
SXRlbVRpdGxlQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlTm9uZSB9LAotICAgIHsgMCwg
MCwgMCwgMCB9Ci19OwotCi1zdGF0aWMgSlNDbGFzc1JlZiBnZXRNZW51SXRlbUNsYXNzKCkKLXsK
LSAgICBzdGF0aWMgSlNDbGFzc1JlZiBtZW51SXRlbUNsYXNzID0gMDsKLQotICAgIGlmICghbWVu
dUl0ZW1DbGFzcykgewotICAgICAgICBKU0NsYXNzRGVmaW5pdGlvbiBjbGFzc0RlZmluaXRpb24g
PSB7Ci0gICAgICAgICAgICAgICAgMCwgMCwgMCwgMCwgMCwgMCwKLSAgICAgICAgICAgICAgICAw
LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwfTsKLSAgICAgICAgY2xhc3NEZWZpbml0aW9u
LnN0YXRpY0Z1bmN0aW9ucyA9IHN0YXRpY01lbnVJdGVtRnVuY3Rpb25zOwotICAgICAgICBjbGFz
c0RlZmluaXRpb24uc3RhdGljVmFsdWVzID0gc3RhdGljTWVudUl0ZW1WYWx1ZXM7Ci0KLSAgICAg
ICAgbWVudUl0ZW1DbGFzcyA9IEpTQ2xhc3NDcmVhdGUoJmNsYXNzRGVmaW5pdGlvbik7Ci0gICAg
fQotCi0gICAgcmV0dXJuIG1lbnVJdGVtQ2xhc3M7Ci19Ci0KLQogc3RhdGljIEpTVmFsdWVSZWYg
Y29udGV4dENsaWNrQ2FsbGJhY2soSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmIGZ1
bmN0aW9uLCBKU09iamVjdFJlZiB0aGlzT2JqZWN0LCBzaXplX3QgYXJndW1lbnRDb3VudCwgY29u
c3QgSlNWYWx1ZVJlZiBhcmd1bWVudHNbXSwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKQogewogICAg
IEdka0V2ZW50KiBwcmVzc0V2ZW50ID0gZ2RrX2V2ZW50X25ldyhHREtfQlVUVE9OX1BSRVNTKTsK
QEAgLTIxNyw3ICsxNjUsMTMgQEAgc3RhdGljIEpTVmFsdWVSZWYgY29udGV4dENsaWNrQ2FsbGJh
Y2soSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmIGZ1bmN0aW8KICAgICAgICAgSlNW
YWx1ZVJlZiBhcnJheVZhbHVlc1tnX2xpc3RfbGVuZ3RoKGl0ZW1zKV07CiAgICAgICAgIGludCBp
bmRleCA9IDA7CiAgICAgICAgIGZvciAoR0xpc3QqIGl0ZW0gPSBnX2xpc3RfZmlyc3QoaXRlbXMp
OyBpdGVtOyBpdGVtID0gZ19saXN0X25leHQoaXRlbSkpIHsKLSAgICAgICAgICAgIGFycmF5VmFs
dWVzW2luZGV4XSA9IEpTT2JqZWN0TWFrZShjb250ZXh0LCBnZXRNZW51SXRlbUNsYXNzKCksIGl0
ZW0tPmRhdGEpOworICAgICAgICAgICAgQ1N0cmluZyBsYWJlbDsKKyAgICAgICAgICAgIGlmIChH
VEtfSVNfU0VQQVJBVE9SX01FTlVfSVRFTShpdGVtLT5kYXRhKSkKKyAgICAgICAgICAgICAgICBs
YWJlbCA9ICI8c2VwYXJhdG9yPiI7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAg
bGFiZWwgPSBndGtfbWVudV9pdGVtX2dldF9sYWJlbChHVEtfTUVOVV9JVEVNKGl0ZW0tPmRhdGEp
KTsKKworICAgICAgICAgICAgYXJyYXlWYWx1ZXNbaW5kZXhdID0gSlNWYWx1ZU1ha2VTdHJpbmco
Y29udGV4dCwgSlNTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcobGFiZWwuZGF0YSgpKSk7CiAg
ICAgICAgICAgICBpbmRleCsrOwogICAgICAgICB9CiAgICAgICAgIGlmIChpbmRleCkK
</data>
<flag name="commit-queue"
          id="57228"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
      

    </bug>

</bugzilla>