<?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>56471</bug_id>
          
          <creation_ts>2011-03-16 10:51:31 -0700</creation_ts>
          <short_desc>REGRESSION(r81243): Breaks GTK 64-bit Debug tests (Requested by podivilov on #webkit).</short_desc>
          <delta_ts>2011-03-17 02:53:35 -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>56305</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>pnormand</cc>
    
    <cc>podivilov</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>368383</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-03-16 10:51:31 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/81243 broke the build:
Breaks GTK 64-bit Debug tests (Requested by podivilov 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>368384</commentid>
    <comment_count>1</comment_count>
      <attachid>85940</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-03-16 10:51:54 -0700</bug_when>
    <thetext>Created attachment 85940
ROLLOUT of r81243

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>368930</commentid>
    <comment_count>2</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2011-03-17 01:25:04 -0700</bug_when>
    <thetext>Why wasn&apos;t this rolled out?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>368953</commentid>
    <comment_count>3</comment_count>
      <attachid>85940</attachid>
    <who name="Pavel Podivilov">podivilov</who>
    <bug_when>2011-03-17 02:49:40 -0700</bug_when>
    <thetext>Comment on attachment 85940
ROLLOUT of r81243

Clearing flags on attachment: 85940

Committed r81342: &lt;http://trac.webkit.org/changeset/81342&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>368954</commentid>
    <comment_count>4</comment_count>
    <who name="Pavel Podivilov">podivilov</who>
    <bug_when>2011-03-17 02:49:49 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>368955</commentid>
    <comment_count>5</comment_count>
    <who name="Pavel Podivilov">podivilov</who>
    <bug_when>2011-03-17 02:53:35 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Why wasn&apos;t this rolled out?

It started passing on a buildbot, so I decided it was not related.
Actually it just started to flake.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>85940</attachid>
            <date>2011-03-16 10:51:54 -0700</date>
            <delta_ts>2011-03-17 02:49:40 -0700</delta_ts>
            <desc>ROLLOUT of r81243</desc>
            <filename>bug-56471-20110316175010.patch</filename>
            <type>text/plain</type>
            <size>43605</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODEyNTYKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBjNmE4ODcwY2M0MzllNDc0ZjVkZTBl
MDM2NWQ4MzFjNzBlNjYyMmRlLi4zYzk1M2MyODUyN2I5ZDBmNzExYjdjYjU1ZTFhNmEzZGVmZjEw
YjBkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTEtMDMtMTYgIFNoZXJpZmYgQm90ICA8d2Vi
a2l0LnJldmlldy5ib3RAZ21haWwuY29tPgorCisgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcg
b3V0IHI4MTI0My4KKyAgICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvODEy
NDMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU2NDcx
CisKKyAgICAgICAgQnJlYWtzIEdUSyA2NC1iaXQgRGVidWcgdGVzdHMgKFJlcXVlc3RlZCBieSBw
b2Rpdmlsb3Ygb24KKyAgICAgICAgI3dlYmtpdCkuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvZGVi
dWdnZXIvZXZlbnQtbGlzdGVuZXItYnJlYWtwb2ludHMtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgor
ICAgICAgICAqIGluc3BlY3Rvci9kZWJ1Z2dlci9ldmVudC1saXN0ZW5lci1icmVha3BvaW50cy5o
dG1sOiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9Ta2lwcGVkOgorICAgICAgICAq
IHBsYXRmb3JtL21hYy9Ta2lwcGVkOgorICAgICAgICAqIHBsYXRmb3JtL3F0L1NraXBwZWQ6Cisg
ICAgICAgICogcGxhdGZvcm0vd2luL1NraXBwZWQ6CisKIDIwMTEtMDMtMTYgIEJyaWFuIFdlaW5z
dGVpbiAgPGJ3ZWluc3RlaW5AYXBwbGUuY29tPgogCiAgICAgICAgIE1ha2UgdGhlIGZpbGVzIGFk
ZGVkIC1leHBlY3RlZC50eHQgaW5zdGVhZCBvZiAtYWN0dWFsLnR4dCBzbyBydW4td2Via2l0LXRl
c3RzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvZXZlbnQtbGlz
dGVuZXItYnJlYWtwb2ludHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Rl
YnVnZ2VyL2V2ZW50LWxpc3RlbmVyLWJyZWFrcG9pbnRzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggM2UxYTdiYjdhYTJiOTZlYWRkNDRjZTdlMWE5N2U5MzdlZTEw
NTc4My4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvZXZlbnQtbGlzdGVuZXItYnJlYWtwb2ludHMtZXhw
ZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMjAgKzAsMCBAQAotVGVzdHMgZXZlbnQgbGlz
dGVuZXIgYnJlYWtwb2ludHMuCi0KLQotRGVidWdnZXIgd2FzIGVuYWJsZWQuCi0KLVJ1bm5pbmc6
IHRlc3RDbGlja0JyZWFrcG9pbnQKLVNjcmlwdCBleGVjdXRpb24gcGF1c2VkLgotQ2FsbCBzdGFj
azoKLSAgICAwKSB0ZXN0RWxlbWVudENsaWNrZWQgKGV2ZW50LWxpc3RlbmVyLWJyZWFrcG9pbnRz
Lmh0bWw6NykKLSAgICAxKSBhZGRMaXN0ZW5lckFuZENsaWNrIChldmVudC1saXN0ZW5lci1icmVh
a3BvaW50cy5odG1sOjE2KQotICAgIDIpICAoOjEpCi1TY3JpcHQgZXhlY3V0aW9uIHJlc3VtZWQu
Ci0KLVJ1bm5pbmc6IHRlc3RUaW1lckZpcmVkQnJlYWtwb2ludAotU2NyaXB0IGV4ZWN1dGlvbiBw
YXVzZWQuCi1DYWxsIHN0YWNrOgotICAgIDApIHRpbWVyRmlyZWQgKGV2ZW50LWxpc3RlbmVyLWJy
ZWFrcG9pbnRzLmh0bWw6MTkpCi1TY3JpcHQgZXhlY3V0aW9uIHJlc3VtZWQuCi1EZWJ1Z2dlciB3
YXMgZGlzYWJsZWQuCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dl
ci9ldmVudC1saXN0ZW5lci1icmVha3BvaW50cy5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L2RlYnVnZ2VyL2V2ZW50LWxpc3RlbmVyLWJyZWFrcG9pbnRzLmh0bWwKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDBjYjRjZWI0NWQ0MWQ3Mjc5ZmMzZTUyNGVjM2FlMDAxYjRjYzExMDQu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL2RlYnVnZ2VyL2V2ZW50LWxpc3RlbmVyLWJyZWFrcG9pbnRzLmh0bWwKKysr
IC9kZXYvbnVsbApAQCAtMSw3NCArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9
Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci10ZXN0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0KLWZ1bmN0aW9uIHRlc3RFbGVtZW50Q2xpY2tlZCgpCi17
Ci0gICAgcmV0dXJuIDA7Ci19Ci0KLWZ1bmN0aW9uIGFkZExpc3RlbmVyQW5kQ2xpY2soKQotewot
ICAgIHZhciBlbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3QiKTsKLSAgICBl
bGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgdGVzdEVsZW1lbnRDbGlja2VkLCB0cnVl
KTsKLSAgICBlbGVtZW50LmNsaWNrKCk7Ci19Ci0KLWZ1bmN0aW9uIHRpbWVyRmlyZWQoKQotewot
ICAgIHJldHVybiAwOwotfQotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICB2YXIgcGFuZSA9IFdl
Ykluc3BlY3Rvci5wYW5lbHMuc2NyaXB0cy5zaWRlYmFyUGFuZXMuZXZlbnRMaXN0ZW5lckJyZWFr
cG9pbnRzOwotICAgIEluc3BlY3RvclRlc3QucnVuRGVidWdnZXJUZXN0U3VpdGUoWwotICAgICAg
ICBmdW5jdGlvbiB0ZXN0Q2xpY2tCcmVha3BvaW50KG5leHQpCi0gICAgICAgIHsKLSAgICAgICAg
ICAgIHBhbmUuX3NldEJyZWFrcG9pbnQoImxpc3RlbmVyOmNsaWNrIik7Ci0gICAgICAgICAgICBJ
bnNwZWN0b3JUZXN0LndhaXRVbnRpbFBhdXNlZChwYXVzZWQpOwotICAgICAgICAgICAgSW5zcGVj
dG9yVGVzdC5ldmFsdWF0ZUluUGFnZVdpdGhUaW1lb3V0KCJhZGRMaXN0ZW5lckFuZENsaWNrKCki
KTsKLQotICAgICAgICAgICAgZnVuY3Rpb24gcGF1c2VkKGNhbGxGcmFtZXMpCi0gICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jYXB0dXJlU3RhY2tUcmFjZShjYWxs
RnJhbWVzKTsKLSAgICAgICAgICAgICAgICBwYW5lLl9yZW1vdmVCcmVha3BvaW50KCJsaXN0ZW5l
cjpjbGljayIpOwotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QucmVzdW1lRXhlY3V0aW9u
KHJlc3VtZWQpOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBmdW5jdGlvbiByZXN1bWVk
KCkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRl
SW5QYWdlKCJhZGRMaXN0ZW5lckFuZENsaWNrKCkpIiwgbmV4dCk7Ci0gICAgICAgICAgICB9Ci0g
ICAgICAgIH0sCi0KLSAgICAgICAgZnVuY3Rpb24gdGVzdFRpbWVyRmlyZWRCcmVha3BvaW50KG5l
eHQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHBhbmUuX3NldEJyZWFrcG9pbnQoImluc3RydW1l
bnRhdGlvbjp0aW1lckZpcmVkIik7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LndhaXRVbnRp
bFBhdXNlZChwYXVzZWQpOwotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFn
ZSgic2V0VGltZW91dCh0aW1lckZpcmVkLCAxMCkiKTsKLQotICAgICAgICAgICAgZnVuY3Rpb24g
cGF1c2VkKGNhbGxGcmFtZXMpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgSW5zcGVj
dG9yVGVzdC5jYXB0dXJlU3RhY2tUcmFjZShjYWxsRnJhbWVzKTsKLSAgICAgICAgICAgICAgICBw
YW5lLl9yZW1vdmVCcmVha3BvaW50KCJpbnN0cnVtZW50YXRpb246dGltZXJGaXJlZCIpOwotICAg
ICAgICAgICAgICAgIEluc3BlY3RvclRlc3QucmVzdW1lRXhlY3V0aW9uKG5leHQpOwotICAgICAg
ICAgICAgfQotICAgICAgICB9Ci0gICAgXSk7Ci19Ci0KLTwvc2NyaXB0PgotPC9oZWFkPgotCi08
Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD4KLVRlc3RzIGV2ZW50IGxpc3RlbmVyIGJyZWFr
cG9pbnRzLgotPC9wPgotCi08aW5wdXQgdHlwZT1idXR0b24gaWQ9InRlc3QiPjwvaW5wdXQ+Ci0K
LTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9T
a2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQKaW5kZXggNmE5YmI4NjFh
MTZjN2YyOGFhNWE3NjE0MTViYzBkOWY3MWM4NjViOS4uMDljOTU1ZTgzZTY1Y2Q2YTkxOWUzMjdj
NDk1NjkxMTU0MjliNGY1MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Nr
aXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQKQEAgLTExODUsNyAr
MTE4NSw2IEBAIHNwdXRuaWsvVW5pY29kZS9Vbmljb2RlXzUxMC9TNy42X0E1LjNfVDIuaHRtbAog
CiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MzMzMgogaW5zcGVj
dG9yL2RlYnVnZ2VyL2RvbS1icmVha3BvaW50cy5odG1sCi1pbnNwZWN0b3IvZGVidWdnZXIvZXZl
bnQtbGlzdGVuZXItYnJlYWtwb2ludHMuaHRtbAogaW5zcGVjdG9yL2RlYnVnZ2VyL3hoci1icmVh
a3BvaW50cy5odG1sCiAKICMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTQwMzAwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvU2tpcHBlZCBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkCmluZGV4IDllYmIwMTgyZTNmOTAwM2FmYjA5
MTAyNTQzNjBhYjZlNTJiYzczYTEuLjgwMzg1MjVkZTFhODdkMjc0NmNjMzFmMGYzNjlhYzUzNjFi
NDcyYmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkCisrKyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkCkBAIC0yMzQsNyArMjM0LDYgQEAgYW5p
bWF0aW9ucy9wbGF5LXN0YXRlLmh0bWwKIAogIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NDMzMzIKIGluc3BlY3Rvci9kZWJ1Z2dlci9kb20tYnJlYWtwb2ludHMuaHRt
bAotaW5zcGVjdG9yL2RlYnVnZ2VyL2V2ZW50LWxpc3RlbmVyLWJyZWFrcG9pbnRzLmh0bWwKIGlu
c3BlY3Rvci9kZWJ1Z2dlci94aHItYnJlYWtwb2ludHMuaHRtbAogCiAjIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MDMwMApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vcXQvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKaW5k
ZXggMWVhNjJkNjg3YmRkN2U1MjM4YTIyMGIzNGEwYWYyNmMyNDgxMjcyZC4uZGM5Y2QwOTUzNDdm
YzgxYTI5NGQwNjI2N2QwODk0ZGQ3ZWZmY2IzNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vcXQvU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCkBA
IC0xMDUsNyArMTA1LDYgQEAgZmFzdC90ZXh0L3NvZnQtaHlwaGVuLTQuaHRtbAogCiAjIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MzMzMgogaW5zcGVjdG9yL2RlYnVn
Z2VyL2RvbS1icmVha3BvaW50cy5odG1sCi1pbnNwZWN0b3IvZGVidWdnZXIvZXZlbnQtbGlzdGVu
ZXItYnJlYWtwb2ludHMuaHRtbAogaW5zcGVjdG9yL2RlYnVnZ2VyL3hoci1icmVha3BvaW50cy5o
dG1sCiAKICMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQwMzAwCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZCBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL3dpbi9Ta2lwcGVkCmluZGV4IDY5NjRiNmE3NGUxMWY5M2Q1OWQ1N2FkMzRlMTMw
YjM2YjlkNTY3YjkuLjJkMTk5MjdkMjFkNWZlNjIzY2I4NTBjYTYzY2M3YzkzNDc2OTcwZjYgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCkBAIC0xMDkwLDcgKzEwOTAsNiBAQCBodHRwL3Rlc3Rz
L2FwcGNhY2hlL29yaWdpbi1xdW90YS5odG1sCiAKICMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTQzMzMyCiBpbnNwZWN0b3IvZGVidWdnZXIvZG9tLWJyZWFrcG9pbnRz
Lmh0bWwKLWluc3BlY3Rvci9kZWJ1Z2dlci9ldmVudC1saXN0ZW5lci1icmVha3BvaW50cy5odG1s
CiBpbnNwZWN0b3IvZGVidWdnZXIveGhyLWJyZWFrcG9pbnRzLmh0bWwKIAogIyBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDAzMDAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA5NjY0Yjli
MWZhNzQxNzFjNjA5OTBiYTQ3YzM2YmFmNjNjMjVkZGM2Li42MjVkY2IxMGQ4YWEyOTg5ZmE3MWYx
NTA1MmE3ZGZiYTM3YmVlZDhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNzMgQEAKKzIwMTEtMDMt
MTYgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgorCisgICAgICAg
IFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI4MTI0My4KKyAgICAgICAgaHR0cDovL3RyYWMud2Vi
a2l0Lm9yZy9jaGFuZ2VzZXQvODEyNDMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTU2NDcxCisKKyAgICAgICAgQnJlYWtzIEdUSyA2NC1iaXQgRGVidWcg
dGVzdHMgKFJlcXVlc3RlZCBieSBwb2Rpdmlsb3Ygb24KKyAgICAgICAgI3dlYmtpdCkuCisKKyAg
ICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yLmlkbDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5z
cGVjdG9yQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQWdlbnQ6OnNldEZy
b250ZW5kKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQnJvd3NlckRlYnVnZ2VyQWdl
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQnJvd3NlckRlYnVnZ2VyQWdlbnQ6
OnNldEZyb250ZW5kKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckJyb3dzZXJEZWJ1Z2dl
ckFnZW50OjpzZXRBbGxCcm93c2VyQnJlYWtwb2ludHMpOgorICAgICAgICAoV2ViQ29yZTo6SW5z
cGVjdG9yQnJvd3NlckRlYnVnZ2VyQWdlbnQ6Omluc3BlY3RlZFVSTENoYW5nZWQpOgorICAgICAg
ICAoV2ViQ29yZTo6SW5zcGVjdG9yQnJvd3NlckRlYnVnZ2VyQWdlbnQ6OnJlc3RvcmVTdGlja3lC
cmVha3BvaW50KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckJyb3dzZXJEZWJ1Z2dlckFn
ZW50OjpkaXNjYXJkQmluZGluZ3MpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQnJvd3Nl
ckRlYnVnZ2VyQWdlbnQ6OnNldEV2ZW50TGlzdGVuZXJCcmVha3BvaW50KToKKyAgICAgICAgKFdl
YkNvcmU6Okluc3BlY3RvckJyb3dzZXJEZWJ1Z2dlckFnZW50OjpyZW1vdmVFdmVudExpc3RlbmVy
QnJlYWtwb2ludCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JCcm93c2VyRGVidWdnZXJB
Z2VudDo6cGF1c2VPbk5hdGl2ZUV2ZW50SWZOZWVkZWQpOgorICAgICAgICAoV2ViQ29yZTo6SW5z
cGVjdG9yQnJvd3NlckRlYnVnZ2VyQWdlbnQ6OmNsZWFyKToKKyAgICAgICAgKiBpbnNwZWN0b3Iv
SW5zcGVjdG9yQnJvd3NlckRlYnVnZ2VyQWdlbnQuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbjo6ZGlkQ29tbWl0TG9hZEltcGwpOgorICAgICAgICAqIGluc3BlY3Rvci9m
cm9udC1lbmQvQnJlYWtwb2ludE1hbmFnZXIuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQnJl
YWtwb2ludE1hbmFnZXIucHJvdG90eXBlLmNyZWF0ZUV2ZW50TGlzdGVuZXJCcmVha3BvaW50KToK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5CcmVha3BvaW50TWFuYWdlci5wcm90b3R5cGUuX2NyZWF0
ZUV2ZW50TGlzdGVuZXJCcmVha3BvaW50KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5CcmVha3Bv
aW50TWFuYWdlci5wcm90b3R5cGUuc2V0WEhSQnJlYWtwb2ludCk6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuQnJlYWtwb2ludE1hbmFnZXIucHJvdG90eXBlLnJlbW92ZVhIUkJyZWFrcG9pbnQpOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLkJyZWFrcG9pbnRNYW5hZ2VyLnByb3RvdHlwZS5icmVha3Bv
aW50Vmlld0ZvckV2ZW50RGF0YSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQnJlYWtwb2ludE1h
bmFnZXIucHJvdG90eXBlLl9wcm9qZWN0Q2hhbmdlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
QnJlYWtwb2ludE1hbmFnZXIucHJvdG90eXBlLl9zYXZlQnJlYWtwb2ludHMpOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLkJyZWFrcG9pbnRNYW5hZ2VyLnByb3RvdHlwZS5fdmFsaWRhdGVCcmVha3Bv
aW50cyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQnJlYWtwb2ludE1hbmFnZXIucHJvdG90eXBl
Ll9jcmVhdGVET01CcmVha3BvaW50SWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkJyZWFrcG9p
bnRNYW5hZ2VyLnByb3RvdHlwZS5fY3JlYXRlRXZlbnRMaXN0ZW5lckJyZWFrcG9pbnRJZCk6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuRXZlbnRMaXN0ZW5lckJyZWFrcG9pbnQpOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLkV2ZW50TGlzdGVuZXJCcmVha3BvaW50LnByb3RvdHlwZS5fZW5hYmxlKToK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5FdmVudExpc3RlbmVyQnJlYWtwb2ludC5wcm90b3R5cGUu
X2Rpc2FibGUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkV2ZW50TGlzdGVuZXJCcmVha3BvaW50
LnByb3RvdHlwZS5fc2VyaWFsaXplVG9KU09OKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5FdmVu
dExpc3RlbmVyQnJlYWtwb2ludFZpZXcpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkV2ZW50TGlz
dGVuZXJCcmVha3BvaW50Vmlldy5ldmVudE5hbWVGb3JVSSk6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuRXZlbnRMaXN0ZW5lckJyZWFrcG9pbnRWaWV3LnByb3RvdHlwZS5nZXQgZXZlbnROYW1lKToK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5FdmVudExpc3RlbmVyQnJlYWtwb2ludFZpZXcucHJvdG90
eXBlLmNvbXBhcmVUbyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRXZlbnRMaXN0ZW5lckJyZWFr
cG9pbnRWaWV3LnByb3RvdHlwZS5wb3B1bGF0ZUxhYmVsRWxlbWVudCk6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuRXZlbnRMaXN0ZW5lckJyZWFrcG9pbnRWaWV3LnByb3RvdHlwZS5wb3B1bGF0ZVN0
YXR1c01lc3NhZ2VFbGVtZW50KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5FdmVudExpc3RlbmVy
QnJlYWtwb2ludFZpZXcucHJvdG90eXBlLl91aUV2ZW50TmFtZSk6CisgICAgICAgICogaW5zcGVj
dG9yL2Zyb250LWVuZC9CcmVha3BvaW50c1NpZGViYXJQYW5lLmpzOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLlhIUkJyZWFrcG9pbnRzU2lkZWJhclBhbmUucHJvdG90eXBlLl9zZXRCcmVha3BvaW50
KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5YSFJCcmVha3BvaW50c1NpZGViYXJQYW5lLnByb3Rv
dHlwZS5fcmVtb3ZlQnJlYWtwb2ludCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRXZlbnRMaXN0
ZW5lckJyZWFrcG9pbnRzU2lkZWJhclBhbmUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkV2ZW50
TGlzdGVuZXJCcmVha3BvaW50c1NpZGViYXJQYW5lLnByb3RvdHlwZS5fY3JlYXRlQ2F0ZWdvcnkp
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLkV2ZW50TGlzdGVuZXJCcmVha3BvaW50c1NpZGViYXJQ
YW5lLnByb3RvdHlwZS5fY2F0ZWdvcnlDaGVja2JveENsaWNrZWQpOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLkV2ZW50TGlzdGVuZXJCcmVha3BvaW50c1NpZGViYXJQYW5lLnByb3RvdHlwZS5fYnJl
YWtwb2ludENoZWNrYm94Q2xpY2tlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRXZlbnRMaXN0
ZW5lckJyZWFrcG9pbnRzU2lkZWJhclBhbmUucHJvdG90eXBlLl9icmVha3BvaW50QWRkZWQpOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLkV2ZW50TGlzdGVuZXJCcmVha3BvaW50c1NpZGViYXJQYW5l
LnByb3RvdHlwZS5fYnJlYWtwb2ludEhpdFN0YXRlQ2hhbmdlZCk6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuRXZlbnRMaXN0ZW5lckJyZWFrcG9pbnRzU2lkZWJhclBhbmUucHJvdG90eXBlLl9icmVh
a3BvaW50UmVtb3ZlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRXZlbnRMaXN0ZW5lckJyZWFr
cG9pbnRzU2lkZWJhclBhbmUucHJvdG90eXBlLl91cGRhdGVDYXRlZ29yeUNoZWNrYm94KToKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5FdmVudExpc3RlbmVyQnJlYWtwb2ludHNTaWRlYmFyUGFuZS5w
cm90b3R5cGUuX3Byb2plY3RDaGFuZ2VkKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5k
L0NhbGxTdGFja1NpZGViYXJQYW5lLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNhbGxTdGFj
a1NpZGViYXJQYW5lLnByb3RvdHlwZS51cGRhdGUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNh
bGxTdGFja1NpZGViYXJQYW5lLnByb3RvdHlwZS5fc2NyaXB0QnJlYWtwb2ludEhpdCk6CisgICAg
ICAgIChXZWJJbnNwZWN0b3IuQ2FsbFN0YWNrU2lkZWJhclBhbmUucHJvdG90eXBlLl94aHJCcmVh
a3BvaW50SGl0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5DYWxsU3RhY2tTaWRlYmFyUGFuZS5w
cm90b3R5cGUuX25hdGl2ZUJyZWFrcG9pbnRIaXQpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9u
dC1lbmQvU2NyaXB0c1BhbmVsLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNjcmlwdHNQYW5l
bC5wcm90b3R5cGUuX2RlYnVnZ2VyUGF1c2VkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TY3Jp
cHRzUGFuZWwucHJvdG90eXBlLl9jbGVhckludGVyZmFjZSk6CisgICAgICAgICogaW5zcGVjdG9y
L2Zyb250LWVuZC9TZXR0aW5ncy5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TZXR0aW5ncyk6
CisKIDIwMTEtMDMtMTYgIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNvbT4KIAogICAgICAg
ICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3IuaWRsCmluZGV4IDkxOWZhN2IyZmE1ZmVhZGJhZDZmYzhiZDA1YmI5NWQyMjA1YTIyYjMuLmQ0
ZmU0MWE4NGI0MDE2YTA5ZTI2M2UzNWQ3ODQ4MDgyZDM0MDkxNWYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3IuaWRsCkBAIC0yMzksNiArMjM5LDcgQEAgbW9kdWxlIGNvcmUgewog
CiAjaWYgZGVmaW5lZChFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUikgJiYgRU5BQkxFX0pBVkFT
Q1JJUFRfREVCVUdHRVIKICAgICBpbnRlcmZhY2UgW0NvbmRpdGlvbmFsPUlOU1BFQ1RPUl0gQnJv
d3NlckRlYnVnZ2VyIHsKKyAgICAgICAgdm9pZCBzZXRBbGxCcm93c2VyQnJlYWtwb2ludHMoaW4g
T2JqZWN0IGJyZWFrcG9pbnRzKTsKICAgICAgICAgdm9pZCBzZXRET01CcmVha3BvaW50KGluIGxv
bmcgbm9kZUlkLCBpbiBsb25nIHR5cGUpOwogICAgICAgICB2b2lkIHJlbW92ZURPTUJyZWFrcG9p
bnQoaW4gbG9uZyBub2RlSWQsIGluIGxvbmcgdHlwZSk7CiAgICAgICAgIHZvaWQgc2V0RXZlbnRM
aXN0ZW5lckJyZWFrcG9pbnQoaW4gU3RyaW5nIGV2ZW50TmFtZSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckFnZW50LmNwcAppbmRleCBlNmJjNjg1Y2MxZGUzZDkwNGY0Y2Zk
MmQzMmQwY2E3OTBhMDdmYTM5Li41NTY1YzM2MTBlMTA5YzQzY2E4NjZmN2JkMzJjZmQ3NzZlM2Rm
NGEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQWdlbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBZ2VudC5jcHAKQEAg
LTM4NSw2ICszODUsNyBAQCB2b2lkIEluc3BlY3RvckFnZW50OjpzZXRGcm9udGVuZChJbnNwZWN0
b3JGcm9udGVuZCogaW5zcGVjdG9yRnJvbnRlbmQpCiAgICAgbV9yZXNvdXJjZUFnZW50LT5zZXRG
cm9udGVuZChtX2Zyb250ZW5kKTsKICNpZiBFTkFCTEUoSkFWQVNDUklQVF9ERUJVR0dFUikKICAg
ICBtX2RlYnVnZ2VyQWdlbnQtPnNldEZyb250ZW5kKG1fZnJvbnRlbmQpOworICAgIG1fYnJvd3Nl
ckRlYnVnZ2VyQWdlbnQtPnNldEZyb250ZW5kKG1fZnJvbnRlbmQpOwogICAgIG1fcHJvZmlsZXJB
Z2VudC0+c2V0RnJvbnRlbmQobV9mcm9udGVuZCk7CiAjZW5kaWYKICNpZiBFTkFCTEUoREFUQUJB
U0UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQnJvd3Nl
ckRlYnVnZ2VyQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckJy
b3dzZXJEZWJ1Z2dlckFnZW50LmNwcAppbmRleCA0MWE1MjliNGY1ZjgzMGEzYTZjNGZjZjRlZmFj
NjY5ODJjMjgzYTg4Li4wNTM2Y2RkZjYwMmU2NzcxZDg3NTMxYWU2ZWIwNDdhNTk3MDA0OWZiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQnJvd3NlckRlYnVn
Z2VyQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JCcm93
c2VyRGVidWdnZXJBZ2VudC5jcHAKQEAgLTQxLDcgKzQxLDcgQEAKICNpbmNsdWRlICJJbnNwZWN0
b3JTdGF0ZS5oIgogI2luY2x1ZGUgIkluc3BlY3RvclZhbHVlcy5oIgogI2luY2x1ZGUgIkluc3Ry
dW1lbnRpbmdBZ2VudHMuaCIKLSNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdDb25jYXRlbmF0ZS5o
PgorI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KIAogbmFtZXNwYWNlIHsKIApAQCAtNjQs
NyArNjQsNyBAQCBjb25zdCBpbnQgZG9tQnJlYWtwb2ludERlcml2ZWRUeXBlU2hpZnQgPSAxNjsK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogbmFtZXNwYWNlIEJyb3dzZXJEZWJ1Z2dlckFnZW50U3Rh
dGUgewotc3RhdGljIGNvbnN0IGNoYXIgZXZlbnRMaXN0ZW5lckJyZWFrcG9pbnRzW10gPSAiZXZl
bnRMaXN0ZW5lckJyZWFrcG9pbnRzIjsKK3N0YXRpYyBjb25zdCBjaGFyIGJyb3dzZXJCcmVha3Bv
aW50c1tdID0gImJyb3dzZXJCcmVha3BvaW50cyI7CiBzdGF0aWMgY29uc3QgY2hhciBwYXVzZU9u
QWxsWEhSc1tdID0gInBhdXNlT25BbGxYSFJzIjsKIHN0YXRpYyBjb25zdCBjaGFyIHhockJyZWFr
cG9pbnRzW10gPSAieGhyQnJlYWtwb2ludHMiOwogfQpAQCAtMTA3LDM4ICsxMDcsNzUgQEAgdm9p
ZCBJbnNwZWN0b3JCcm93c2VyRGVidWdnZXJBZ2VudDo6ZGlzYWJsZSgpCiAgICAgY2xlYXIoKTsK
IH0KIAordm9pZCBJbnNwZWN0b3JCcm93c2VyRGVidWdnZXJBZ2VudDo6c2V0RnJvbnRlbmQoSW5z
cGVjdG9yRnJvbnRlbmQqKQoreworICAgIC8vIEVyYXNlIHN0aWNreSBicmVha3BvaW50cy4gSWYg
d2UgYXJlIHJlc3RvcmluZyBmcm9tIGEgY29va2llIHNldEZyb250ZW5kIG1zdXQgYmUgY2FsbGVk
CisgICAgLy8gYmVmb3JlIHRoZSBzdGF0ZSBpcyBsb2FkZWQgZnJvbSB0aGUgY29va2llLgorICAg
IG1faW5zcGVjdG9yU3RhdGUtPnNldE9iamVjdChCcm93c2VyRGVidWdnZXJBZ2VudFN0YXRlOjpi
cm93c2VyQnJlYWtwb2ludHMsIEluc3BlY3Rvck9iamVjdDo6Y3JlYXRlKCkpOworfQorCiB2b2lk
IEluc3BlY3RvckJyb3dzZXJEZWJ1Z2dlckFnZW50OjpjbGVhckZyb250ZW5kKCkKIHsKICAgICBk
aXNhYmxlKCk7CiB9CiAKLXZvaWQgSW5zcGVjdG9yQnJvd3NlckRlYnVnZ2VyQWdlbnQ6OmRpc2Nh
cmRCaW5kaW5ncygpCit2b2lkIEluc3BlY3RvckJyb3dzZXJEZWJ1Z2dlckFnZW50OjpzZXRBbGxC
cm93c2VyQnJlYWtwb2ludHMoRXJyb3JTdHJpbmcqLCBQYXNzUmVmUHRyPEluc3BlY3Rvck9iamVj
dD4gYnJlYWtwb2ludHMpCiB7Ci0gICAgbV9kb21CcmVha3BvaW50cy5jbGVhcigpOworICAgIG1f
aW5zcGVjdG9yU3RhdGUtPnNldE9iamVjdChCcm93c2VyRGVidWdnZXJBZ2VudFN0YXRlOjpicm93
c2VyQnJlYWtwb2ludHMsIGJyZWFrcG9pbnRzKTsKKyAgICAvLyBGSVhNRTogcmVtb3ZlIHRoaXMg
Y2FsbCB0byBpbnNwZWN0b3IgYWdlbnQgYW5kIGRlcGVuZGVuY3kgb24gdGhlIGluc3BlY3RvciBh
Z2VudC4KKyAgICBpbnNwZWN0ZWRVUkxDaGFuZ2VkKG1faW5zcGVjdG9yQWdlbnQtPmluc3BlY3Rl
ZFVSTFdpdGhvdXRGcmFnbWVudCgpKTsKIH0KIAotdm9pZCBJbnNwZWN0b3JCcm93c2VyRGVidWdn
ZXJBZ2VudDo6c2V0RXZlbnRMaXN0ZW5lckJyZWFrcG9pbnQoRXJyb3JTdHJpbmcqIGVycm9yLCBj
b25zdCBTdHJpbmcmIGV2ZW50TmFtZSkKK3ZvaWQgSW5zcGVjdG9yQnJvd3NlckRlYnVnZ2VyQWdl
bnQ6Omluc3BlY3RlZFVSTENoYW5nZWQoY29uc3QgU3RyaW5nJiB1cmwpCiB7Ci0gICAgaWYgKGV2
ZW50TmFtZS5pc0VtcHR5KCkpIHsKLSAgICAgICAgKmVycm9yID0gIkV2ZW50IG5hbWUgaXMgZW1w
dHkiOwotICAgICAgICByZXR1cm47Ci0gICAgfQorICAgIG1fZXZlbnRMaXN0ZW5lckJyZWFrcG9p
bnRzLmNsZWFyKCk7CiAKLSAgICBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBldmVudExpc3RlbmVy
QnJlYWtwb2ludHMgPSBtX2luc3BlY3RvclN0YXRlLT5nZXRPYmplY3QoQnJvd3NlckRlYnVnZ2Vy
QWdlbnRTdGF0ZTo6ZXZlbnRMaXN0ZW5lckJyZWFrcG9pbnRzKTsKLSAgICBldmVudExpc3RlbmVy
QnJlYWtwb2ludHMtPnNldEJvb2xlYW4oZXZlbnROYW1lLCB0cnVlKTsKLSAgICBtX2luc3BlY3Rv
clN0YXRlLT5zZXRPYmplY3QoQnJvd3NlckRlYnVnZ2VyQWdlbnRTdGF0ZTo6ZXZlbnRMaXN0ZW5l
ckJyZWFrcG9pbnRzLCBldmVudExpc3RlbmVyQnJlYWtwb2ludHMpOworICAgIFJlZlB0cjxJbnNw
ZWN0b3JPYmplY3Q+IGFsbEJyZWFrcG9pbnRzID0gbV9pbnNwZWN0b3JTdGF0ZS0+Z2V0T2JqZWN0
KEJyb3dzZXJEZWJ1Z2dlckFnZW50U3RhdGU6OmJyb3dzZXJCcmVha3BvaW50cyk7CisgICAgUmVm
UHRyPEluc3BlY3RvckFycmF5PiBicmVha3BvaW50cyA9IGFsbEJyZWFrcG9pbnRzLT5nZXRBcnJh
eSh1cmwpOworICAgIGlmICghYnJlYWtwb2ludHMpCisgICAgICAgIHJldHVybjsKKyAgICBmb3Ig
KHVuc2lnbmVkIGkgPSAwOyBpIDwgYnJlYWtwb2ludHMtPmxlbmd0aCgpOyArK2kpCisgICAgICAg
IHJlc3RvcmVTdGlja3lCcmVha3BvaW50KGJyZWFrcG9pbnRzLT5nZXQoaSktPmFzT2JqZWN0KCkp
OwogfQogCi12b2lkIEluc3BlY3RvckJyb3dzZXJEZWJ1Z2dlckFnZW50OjpyZW1vdmVFdmVudExp
c3RlbmVyQnJlYWtwb2ludChFcnJvclN0cmluZyogZXJyb3IsIGNvbnN0IFN0cmluZyYgZXZlbnRO
YW1lKQordm9pZCBJbnNwZWN0b3JCcm93c2VyRGVidWdnZXJBZ2VudDo6cmVzdG9yZVN0aWNreUJy
ZWFrcG9pbnQoUGFzc1JlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IGJyZWFrcG9pbnQpCiB7Ci0gICAg
aWYgKGV2ZW50TmFtZS5pc0VtcHR5KCkpIHsKLSAgICAgICAgKmVycm9yID0gIkV2ZW50IG5hbWUg
aXMgZW1wdHkiOworICAgIGlmICghYnJlYWtwb2ludCkKKyAgICAgICAgcmV0dXJuOworICAgIFN0
cmluZyB0eXBlOworICAgIGlmICghYnJlYWtwb2ludC0+Z2V0U3RyaW5nKCJ0eXBlIiwgJnR5cGUp
KQorICAgICAgICByZXR1cm47CisgICAgYm9vbCBlbmFibGVkOworICAgIGlmICghYnJlYWtwb2lu
dC0+Z2V0Qm9vbGVhbigiZW5hYmxlZCIsICZlbmFibGVkKSkKKyAgICAgICAgcmV0dXJuOworICAg
IFJlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IGNvbmRpdGlvbiA9IGJyZWFrcG9pbnQtPmdldE9iamVj
dCgiY29uZGl0aW9uIik7CisgICAgaWYgKCFjb25kaXRpb24pCiAgICAgICAgIHJldHVybjsKKwor
ICAgIEVycm9yU3RyaW5nIGVycm9yOworICAgIGlmICh0eXBlID09IGV2ZW50TGlzdGVuZXJOYXRp
dmVCcmVha3BvaW50VHlwZSkgeworICAgICAgICBpZiAoIWVuYWJsZWQpCisgICAgICAgICAgICBy
ZXR1cm47CisgICAgICAgIFN0cmluZyBldmVudE5hbWU7CisgICAgICAgIGlmICghY29uZGl0aW9u
LT5nZXRTdHJpbmcoImV2ZW50TmFtZSIsICZldmVudE5hbWUpKQorICAgICAgICAgICAgcmV0dXJu
OworICAgICAgICBzZXRFdmVudExpc3RlbmVyQnJlYWtwb2ludCgmZXJyb3IsIGV2ZW50TmFtZSk7
CiAgICAgfQorfQogCi0gICAgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gZXZlbnRMaXN0ZW5lckJy
ZWFrcG9pbnRzID0gbV9pbnNwZWN0b3JTdGF0ZS0+Z2V0T2JqZWN0KEJyb3dzZXJEZWJ1Z2dlckFn
ZW50U3RhdGU6OmV2ZW50TGlzdGVuZXJCcmVha3BvaW50cyk7Ci0gICAgZXZlbnRMaXN0ZW5lckJy
ZWFrcG9pbnRzLT5yZW1vdmUoZXZlbnROYW1lKTsKLSAgICBtX2luc3BlY3RvclN0YXRlLT5zZXRP
YmplY3QoQnJvd3NlckRlYnVnZ2VyQWdlbnRTdGF0ZTo6ZXZlbnRMaXN0ZW5lckJyZWFrcG9pbnRz
LCBldmVudExpc3RlbmVyQnJlYWtwb2ludHMpOwordm9pZCBJbnNwZWN0b3JCcm93c2VyRGVidWdn
ZXJBZ2VudDo6ZGlzY2FyZEJpbmRpbmdzKCkKK3sKKyAgICBtX2RvbUJyZWFrcG9pbnRzLmNsZWFy
KCk7Cit9CisKK3ZvaWQgSW5zcGVjdG9yQnJvd3NlckRlYnVnZ2VyQWdlbnQ6OnNldEV2ZW50TGlz
dGVuZXJCcmVha3BvaW50KEVycm9yU3RyaW5nKiwgY29uc3QgU3RyaW5nJiBldmVudE5hbWUpCit7
CisgICAgbV9ldmVudExpc3RlbmVyQnJlYWtwb2ludHMuYWRkKGV2ZW50TmFtZSk7Cit9CisKK3Zv
aWQgSW5zcGVjdG9yQnJvd3NlckRlYnVnZ2VyQWdlbnQ6OnJlbW92ZUV2ZW50TGlzdGVuZXJCcmVh
a3BvaW50KEVycm9yU3RyaW5nKiwgY29uc3QgU3RyaW5nJiBldmVudE5hbWUpCit7CisgICAgbV9l
dmVudExpc3RlbmVyQnJlYWtwb2ludHMucmVtb3ZlKGV2ZW50TmFtZSk7CiB9CiAKIHZvaWQgSW5z
cGVjdG9yQnJvd3NlckRlYnVnZ2VyQWdlbnQ6OmRpZEluc2VydERPTU5vZGUoTm9kZSogbm9kZSkK
QEAgLTMxMCw5ICszNDcsOCBAQCB2b2lkIEluc3BlY3RvckJyb3dzZXJEZWJ1Z2dlckFnZW50Ojpw
YXVzZU9uTmF0aXZlRXZlbnRJZk5lZWRlZChjb25zdCBTdHJpbmcmIGNhdAogICAgIGlmICghZGVi
dWdnZXJBZ2VudCkKICAgICAgICAgcmV0dXJuOwogCi0gICAgU3RyaW5nIGZ1bGxFdmVudE5hbWUg
PSBtYWtlU3RyaW5nKGNhdGVnb3J5VHlwZSwgIjoiLCBldmVudE5hbWUpOwotICAgIFJlZlB0cjxJ
bnNwZWN0b3JPYmplY3Q+IGV2ZW50TGlzdGVuZXJCcmVha3BvaW50cyA9IG1faW5zcGVjdG9yU3Rh
dGUtPmdldE9iamVjdChCcm93c2VyRGVidWdnZXJBZ2VudFN0YXRlOjpldmVudExpc3RlbmVyQnJl
YWtwb2ludHMpOwotICAgIGlmIChldmVudExpc3RlbmVyQnJlYWtwb2ludHMtPmZpbmQoZnVsbEV2
ZW50TmFtZSkgPT0gZXZlbnRMaXN0ZW5lckJyZWFrcG9pbnRzLT5lbmQoKSkKKyAgICBTdHJpbmcg
ZnVsbEV2ZW50TmFtZSA9IFN0cmluZzo6Zm9ybWF0KCIlczolcyIsIGNhdGVnb3J5VHlwZS51dGY4
KCkuZGF0YSgpLCBldmVudE5hbWUudXRmOCgpLmRhdGEoKSk7CisgICAgaWYgKCFtX2V2ZW50TGlz
dGVuZXJCcmVha3BvaW50cy5jb250YWlucyhmdWxsRXZlbnROYW1lKSkKICAgICAgICAgcmV0dXJu
OwogCiAgICAgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gZXZlbnREYXRhID0gSW5zcGVjdG9yT2Jq
ZWN0OjpjcmVhdGUoKTsKQEAgLTM4MCw2ICs0MTYsNyBAQCB2b2lkIEluc3BlY3RvckJyb3dzZXJE
ZWJ1Z2dlckFnZW50Ojp3aWxsU2VuZFhNTEh0dHBSZXF1ZXN0KGNvbnN0IFN0cmluZyYgdXJsKQog
dm9pZCBJbnNwZWN0b3JCcm93c2VyRGVidWdnZXJBZ2VudDo6Y2xlYXIoKQogewogICAgIG1fZG9t
QnJlYWtwb2ludHMuY2xlYXIoKTsKKyAgICBtX2V2ZW50TGlzdGVuZXJCcmVha3BvaW50cy5jbGVh
cigpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQnJvd3NlckRlYnVnZ2VyQWdlbnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JCcm93c2VyRGVidWdnZXJBZ2VudC5oCmluZGV4IGRj
MGEwNDAyMGU0MWMwYTAyNWU1ZGQwYjhhODgxMGY3ODVmYWIzODYuLjdmZDJmNTBmYzFhNjlkNjdk
MDQyMmVhYTcyNTU5YzcyYzcxYmNhMzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JCcm93c2VyRGVidWdnZXJBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JCcm93c2VyRGVidWdnZXJBZ2VudC5oCkBAIC0zNiw4ICszNiwx
MCBAQAogI2luY2x1ZGUgIkluc3BlY3RvckRlYnVnZ2VyQWdlbnQuaCIKICNpbmNsdWRlICJQbGF0
Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CisjaW5jbHVkZSA8d3RmL0hh
c2hTZXQuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZD
b3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKQEAgLTYwLDggKzYyLDEyIEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgfklu
c3BlY3RvckJyb3dzZXJEZWJ1Z2dlckFnZW50KCk7CiAKKyAgICB2b2lkIHNldEZyb250ZW5kKElu
c3BlY3RvckZyb250ZW5kKik7CiAgICAgdm9pZCBjbGVhckZyb250ZW5kKCk7CiAKKyAgICB2b2lk
IHNldEFsbEJyb3dzZXJCcmVha3BvaW50cyhFcnJvclN0cmluZyogZXJyb3IsIFBhc3NSZWZQdHI8
SW5zcGVjdG9yT2JqZWN0Pik7CisgICAgdm9pZCBpbnNwZWN0ZWRVUkxDaGFuZ2VkKGNvbnN0IFN0
cmluZyYgdXJsKTsKKwogICAgIC8vIEJyb3dzZXJEZWJ1Z2dlciBBUEkgZm9yIEluc3BlY3RvckZy
b250ZW5kCiAgICAgdm9pZCBzZXRYSFJCcmVha3BvaW50KEVycm9yU3RyaW5nKiBlcnJvciwgY29u
c3QgU3RyaW5nJiB1cmwpOwogICAgIHZvaWQgcmVtb3ZlWEhSQnJlYWtwb2ludChFcnJvclN0cmlu
ZyogZXJyb3IsIGNvbnN0IFN0cmluZyYgdXJsKTsKQEAgLTg3LDYgKzkzLDggQEAgcHJpdmF0ZToK
ICAgICB2aXJ0dWFsIHZvaWQgZGVidWdnZXJXYXNEaXNhYmxlZCgpOwogICAgIHZvaWQgZGlzYWJs
ZSgpOwogCisgICAgdm9pZCByZXN0b3JlU3RpY2t5QnJlYWtwb2ludChQYXNzUmVmUHRyPEluc3Bl
Y3Rvck9iamVjdD4gYnJlYWtwb2ludCk7CisKICAgICB2b2lkIGRlc2NyaXB0aW9uRm9yRE9NRXZl
bnQoTm9kZSogdGFyZ2V0LCBsb25nIGJyZWFrcG9pbnRUeXBlLCBib29sIGluc2VydGlvbiwgSW5z
cGVjdG9yT2JqZWN0KiBkZXNjcmlwdGlvbik7CiAgICAgdm9pZCB1cGRhdGVTdWJ0cmVlQnJlYWtw
b2ludHMoTm9kZSosIHVpbnQzMl90IHJvb3RNYXNrLCBib29sIHNldCk7CiAgICAgYm9vbCBoYXNC
cmVha3BvaW50KE5vZGUqLCBsb25nIHR5cGUpOwpAQCAtMTAwLDYgKzEwOCw3IEBAIHByaXZhdGU6
CiAgICAgSW5zcGVjdG9yRGVidWdnZXJBZ2VudCogbV9kZWJ1Z2dlckFnZW50OwogICAgIEluc3Bl
Y3RvckFnZW50KiBtX2luc3BlY3RvckFnZW50OwogICAgIEhhc2hNYXA8Tm9kZSosIHVpbnQzMl90
PiBtX2RvbUJyZWFrcG9pbnRzOworICAgIEhhc2hTZXQ8U3RyaW5nPiBtX2V2ZW50TGlzdGVuZXJC
cmVha3BvaW50czsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAKaW5kZXgg
YTdhZjJlOTAzNDZmYzQ0M2UwMzc3ZWYwNzJjYWU0NDM4ZTdjNTNiOC4uNGEyZjIwMzg0ZTkxM2M3
YzE0OTE0OTllNWJhYjhhYmQ4NDcxNzBiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAKQEAgLTUzMCw2ICs1MzAsOCBA
QCB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkQ29tbWl0TG9hZEltcGwoUGFnZSog
cGFnZSwgSW5zcGVjdG9yQWdlbnQqIGlucwogICAgIGlmIChJbnNwZWN0b3JEZWJ1Z2dlckFnZW50
KiBkZWJ1Z2dlckFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yRGVidWdnZXJB
Z2VudCgpKSB7CiAgICAgICAgIEtVUkwgdXJsID0gaW5zcGVjdG9yQWdlbnQtPmluc3BlY3RlZFVS
TFdpdGhvdXRGcmFnbWVudCgpOwogICAgICAgICBkZWJ1Z2dlckFnZW50LT5pbnNwZWN0ZWRVUkxD
aGFuZ2VkKHVybCk7CisgICAgICAgIGlmIChJbnNwZWN0b3JCcm93c2VyRGVidWdnZXJBZ2VudCog
YnJvd3NlckRlYnVnZ2VyQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JCcm93
c2VyRGVidWdnZXJBZ2VudCgpKQorICAgICAgICAgICAgYnJvd3NlckRlYnVnZ2VyQWdlbnQtPmlu
c3BlY3RlZFVSTENoYW5nZWQodXJsKTsKICAgICB9CiAjZW5kaWYKICNpZiBFTkFCTEUoSkFWQVND
UklQVF9ERUJVR0dFUikgJiYgVVNFKEpTQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvQnJlYWtwb2ludE1hbmFnZXIuanMgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL0JyZWFrcG9pbnRNYW5hZ2VyLmpzCmluZGV4IDc2MzQ4ZmZlM2Vh
MzBjMGI5ZGQyYWQzNzNhMjdiYWM3NTU2YzQ5NjQuLjY3YWNlNmJhMWNlZDVhODQ4MWQyODgxMzQ4
MmM5Y2FiMTIyNjdjZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvQnJlYWtwb2ludE1hbmFnZXIuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9CcmVha3BvaW50TWFuYWdlci5qcwpAQCAtNTEsNiArNTEsNyBAQCBXZWJJbnNw
ZWN0b3IuQnJlYWtwb2ludE1hbmFnZXIuQnJlYWtwb2ludFR5cGVzID0gewogCiBXZWJJbnNwZWN0
b3IuQnJlYWtwb2ludE1hbmFnZXIuRXZlbnRzID0gewogICAgIERPTUJyZWFrcG9pbnRBZGRlZDog
ImRvbS1icmVha3BvaW50LWFkZGVkIiwKKyAgICBFdmVudExpc3RlbmVyQnJlYWtwb2ludEFkZGVk
OiAiZXZlbnQtbGlzdGVuZXItYnJlYWtwb2ludC1hZGRlZCIsCiAgICAgUHJvamVjdENoYW5nZWQ6
ICJwcm9qZWN0LWNoYW5nZWQiCiB9CiAKQEAgLTc5LDYgKzgwLDM0IEBAIFdlYkluc3BlY3Rvci5C
cmVha3BvaW50TWFuYWdlci5wcm90b3R5cGUgPSB7CiAgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVu
dFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rvci5CcmVha3BvaW50TWFuYWdlci5FdmVudHMuRE9NQnJl
YWtwb2ludEFkZGVkLCBicmVha3BvaW50LnZpZXcpOwogICAgIH0sCiAKKyAgICBjcmVhdGVFdmVu
dExpc3RlbmVyQnJlYWtwb2ludDogZnVuY3Rpb24oZXZlbnROYW1lKQorICAgIHsKKyAgICAgICAg
dGhpcy5fY3JlYXRlRXZlbnRMaXN0ZW5lckJyZWFrcG9pbnQoZXZlbnROYW1lLCB0cnVlLCBmYWxz
ZSk7CisgICAgfSwKKworICAgIF9jcmVhdGVFdmVudExpc3RlbmVyQnJlYWtwb2ludDogZnVuY3Rp
b24oZXZlbnROYW1lLCBlbmFibGVkLCByZXN0b3JlZCkKKyAgICB7CisgICAgICAgIHZhciBicmVh
a3BvaW50SWQgPSB0aGlzLl9jcmVhdGVFdmVudExpc3RlbmVyQnJlYWtwb2ludElkKGV2ZW50TmFt
ZSk7CisgICAgICAgIGlmIChicmVha3BvaW50SWQgaW4gdGhpcy5fYnJlYWtwb2ludHMpCisgICAg
ICAgICAgICByZXR1cm47CisKKyAgICAgICAgdmFyIGJyZWFrcG9pbnQgPSBuZXcgV2ViSW5zcGVj
dG9yLkV2ZW50TGlzdGVuZXJCcmVha3BvaW50KGV2ZW50TmFtZSk7CisgICAgICAgIHRoaXMuX3Nl
dEJyZWFrcG9pbnQoYnJlYWtwb2ludElkLCBicmVha3BvaW50LCBlbmFibGVkLCByZXN0b3JlZCk7
CisKKyAgICAgICAgYnJlYWtwb2ludC52aWV3ID0gbmV3IFdlYkluc3BlY3Rvci5FdmVudExpc3Rl
bmVyQnJlYWtwb2ludFZpZXcodGhpcywgYnJlYWtwb2ludElkLCBlbmFibGVkLCBldmVudE5hbWUp
OworICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXZWJJbnNwZWN0b3IuQnJl
YWtwb2ludE1hbmFnZXIuRXZlbnRzLkV2ZW50TGlzdGVuZXJCcmVha3BvaW50QWRkZWQsIGJyZWFr
cG9pbnQudmlldyk7CisgICAgfSwKKworICAgIHNldFhIUkJyZWFrcG9pbnQ6IGZ1bmN0aW9uKHVy
bCkKKyAgICB7CisgICAgICAgIEJyb3dzZXJEZWJ1Z2dlckFnZW50LnNldFhIUkJyZWFrcG9pbnQo
dXJsKTsKKyAgICB9LAorCisgICAgcmVtb3ZlWEhSQnJlYWtwb2ludDogZnVuY3Rpb24odXJsKQor
ICAgIHsKKyAgICAgICAgQnJvd3NlckRlYnVnZ2VyQWdlbnQucmVtb3ZlWEhSQnJlYWtwb2ludCh1
cmwpOworICAgIH0sCisKICAgICBfc2V0QnJlYWtwb2ludDogZnVuY3Rpb24oYnJlYWtwb2ludElk
LCBicmVha3BvaW50LCBlbmFibGVkLCByZXN0b3JlZCkKICAgICB7CiAgICAgICAgIHRoaXMuX2Jy
ZWFrcG9pbnRzW2JyZWFrcG9pbnRJZF0gPSBicmVha3BvaW50OwpAQCAtMTE3LDYgKzE0Niw4IEBA
IFdlYkluc3BlY3Rvci5CcmVha3BvaW50TWFuYWdlci5wcm90b3R5cGUgPSB7CiAgICAgICAgIHZh
ciBicmVha3BvaW50SWQ7CiAgICAgICAgIGlmIChldmVudERhdGEuYnJlYWtwb2ludFR5cGUgPT09
IFdlYkluc3BlY3Rvci5CcmVha3BvaW50TWFuYWdlci5CcmVha3BvaW50VHlwZXMuRE9NKQogICAg
ICAgICAgICAgYnJlYWtwb2ludElkID0gdGhpcy5fY3JlYXRlRE9NQnJlYWtwb2ludElkKGV2ZW50
RGF0YS5ub2RlSWQsIGV2ZW50RGF0YS50eXBlKTsKKyAgICAgICAgZWxzZSBpZiAoZXZlbnREYXRh
LmJyZWFrcG9pbnRUeXBlID09PSBXZWJJbnNwZWN0b3IuQnJlYWtwb2ludE1hbmFnZXIuQnJlYWtw
b2ludFR5cGVzLkV2ZW50TGlzdGVuZXIpCisgICAgICAgICAgICBicmVha3BvaW50SWQgPSB0aGlz
Ll9jcmVhdGVFdmVudExpc3RlbmVyQnJlYWtwb2ludElkKGV2ZW50RGF0YS5ldmVudE5hbWUpOwog
ICAgICAgICBlbHNlCiAgICAgICAgICAgICByZXR1cm47CiAKQEAgLTE1NCw2ICsxODUsMTggQEAg
V2ViSW5zcGVjdG9yLkJyZWFrcG9pbnRNYW5hZ2VyLnByb3RvdHlwZSA9IHsKICAgICAgICAgdGhp
cy5fYnJlYWtwb2ludHMgPSB7fTsKICAgICAgICAgdGhpcy5fZG9tQnJlYWtwb2ludHNSZXN0b3Jl
ZCA9IGZhbHNlOwogICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXZWJJbnNw
ZWN0b3IuQnJlYWtwb2ludE1hbmFnZXIuRXZlbnRzLlByb2plY3RDaGFuZ2VkKTsKKworICAgICAg
ICB2YXIgYnJlYWtwb2ludHMgPSB0aGlzLl9zdGlja3lCcmVha3BvaW50c1tXZWJJbnNwZWN0b3Iu
c2V0dGluZ3MucHJvamVjdElkXSB8fCBbXTsKKyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBi
cmVha3BvaW50cy5sZW5ndGg7ICsraSkgeworICAgICAgICAgICAgdmFyIGJyZWFrcG9pbnQgPSBi
cmVha3BvaW50c1tpXTsKKyAgICAgICAgICAgIGlmIChicmVha3BvaW50LnR5cGUgPT09IFdlYklu
c3BlY3Rvci5CcmVha3BvaW50TWFuYWdlci5CcmVha3BvaW50VHlwZXMuRXZlbnRMaXN0ZW5lcikK
KyAgICAgICAgICAgICAgICB0aGlzLl9jcmVhdGVFdmVudExpc3RlbmVyQnJlYWtwb2ludChicmVh
a3BvaW50LmNvbmRpdGlvbi5ldmVudE5hbWUsIGJyZWFrcG9pbnQuZW5hYmxlZCwgdHJ1ZSk7Cisg
ICAgICAgIH0KKworICAgICAgICBpZiAoIXRoaXMuX2JyZWFrcG9pbnRzUHVzaGVkVG9Gcm9udGVu
ZCkgeworICAgICAgICAgICAgQnJvd3NlckRlYnVnZ2VyQWdlbnQuc2V0QWxsQnJvd3NlckJyZWFr
cG9pbnRzKHRoaXMuX3N0aWNreUJyZWFrcG9pbnRzKTsKKyAgICAgICAgICAgIHRoaXMuX2JyZWFr
cG9pbnRzUHVzaGVkVG9Gcm9udGVuZCA9IHRydWU7CisgICAgICAgIH0KICAgICB9LAogCiAgICAg
cmVzdG9yZURPTUJyZWFrcG9pbnRzOiBmdW5jdGlvbigpCkBAIC0yMTUsNiArMjU4LDcgQEAgV2Vi
SW5zcGVjdG9yLkJyZWFrcG9pbnRNYW5hZ2VyLnByb3RvdHlwZSA9IHsKICAgICAgICAgV2ViSW5z
cGVjdG9yLnNldHRpbmdzLm5hdGl2ZUJyZWFrcG9pbnRzID0gYnJlYWtwb2ludHM7CiAKICAgICAg
ICAgdGhpcy5fc3RpY2t5QnJlYWtwb2ludHNbV2ViSW5zcGVjdG9yLnNldHRpbmdzLnByb2plY3RJ
ZF0gPSBicmVha3BvaW50czsKKyAgICAgICAgQnJvd3NlckRlYnVnZ2VyQWdlbnQuc2V0QWxsQnJv
d3NlckJyZWFrcG9pbnRzKHRoaXMuX3N0aWNreUJyZWFrcG9pbnRzKTsKICAgICB9LAogCiAgICAg
X3ZhbGlkYXRlQnJlYWtwb2ludHM6IGZ1bmN0aW9uKHBlcnNpc3RlbnRCcmVha3BvaW50cykKQEAg
LTIzMSw2ICsyNzUsMTAgQEAgV2ViSW5zcGVjdG9yLkJyZWFrcG9pbnRNYW5hZ2VyLnByb3RvdHlw
ZSA9IHsKICAgICAgICAgICAgICAgICBpZiAodHlwZW9mIGNvbmRpdGlvbi5wYXRoICE9PSAic3Ry
aW5nIiB8fCB0eXBlb2YgY29uZGl0aW9uLnR5cGUgIT09ICJudW1iZXIiKQogICAgICAgICAgICAg
ICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgICAgICBpZCArPSBjb25kaXRpb24ucGF0aCAr
ICI6IiArIGNvbmRpdGlvbi50eXBlOworICAgICAgICAgICAgfSBlbHNlIGlmIChicmVha3BvaW50
LnR5cGUgPT09IFdlYkluc3BlY3Rvci5CcmVha3BvaW50TWFuYWdlci5CcmVha3BvaW50VHlwZXMu
RXZlbnRMaXN0ZW5lcikgeworICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgY29uZGl0aW9uLmV2
ZW50TmFtZSAhPT0gInN0cmluZyIpCisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAg
ICAgICAgICAgICAgIGlkICs9IGNvbmRpdGlvbi5ldmVudE5hbWU7CiAgICAgICAgICAgICB9IGVs
c2UKICAgICAgICAgICAgICAgICBjb250aW51ZTsKIApAQCAtMjQ1LDYgKzI5MywxMSBAQCBXZWJJ
bnNwZWN0b3IuQnJlYWtwb2ludE1hbmFnZXIucHJvdG90eXBlID0gewogICAgIF9jcmVhdGVET01C
cmVha3BvaW50SWQ6IGZ1bmN0aW9uKG5vZGVJZCwgdHlwZSkKICAgICB7CiAgICAgICAgIHJldHVy
biAiZG9tOiIgKyBub2RlSWQgKyAiOiIgKyB0eXBlOworICAgIH0sCisKKyAgICBfY3JlYXRlRXZl
bnRMaXN0ZW5lckJyZWFrcG9pbnRJZDogZnVuY3Rpb24oZXZlbnROYW1lKQorICAgIHsKKyAgICAg
ICAgcmV0dXJuICJldmVudExpc3RuZXI6IiArIGV2ZW50TmFtZTsKICAgICB9CiB9CiAKQEAgLTI3
NSw2ICszMjgsMzAgQEAgV2ViSW5zcGVjdG9yLkRPTUJyZWFrcG9pbnQucHJvdG90eXBlID0gewog
ICAgIH0KIH0KIAorV2ViSW5zcGVjdG9yLkV2ZW50TGlzdGVuZXJCcmVha3BvaW50ID0gZnVuY3Rp
b24oZXZlbnROYW1lKQoreworICAgIHRoaXMuX2V2ZW50TmFtZSA9IGV2ZW50TmFtZTsKK30KKwor
V2ViSW5zcGVjdG9yLkV2ZW50TGlzdGVuZXJCcmVha3BvaW50LnByb3RvdHlwZSA9IHsKKyAgICBf
ZW5hYmxlOiBmdW5jdGlvbigpCisgICAgeworICAgICAgICBCcm93c2VyRGVidWdnZXJBZ2VudC5z
ZXRFdmVudExpc3RlbmVyQnJlYWtwb2ludCh0aGlzLl9ldmVudE5hbWUpOworICAgIH0sCisKKyAg
ICBfZGlzYWJsZTogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgQnJvd3NlckRlYnVnZ2VyQWdl
bnQucmVtb3ZlRXZlbnRMaXN0ZW5lckJyZWFrcG9pbnQodGhpcy5fZXZlbnROYW1lKTsKKyAgICB9
LAorCisgICAgX3NlcmlhbGl6ZVRvSlNPTjogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgdmFy
IHR5cGUgPSBXZWJJbnNwZWN0b3IuQnJlYWtwb2ludE1hbmFnZXIuQnJlYWtwb2ludFR5cGVzLkV2
ZW50TGlzdGVuZXI7CisgICAgICAgIHJldHVybiB7IHR5cGU6IHR5cGUsIGNvbmRpdGlvbjogeyBl
dmVudE5hbWU6IHRoaXMuX2V2ZW50TmFtZSB9IH07CisgICAgfQorfQorCisKIFdlYkluc3BlY3Rv
ci5OYXRpdmVCcmVha3BvaW50VmlldyA9IGZ1bmN0aW9uKG1hbmFnZXIsIGlkLCBlbmFibGVkKQog
ewogICAgIHRoaXMuX21hbmFnZXIgPSBtYW5hZ2VyOwpAQCAtNDA4LDYgKzQ4NSw1NCBAQCBXZWJJ
bnNwZWN0b3IuRE9NQnJlYWtwb2ludFZpZXcucHJvdG90eXBlID0gewogCiBXZWJJbnNwZWN0b3Iu
RE9NQnJlYWtwb2ludFZpZXcucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5OYXRp
dmVCcmVha3BvaW50Vmlldy5wcm90b3R5cGU7CiAKK1dlYkluc3BlY3Rvci5FdmVudExpc3RlbmVy
QnJlYWtwb2ludFZpZXcgPSBmdW5jdGlvbihtYW5hZ2VyLCBpZCwgZW5hYmxlZCwgZXZlbnROYW1l
KQoreworICAgIFdlYkluc3BlY3Rvci5OYXRpdmVCcmVha3BvaW50Vmlldy5jYWxsKHRoaXMsIG1h
bmFnZXIsIGlkLCBlbmFibGVkKTsKKyAgICB0aGlzLl9ldmVudE5hbWUgPSBldmVudE5hbWU7Cit9
CisKK1dlYkluc3BlY3Rvci5FdmVudExpc3RlbmVyQnJlYWtwb2ludFZpZXcuZXZlbnROYW1lRm9y
VUkgPSBmdW5jdGlvbihldmVudE5hbWUpCit7CisgICAgaWYgKCFXZWJJbnNwZWN0b3IuRXZlbnRM
aXN0ZW5lckJyZWFrcG9pbnRWaWV3Ll9ldmVudE5hbWVzRm9yVUkpIHsKKyAgICAgICAgV2ViSW5z
cGVjdG9yLkV2ZW50TGlzdGVuZXJCcmVha3BvaW50Vmlldy5fZXZlbnROYW1lc0ZvclVJID0gewor
ICAgICAgICAgICAgImluc3RydW1lbnRhdGlvbjpzZXRUaW1lciI6IFdlYkluc3BlY3Rvci5VSVN0
cmluZygiU2V0IFRpbWVyIiksCisgICAgICAgICAgICAiaW5zdHJ1bWVudGF0aW9uOmNsZWFyVGlt
ZXIiOiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkNsZWFyIFRpbWVyIiksCisgICAgICAgICAgICAi
aW5zdHJ1bWVudGF0aW9uOnRpbWVyRmlyZWQiOiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlRpbWVy
IEZpcmVkIikKKyAgICAgICAgfTsKKyAgICB9CisgICAgcmV0dXJuIFdlYkluc3BlY3Rvci5FdmVu
dExpc3RlbmVyQnJlYWtwb2ludFZpZXcuX2V2ZW50TmFtZXNGb3JVSVtldmVudE5hbWVdIHx8IGV2
ZW50TmFtZS5zdWJzdHJpbmcoZXZlbnROYW1lLmluZGV4T2YoIjoiKSArIDEpOworfQorCitXZWJJ
bnNwZWN0b3IuRXZlbnRMaXN0ZW5lckJyZWFrcG9pbnRWaWV3LnByb3RvdHlwZSA9IHsKKyAgICBn
ZXQgZXZlbnROYW1lKCkKKyAgICB7CisgICAgICAgIHJldHVybiB0aGlzLl9ldmVudE5hbWU7Cisg
ICAgfSwKKworICAgIGNvbXBhcmVUbzogZnVuY3Rpb24ob3RoZXIpCisgICAgeworICAgICAgICBy
ZXR1cm4gdGhpcy5fY29tcGFyZSh0aGlzLl9ldmVudE5hbWUsIG90aGVyLl9ldmVudE5hbWUpOwor
ICAgIH0sCisKKyAgICBwb3B1bGF0ZUxhYmVsRWxlbWVudDogZnVuY3Rpb24oZWxlbWVudCkKKyAg
ICB7CisgICAgICAgIGVsZW1lbnQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUo
dGhpcy5fdWlFdmVudE5hbWUoKSkpOworICAgIH0sCisKKyAgICBwb3B1bGF0ZVN0YXR1c01lc3Nh
Z2VFbGVtZW50OiBmdW5jdGlvbihlbGVtZW50LCBldmVudERhdGEpCisgICAgeworICAgICAgICB2
YXIgc3RhdHVzID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJQYXVzZWQgb24gYSBcIiVzXCIgRXZl
bnQgTGlzdGVuZXIuIiwgdGhpcy5fdWlFdmVudE5hbWUoKSk7CisgICAgICAgIGVsZW1lbnQuYXBw
ZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoc3RhdHVzKSk7CisgICAgfSwKKworICAg
IF91aUV2ZW50TmFtZTogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgcmV0dXJuIFdlYkluc3Bl
Y3Rvci5FdmVudExpc3RlbmVyQnJlYWtwb2ludFZpZXcuZXZlbnROYW1lRm9yVUkodGhpcy5fZXZl
bnROYW1lKTsKKyAgICB9Cit9CisKK1dlYkluc3BlY3Rvci5FdmVudExpc3RlbmVyQnJlYWtwb2lu
dFZpZXcucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5OYXRpdmVCcmVha3BvaW50
Vmlldy5wcm90b3R5cGU7CisKIFdlYkluc3BlY3Rvci5ET01CcmVha3BvaW50VHlwZXMgPSB7CiAg
ICAgU3VidHJlZU1vZGlmaWVkOiAwLAogICAgIEF0dHJpYnV0ZU1vZGlmaWVkOiAxLApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9CcmVha3BvaW50c1NpZGVi
YXJQYW5lLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9CcmVha3BvaW50
c1NpZGViYXJQYW5lLmpzCmluZGV4IDYzYTZlMmE1NWFlMTU4ZGJiYzRlMTI2ZjU1YmQxNzMzZWZl
NmM2NzIuLjEzZjY2OGFjZDEwMWNmNTI2NjQ1N2NhY2Q4ZTEyZmFmMWZlMTg1OWMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQnJlYWtwb2ludHNTaWRlYmFy
UGFuZS5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0JyZWFrcG9p
bnRzU2lkZWJhclBhbmUuanMKQEAgLTM0Nyw3ICszNDcsNyBAQCBXZWJJbnNwZWN0b3IuWEhSQnJl
YWtwb2ludHNTaWRlYmFyUGFuZS5wcm90b3R5cGUgPSB7CiAgICAgICAgIHRoaXMuX2FkZExpc3RF
bGVtZW50KGVsZW1lbnQsIGN1cnJlbnRFbGVtZW50KTsKICAgICAgICAgdGhpcy5fYnJlYWtwb2lu
dEVsZW1lbnRzW3VybF0gPSBlbGVtZW50OwogICAgICAgICBpZiAoZW5hYmxlZCkKLSAgICAgICAg
ICAgIEJyb3dzZXJEZWJ1Z2dlckFnZW50LnNldFhIUkJyZWFrcG9pbnQodXJsKTsKKyAgICAgICAg
ICAgIFdlYkluc3BlY3Rvci5icmVha3BvaW50TWFuYWdlci5zZXRYSFJCcmVha3BvaW50KHVybCk7
CiAgICAgfSwKIAogICAgIF9yZW1vdmVCcmVha3BvaW50OiBmdW5jdGlvbih1cmwpCkBAIC0zNTks
NyArMzU5LDcgQEAgV2ViSW5zcGVjdG9yLlhIUkJyZWFrcG9pbnRzU2lkZWJhclBhbmUucHJvdG90
eXBlID0gewogICAgICAgICB0aGlzLl9yZW1vdmVMaXN0RWxlbWVudChlbGVtZW50KTsKICAgICAg
ICAgZGVsZXRlIHRoaXMuX2JyZWFrcG9pbnRFbGVtZW50c1t1cmxdOwogICAgICAgICBpZiAoZWxl
bWVudC5fY2hlY2tib3hFbGVtZW50LmNoZWNrZWQpCi0gICAgICAgICAgICBCcm93c2VyRGVidWdn
ZXJBZ2VudC5yZW1vdmVYSFJCcmVha3BvaW50KHVybCk7CisgICAgICAgICAgICBXZWJJbnNwZWN0
b3IuYnJlYWtwb2ludE1hbmFnZXIucmVtb3ZlWEhSQnJlYWtwb2ludCh1cmwpOwogICAgIH0sCiAK
ICAgICBfY29udGV4dE1lbnU6IGZ1bmN0aW9uKHVybCwgZXZlbnQpCkBAIC01NDYsNiArNTQ2LDkg
QEAgV2ViSW5zcGVjdG9yLkV2ZW50TGlzdGVuZXJCcmVha3BvaW50c1NpZGViYXJQYW5lID0gZnVu
Y3Rpb24oKQogICAgIHRoaXMuY2F0ZWdvcmllc1RyZWVPdXRsaW5lID0gbmV3IFRyZWVPdXRsaW5l
KHRoaXMuY2F0ZWdvcmllc0VsZW1lbnQpOwogICAgIHRoaXMuYm9keUVsZW1lbnQuYXBwZW5kQ2hp
bGQodGhpcy5jYXRlZ29yaWVzRWxlbWVudCk7CiAKKyAgICBXZWJJbnNwZWN0b3IuYnJlYWtwb2lu
dE1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuQnJlYWtwb2ludE1hbmFnZXIu
RXZlbnRzLlByb2plY3RDaGFuZ2VkLCB0aGlzLl9wcm9qZWN0Q2hhbmdlZCwgdGhpcyk7CisgICAg
V2ViSW5zcGVjdG9yLmJyZWFrcG9pbnRNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVj
dG9yLkJyZWFrcG9pbnRNYW5hZ2VyLkV2ZW50cy5FdmVudExpc3RlbmVyQnJlYWtwb2ludEFkZGVk
LCB0aGlzLl9icmVha3BvaW50QWRkZWQsIHRoaXMpOworCiAgICAgdGhpcy5fYnJlYWtwb2ludEl0
ZW1zID0ge307CiAgICAgdGhpcy5fY3JlYXRlQ2F0ZWdvcnkoV2ViSW5zcGVjdG9yLlVJU3RyaW5n
KCJLZXlib2FyZCIpLCAibGlzdGVuZXIiLCBbImtleWRvd24iLCAia2V5dXAiLCAia2V5cHJlc3Mi
LCAidGV4dElucHV0Il0pOwogICAgIHRoaXMuX2NyZWF0ZUNhdGVnb3J5KFdlYkluc3BlY3Rvci5V
SVN0cmluZygiTW91c2UiKSwgImxpc3RlbmVyIiwgWyJjbGljayIsICJkYmxjbGljayIsICJtb3Vz
ZWRvd24iLCAibW91c2V1cCIsICJtb3VzZW92ZXIiLCAibW91c2Vtb3ZlIiwgIm1vdXNlb3V0Iiwg
Im1vdXNld2hlZWwiXSk7CkBAIC01NTgsMjAgKzU2MSw2IEBAIFdlYkluc3BlY3Rvci5FdmVudExp
c3RlbmVyQnJlYWtwb2ludHNTaWRlYmFyUGFuZSA9IGZ1bmN0aW9uKCkKICAgICB0aGlzLl9jcmVh
dGVDYXRlZ29yeShXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkRPTSBNdXRhdGlvbiIpLCAibGlzdGVu
ZXIiLCBbIkRPTUFjdGl2YXRlIiwgIkRPTUZvY3VzSW4iLCAiRE9NRm9jdXNPdXQiLCAiRE9NQXR0
ck1vZGlmaWVkIiwgIkRPTUNoYXJhY3RlckRhdGFNb2RpZmllZCIsICJET01Ob2RlSW5zZXJ0ZWQi
LCAiRE9NTm9kZUluc2VydGVkSW50b0RvY3VtZW50IiwgIkRPTU5vZGVSZW1vdmVkIiwgIkRPTU5v
ZGVSZW1vdmVkRnJvbURvY3VtZW50IiwgIkRPTVN1YnRyZWVNb2RpZmllZCIsICJET01Db250ZW50
TG9hZGVkIl0pOwogICAgIHRoaXMuX2NyZWF0ZUNhdGVnb3J5KFdlYkluc3BlY3Rvci5VSVN0cmlu
ZygiRGV2aWNlIiksICJsaXN0ZW5lciIsIFsiZGV2aWNlb3JpZW50YXRpb24iLCAiZGV2aWNlbW90
aW9uIl0pOwogICAgIHRoaXMuX2NyZWF0ZUNhdGVnb3J5KFdlYkluc3BlY3Rvci5VSVN0cmluZygi
VGltZXIiKSwgImluc3RydW1lbnRhdGlvbiIsIFsic2V0VGltZXIiLCAiY2xlYXJUaW1lciIsICJ0
aW1lckZpcmVkIl0pOwotCi0gICAgdGhpcy5fcmVzdG9yZUJyZWFrcG9pbnRzKCk7Ci19Ci0KLVdl
Ykluc3BlY3Rvci5FdmVudExpc3RlbmVyQnJlYWtwb2ludHNTaWRlYmFyUGFuZS5ldmVudE5hbWVG
b3JVSSA9IGZ1bmN0aW9uKGV2ZW50TmFtZSkKLXsKLSAgICBpZiAoIVdlYkluc3BlY3Rvci5FdmVu
dExpc3RlbmVyQnJlYWtwb2ludHNTaWRlYmFyUGFuZS5fZXZlbnROYW1lc0ZvclVJKSB7Ci0gICAg
ICAgIFdlYkluc3BlY3Rvci5FdmVudExpc3RlbmVyQnJlYWtwb2ludHNTaWRlYmFyUGFuZS5fZXZl
bnROYW1lc0ZvclVJID0gewotICAgICAgICAgICAgImluc3RydW1lbnRhdGlvbjpzZXRUaW1lciI6
IFdlYkluc3BlY3Rvci5VSVN0cmluZygiU2V0IFRpbWVyIiksCi0gICAgICAgICAgICAiaW5zdHJ1
bWVudGF0aW9uOmNsZWFyVGltZXIiOiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkNsZWFyIFRpbWVy
IiksCi0gICAgICAgICAgICAiaW5zdHJ1bWVudGF0aW9uOnRpbWVyRmlyZWQiOiBXZWJJbnNwZWN0
b3IuVUlTdHJpbmcoIlRpbWVyIEZpcmVkIikKLSAgICAgICAgfTsKLSAgICB9Ci0gICAgcmV0dXJu
IFdlYkluc3BlY3Rvci5FdmVudExpc3RlbmVyQnJlYWtwb2ludHNTaWRlYmFyUGFuZS5fZXZlbnRO
YW1lc0ZvclVJW2V2ZW50TmFtZV0gfHwgZXZlbnROYW1lLnN1YnN0cmluZyhldmVudE5hbWUuaW5k
ZXhPZigiOiIpICsgMSk7CiB9CiAKIFdlYkluc3BlY3Rvci5FdmVudExpc3RlbmVyQnJlYWtwb2lu
dHNTaWRlYmFyUGFuZS5wcm90b3R5cGUgPSB7CkBAIC01OTEsNyArNTgwLDcgQEAgV2ViSW5zcGVj
dG9yLkV2ZW50TGlzdGVuZXJCcmVha3BvaW50c1NpZGViYXJQYW5lLnByb3RvdHlwZSA9IHsKICAg
ICAgICAgICAgIHZhciBldmVudE5hbWUgPSB0eXBlICsgIjoiICsgZXZlbnROYW1lc1tpXTsKIAog
ICAgICAgICAgICAgdmFyIGJyZWFrcG9pbnRJdGVtID0ge307Ci0gICAgICAgICAgICB2YXIgdGl0
bGUgPSBXZWJJbnNwZWN0b3IuRXZlbnRMaXN0ZW5lckJyZWFrcG9pbnRzU2lkZWJhclBhbmUuZXZl
bnROYW1lRm9yVUkoZXZlbnROYW1lKTsKKyAgICAgICAgICAgIHZhciB0aXRsZSA9IFdlYkluc3Bl
Y3Rvci5FdmVudExpc3RlbmVyQnJlYWtwb2ludFZpZXcuZXZlbnROYW1lRm9yVUkoZXZlbnROYW1l
KTsKICAgICAgICAgICAgIGJyZWFrcG9pbnRJdGVtLmVsZW1lbnQgPSBuZXcgVHJlZUVsZW1lbnQo
dGl0bGUpOwogICAgICAgICAgICAgY2F0ZWdvcnlJdGVtLmVsZW1lbnQuYXBwZW5kQ2hpbGQoYnJl
YWtwb2ludEl0ZW0uZWxlbWVudCk7CiAgICAgICAgICAgICB2YXIgaGl0TWFya2VyID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CkBAIC02MDEsOCArNTkwLDkgQEAgV2ViSW5zcGVjdG9y
LkV2ZW50TGlzdGVuZXJCcmVha3BvaW50c1NpZGViYXJQYW5lLnByb3RvdHlwZSA9IHsKICAgICAg
ICAgICAgIGJyZWFrcG9pbnRJdGVtLmVsZW1lbnQuc2VsZWN0YWJsZSA9IHRydWU7CiAKICAgICAg
ICAgICAgIGJyZWFrcG9pbnRJdGVtLmNoZWNrYm94ID0gdGhpcy5fY3JlYXRlQ2hlY2tib3goYnJl
YWtwb2ludEl0ZW0uZWxlbWVudCk7Ci0gICAgICAgICAgICBicmVha3BvaW50SXRlbS5jaGVja2Jv
eC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIHRoaXMuX2JyZWFrcG9pbnRDaGVja2JveENsaWNr
ZWQuYmluZCh0aGlzLCBldmVudE5hbWUpLCB0cnVlKTsKKyAgICAgICAgICAgIGJyZWFrcG9pbnRJ
dGVtLmNoZWNrYm94LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgdGhpcy5fYnJlYWtwb2ludENo
ZWNrYm94Q2xpY2tlZC5iaW5kKHRoaXMsIGJyZWFrcG9pbnRJdGVtKSwgdHJ1ZSk7CiAgICAgICAg
ICAgICBicmVha3BvaW50SXRlbS5wYXJlbnQgPSBjYXRlZ29yeUl0ZW07CisgICAgICAgICAgICBi
cmVha3BvaW50SXRlbS5ldmVudE5hbWUgPSBldmVudE5hbWU7CiAKICAgICAgICAgICAgIHRoaXMu
X2JyZWFrcG9pbnRJdGVtc1tldmVudE5hbWVdID0gYnJlYWtwb2ludEl0ZW07CiAgICAgICAgICAg
ICBjYXRlZ29yeUl0ZW0uY2hpbGRyZW5bZXZlbnROYW1lXSA9IGJyZWFrcG9pbnRJdGVtOwpAQCAt
NjIzLDQ3ICs2MTMsNTQgQEAgV2ViSW5zcGVjdG9yLkV2ZW50TGlzdGVuZXJCcmVha3BvaW50c1Np
ZGViYXJQYW5lLnByb3RvdHlwZSA9IHsKICAgICAgICAgdmFyIGNoZWNrZWQgPSBjYXRlZ29yeUl0
ZW0uY2hlY2tib3guY2hlY2tlZDsKICAgICAgICAgZm9yICh2YXIgZXZlbnROYW1lIGluIGNhdGVn
b3J5SXRlbS5jaGlsZHJlbikgewogICAgICAgICAgICAgdmFyIGJyZWFrcG9pbnRJdGVtID0gY2F0
ZWdvcnlJdGVtLmNoaWxkcmVuW2V2ZW50TmFtZV07Ci0gICAgICAgICAgICBpZiAoYnJlYWtwb2lu
dEl0ZW0uY2hlY2tib3guY2hlY2tlZCA9PT0gY2hlY2tlZCkKLSAgICAgICAgICAgICAgICBjb250
aW51ZTsKLSAgICAgICAgICAgIGlmIChjaGVja2VkKQotICAgICAgICAgICAgICAgIHRoaXMuX3Nl
dEJyZWFrcG9pbnQoZXZlbnROYW1lKTsKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAg
ICB0aGlzLl9yZW1vdmVCcmVha3BvaW50KGV2ZW50TmFtZSk7CisgICAgICAgICAgICBpZiAoYnJl
YWtwb2ludEl0ZW0uY2hlY2tib3guY2hlY2tlZCAhPT0gY2hlY2tlZCkgeworICAgICAgICAgICAg
ICAgIGJyZWFrcG9pbnRJdGVtLmNoZWNrYm94LmNoZWNrZWQgPSBjaGVja2VkOworICAgICAgICAg
ICAgICAgIHRoaXMuX2JyZWFrcG9pbnRDaGVja2JveENsaWNrZWQoYnJlYWtwb2ludEl0ZW0pOwor
ICAgICAgICAgICAgfQogICAgICAgICB9Ci0gICAgICAgIHRoaXMuX3NhdmVCcmVha3BvaW50cygp
OwogICAgIH0sCiAKLSAgICBfYnJlYWtwb2ludENoZWNrYm94Q2xpY2tlZDogZnVuY3Rpb24oZXZl
bnROYW1lLCBldmVudCkKKyAgICBfYnJlYWtwb2ludENoZWNrYm94Q2xpY2tlZDogZnVuY3Rpb24o
YnJlYWtwb2ludEl0ZW0pCiAgICAgewotICAgICAgICBpZiAoZXZlbnQudGFyZ2V0LmNoZWNrZWQp
Ci0gICAgICAgICAgICB0aGlzLl9zZXRCcmVha3BvaW50KGV2ZW50TmFtZSk7CisgICAgICAgIGlm
IChicmVha3BvaW50SXRlbS5jaGVja2JveC5jaGVja2VkKQorICAgICAgICAgICAgV2ViSW5zcGVj
dG9yLmJyZWFrcG9pbnRNYW5hZ2VyLmNyZWF0ZUV2ZW50TGlzdGVuZXJCcmVha3BvaW50KGJyZWFr
cG9pbnRJdGVtLmV2ZW50TmFtZSk7CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIHRoaXMuX3Jl
bW92ZUJyZWFrcG9pbnQoZXZlbnROYW1lKTsKLSAgICAgICAgdGhpcy5fc2F2ZUJyZWFrcG9pbnRz
KCk7CisgICAgICAgICAgICBicmVha3BvaW50SXRlbS5icmVha3BvaW50LnJlbW92ZSgpOwogICAg
IH0sCiAKLSAgICBfc2V0QnJlYWtwb2ludDogZnVuY3Rpb24oZXZlbnROYW1lKQorICAgIF9icmVh
a3BvaW50QWRkZWQ6IGZ1bmN0aW9uKGV2ZW50KQogICAgIHsKLSAgICAgICAgdmFyIGJyZWFrcG9p
bnRJdGVtID0gdGhpcy5fYnJlYWtwb2ludEl0ZW1zW2V2ZW50TmFtZV07Ci0gICAgICAgIGlmICgh
YnJlYWtwb2ludEl0ZW0pCi0gICAgICAgICAgICByZXR1cm47CisgICAgICAgIHZhciBicmVha3Bv
aW50ID0gZXZlbnQuZGF0YTsKKworICAgICAgICB2YXIgYnJlYWtwb2ludEl0ZW0gPSB0aGlzLl9i
cmVha3BvaW50SXRlbXNbYnJlYWtwb2ludC5ldmVudE5hbWVdOworICAgICAgICBicmVha3BvaW50
SXRlbS5icmVha3BvaW50ID0gYnJlYWtwb2ludDsKKyAgICAgICAgYnJlYWtwb2ludC5hZGRFdmVu
dExpc3RlbmVyKCJoaXQtc3RhdGUtY2hhbmdlZCIsIHRoaXMuX2JyZWFrcG9pbnRIaXRTdGF0ZUNo
YW5nZWQuYmluZCh0aGlzLCBicmVha3BvaW50SXRlbSkpOworICAgICAgICBicmVha3BvaW50LmFk
ZEV2ZW50TGlzdGVuZXIoInJlbW92ZWQiLCB0aGlzLl9icmVha3BvaW50UmVtb3ZlZC5iaW5kKHRo
aXMsIGJyZWFrcG9pbnRJdGVtKSk7CiAgICAgICAgIGJyZWFrcG9pbnRJdGVtLmNoZWNrYm94LmNo
ZWNrZWQgPSB0cnVlOwotICAgICAgICBCcm93c2VyRGVidWdnZXJBZ2VudC5zZXRFdmVudExpc3Rl
bmVyQnJlYWtwb2ludChldmVudE5hbWUpOwotICAgICAgICB0aGlzLl91cGRhdGVDYXRlZ29yeUNo
ZWNrYm94KGJyZWFrcG9pbnRJdGVtLnBhcmVudCk7CisgICAgICAgIHRoaXMuX3VwZGF0ZUNhdGVn
b3J5Q2hlY2tib3goYnJlYWtwb2ludEl0ZW0pOwogICAgIH0sCiAKLSAgICBfcmVtb3ZlQnJlYWtw
b2ludDogZnVuY3Rpb24oZXZlbnROYW1lKQorICAgIF9icmVha3BvaW50SGl0U3RhdGVDaGFuZ2Vk
OiBmdW5jdGlvbihicmVha3BvaW50SXRlbSwgZXZlbnQpCiAgICAgewotICAgICAgICB2YXIgYnJl
YWtwb2ludEl0ZW0gPSB0aGlzLl9icmVha3BvaW50SXRlbXNbZXZlbnROYW1lXTsKLSAgICAgICAg
aWYgKCFicmVha3BvaW50SXRlbSkKLSAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgaWYgKGV2
ZW50LnRhcmdldC5oaXQpIHsKKyAgICAgICAgICAgIHRoaXMuZXhwYW5kZWQgPSB0cnVlOworICAg
ICAgICAgICAgdmFyIGNhdGVnb3J5SXRlbSA9IGJyZWFrcG9pbnRJdGVtLnBhcmVudDsKKyAgICAg
ICAgICAgIGNhdGVnb3J5SXRlbS5lbGVtZW50LmV4cGFuZCgpOworICAgICAgICAgICAgYnJlYWtw
b2ludEl0ZW0uZWxlbWVudC5saXN0SXRlbUVsZW1lbnQuYWRkU3R5bGVDbGFzcygiYnJlYWtwb2lu
dC1oaXQiKTsKKyAgICAgICAgfSBlbHNlCisgICAgICAgICAgICBicmVha3BvaW50SXRlbS5lbGVt
ZW50Lmxpc3RJdGVtRWxlbWVudC5yZW1vdmVTdHlsZUNsYXNzKCJicmVha3BvaW50LWhpdCIpOwor
ICAgIH0sCisKKyAgICBfYnJlYWtwb2ludFJlbW92ZWQ6IGZ1bmN0aW9uKGJyZWFrcG9pbnRJdGVt
KQorICAgIHsKKyAgICAgICAgYnJlYWtwb2ludEl0ZW0uYnJlYWtwb2ludCA9IG51bGw7CiAgICAg
ICAgIGJyZWFrcG9pbnRJdGVtLmNoZWNrYm94LmNoZWNrZWQgPSBmYWxzZTsKLSAgICAgICAgQnJv
d3NlckRlYnVnZ2VyQWdlbnQucmVtb3ZlRXZlbnRMaXN0ZW5lckJyZWFrcG9pbnQoZXZlbnROYW1l
KTsKLSAgICAgICAgdGhpcy5fdXBkYXRlQ2F0ZWdvcnlDaGVja2JveChicmVha3BvaW50SXRlbS5w
YXJlbnQpOworICAgICAgICB0aGlzLl91cGRhdGVDYXRlZ29yeUNoZWNrYm94KGJyZWFrcG9pbnRJ
dGVtKTsKICAgICB9LAogCi0gICAgX3VwZGF0ZUNhdGVnb3J5Q2hlY2tib3g6IGZ1bmN0aW9uKGNh
dGVnb3J5SXRlbSkKKyAgICBfdXBkYXRlQ2F0ZWdvcnlDaGVja2JveDogZnVuY3Rpb24oYnJlYWtw
b2ludEl0ZW0pCiAgICAgeworICAgICAgICB2YXIgY2F0ZWdvcnlJdGVtID0gYnJlYWtwb2ludEl0
ZW0ucGFyZW50OwogICAgICAgICB2YXIgaGFzRW5hYmxlZCA9IGZhbHNlLCBoYXNEaXNhYmxlZCA9
IGZhbHNlOwogICAgICAgICBmb3IgKHZhciBldmVudE5hbWUgaW4gY2F0ZWdvcnlJdGVtLmNoaWxk
cmVuKSB7CiAgICAgICAgICAgICB2YXIgYnJlYWtwb2ludEl0ZW0gPSBjYXRlZ29yeUl0ZW0uY2hp
bGRyZW5bZXZlbnROYW1lXTsKQEAgLTY3Niw0MiArNjczLDEzIEBAIFdlYkluc3BlY3Rvci5FdmVu
dExpc3RlbmVyQnJlYWtwb2ludHNTaWRlYmFyUGFuZS5wcm90b3R5cGUgPSB7CiAgICAgICAgIGNh
dGVnb3J5SXRlbS5jaGVja2JveC5pbmRldGVybWluYXRlID0gaGFzRW5hYmxlZCAmJiBoYXNEaXNh
YmxlZDsKICAgICB9LAogCi0gICAgaGlnaGxpZ2h0QnJlYWtwb2ludDogZnVuY3Rpb24oZXZlbnRO
YW1lKQotICAgIHsKLSAgICAgICAgdmFyIGJyZWFrcG9pbnRJdGVtID0gdGhpcy5fYnJlYWtwb2lu
dEl0ZW1zW2V2ZW50TmFtZV07Ci0gICAgICAgIGlmICghYnJlYWtwb2ludEl0ZW0pCi0gICAgICAg
ICAgICByZXR1cm47Ci0gICAgICAgIHRoaXMuZXhwYW5kZWQgPSB0cnVlOwotICAgICAgICBicmVh
a3BvaW50SXRlbS5wYXJlbnQuZWxlbWVudC5leHBhbmQoKTsKLSAgICAgICAgYnJlYWtwb2ludEl0
ZW0uZWxlbWVudC5saXN0SXRlbUVsZW1lbnQuYWRkU3R5bGVDbGFzcygiYnJlYWtwb2ludC1oaXQi
KTsKLSAgICAgICAgdGhpcy5faGlnaGxpZ2h0ZWRFbGVtZW50ID0gYnJlYWtwb2ludEl0ZW0uZWxl
bWVudC5saXN0SXRlbUVsZW1lbnQ7Ci0gICAgfSwKLQotICAgIGNsZWFyQnJlYWtwb2ludEhpZ2hs
aWdodDogZnVuY3Rpb24oKQotICAgIHsKLSAgICAgICAgaWYgKHRoaXMuX2hpZ2hsaWdodGVkRWxl
bWVudCkgewotICAgICAgICAgICAgdGhpcy5faGlnaGxpZ2h0ZWRFbGVtZW50LnJlbW92ZVN0eWxl
Q2xhc3MoImJyZWFrcG9pbnQtaGl0Iik7Ci0gICAgICAgICAgICBkZWxldGUgdGhpcy5faGlnaGxp
Z2h0ZWRFbGVtZW50OwotICAgICAgICB9Ci0gICAgfSwKLQotICAgIF9zYXZlQnJlYWtwb2ludHM6
IGZ1bmN0aW9uKCkKKyAgICBfcHJvamVjdENoYW5nZWQ6IGZ1bmN0aW9uKCkKICAgICB7Ci0gICAg
ICAgIHZhciBicmVha3BvaW50cyA9IFtdOwogICAgICAgICBmb3IgKHZhciBldmVudE5hbWUgaW4g
dGhpcy5fYnJlYWtwb2ludEl0ZW1zKSB7Ci0gICAgICAgICAgICBpZiAodGhpcy5fYnJlYWtwb2lu
dEl0ZW1zW2V2ZW50TmFtZV0uY2hlY2tib3guY2hlY2tlZCkKLSAgICAgICAgICAgICAgICBicmVh
a3BvaW50cy5wdXNoKHsgZXZlbnROYW1lOiBldmVudE5hbWUgfSk7Ci0gICAgICAgIH0KLSAgICAg
ICAgV2ViSW5zcGVjdG9yLnNldHRpbmdzLmV2ZW50TGlzdGVuZXJCcmVha3BvaW50cyA9IGJyZWFr
cG9pbnRzOwotICAgIH0sCi0KLSAgICBfcmVzdG9yZUJyZWFrcG9pbnRzOiBmdW5jdGlvbigpCi0g
ICAgewotICAgICAgICB2YXIgYnJlYWtwb2ludHMgPSBXZWJJbnNwZWN0b3Iuc2V0dGluZ3MuZXZl
bnRMaXN0ZW5lckJyZWFrcG9pbnRzOwotICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGJyZWFr
cG9pbnRzLmxlbmd0aDsgKytpKSB7Ci0gICAgICAgICAgICB2YXIgYnJlYWtwb2ludCA9IGJyZWFr
cG9pbnRzW2ldOwotICAgICAgICAgICAgaWYgKGJyZWFrcG9pbnQgJiYgdHlwZW9mIGJyZWFrcG9p
bnQuZXZlbnROYW1lID09PSAic3RyaW5nIikKLSAgICAgICAgICAgICAgICB0aGlzLl9zZXRCcmVh
a3BvaW50KGJyZWFrcG9pbnQuZXZlbnROYW1lKTsKKyAgICAgICAgICAgIHZhciBicmVha3BvaW50
SXRlbSA9IHRoaXMuX2JyZWFrcG9pbnRJdGVtc1tldmVudE5hbWVdOworICAgICAgICAgICAgYnJl
YWtwb2ludEl0ZW0uYnJlYWtwb2ludCA9IG51bGw7CisgICAgICAgICAgICBicmVha3BvaW50SXRl
bS5jaGVja2JveC5jaGVja2VkID0gZmFsc2U7CisgICAgICAgICAgICB0aGlzLl91cGRhdGVDYXRl
Z29yeUNoZWNrYm94KGJyZWFrcG9pbnRJdGVtKTsKICAgICAgICAgfQogICAgIH0KIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ2FsbFN0YWNrU2lkZWJh
clBhbmUuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NhbGxTdGFja1Np
ZGViYXJQYW5lLmpzCmluZGV4IDc0MGJiMWM2ZmU3ZTAzOGFiYjczOGI4MzhiOGI4NTM2NzcxYmYy
NjcuLmZhZjI3OTkxZmQwYzY5MWVmZWVlMTljZjI5OGZkZDBiNmRjNjU0OGUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ2FsbFN0YWNrU2lkZWJhclBhbmUu
anMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9DYWxsU3RhY2tTaWRl
YmFyUGFuZS5qcwpAQCAtODUsOSArODUsMTMgQEAgV2ViSW5zcGVjdG9yLkNhbGxTdGFja1NpZGVi
YXJQYW5lLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIHRoaXMuX3RleHQgKz0gV2ViSW5zcGVj
dG9yLlVJU3RyaW5nKCIlcygpIGF0ICVzIiwgaSArIDEsIHRpdGxlLCBzdWJ0aXRsZSkgKyAiXG4i
OwogICAgICAgICB9CiAKLSAgICAgICAgaWYgKGRldGFpbHMuZXZlbnRUeXBlID09PSBXZWJJbnNw
ZWN0b3IuRGVidWdnZXJFdmVudFR5cGVzLk5hdGl2ZUJyZWFrcG9pbnQpIHsKLSAgICAgICAgICAg
IGlmIChkZXRhaWxzLmV2ZW50RGF0YS5icmVha3BvaW50VHlwZSA9PT0gV2ViSW5zcGVjdG9yLkJy
ZWFrcG9pbnRNYW5hZ2VyLkJyZWFrcG9pbnRUeXBlcy5ET00pCi0gICAgICAgICAgICAgICAgdGhp
cy5fZG9tQnJlYWtwb2ludEhpdChkZXRhaWxzLmV2ZW50RGF0YSk7CisgICAgICAgIGlmIChkZXRh
aWxzLmJyZWFrcG9pbnQpCisgICAgICAgICAgICB0aGlzLl9zY3JpcHRCcmVha3BvaW50SGl0KCk7
CisgICAgICAgIGVsc2UgaWYgKGRldGFpbHMuZXZlbnRUeXBlID09PSBXZWJJbnNwZWN0b3IuRGVi
dWdnZXJFdmVudFR5cGVzLk5hdGl2ZUJyZWFrcG9pbnQpIHsKKyAgICAgICAgICAgIGlmIChkZXRh
aWxzLmV2ZW50RGF0YS5icmVha3BvaW50VHlwZSA9PT0gV2ViSW5zcGVjdG9yLkJyZWFrcG9pbnRN
YW5hZ2VyLkJyZWFrcG9pbnRUeXBlcy5YSFIpCisgICAgICAgICAgICAgICAgdGhpcy5feGhyQnJl
YWtwb2ludEhpdCgpOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIHRoaXMuX25h
dGl2ZUJyZWFrcG9pbnRIaXQoZGV0YWlscy5ldmVudERhdGEpOwogICAgICAgICB9CiAgICAgfSwK
IApAQCAtMTc4LDE1ICsxODIsMjMgQEAgV2ViSW5zcGVjdG9yLkNhbGxTdGFja1NpZGViYXJQYW5l
LnByb3RvdHlwZSA9IHsKICAgICAgICAgc2VjdGlvbi5hZGRSZWxhdGVkS2V5cyhbIG5leHRDYWxs
RnJhbWUubmFtZSwgcHJldkNhbGxGcmFtZS5uYW1lIF0sIFdlYkluc3BlY3Rvci5VSVN0cmluZygi
TmV4dC9wcmV2aW91cyBjYWxsIGZyYW1lIikpOwogICAgIH0sCiAKLSAgICBzZXRTdGF0dXM6IGZ1
bmN0aW9uKHN0YXR1cykKKyAgICBfc2NyaXB0QnJlYWtwb2ludEhpdDogZnVuY3Rpb24oKQorICAg
IHsKKyAgICAgICAgdmFyIHN0YXR1c01lc3NhZ2VFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgiZGl2Iik7CisgICAgICAgIHN0YXR1c01lc3NhZ2VFbGVtZW50LmNsYXNzTmFtZSA9ICJp
bmZvIjsKKyAgICAgICAgc3RhdHVzTWVzc2FnZUVsZW1lbnQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQu
Y3JlYXRlVGV4dE5vZGUoV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJQYXVzZWQgb24gYSBKYXZhU2Ny
aXB0IGJyZWFrcG9pbnQuIikpKTsKKyAgICAgICAgdGhpcy5ib2R5RWxlbWVudC5hcHBlbmRDaGls
ZChzdGF0dXNNZXNzYWdlRWxlbWVudCk7CisgICAgfSwKKworICAgIF94aHJCcmVha3BvaW50SGl0
OiBmdW5jdGlvbigpCiAgICAgewogICAgICAgICB2YXIgc3RhdHVzTWVzc2FnZUVsZW1lbnQgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKICAgICAgICAgc3RhdHVzTWVzc2FnZUVsZW1l
bnQuY2xhc3NOYW1lID0gImluZm8iOwotICAgICAgICBzdGF0dXNNZXNzYWdlRWxlbWVudC50ZXh0
Q29udGVudCA9IHN0YXR1czsKKyAgICAgICAgc3RhdHVzTWVzc2FnZUVsZW1lbnQudGV4dENvbnRl
bnQgPSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlBhdXNlZCBvbiBhIFhNTEh0dHBSZXF1ZXN0LiIp
OwogICAgICAgICB0aGlzLmJvZHlFbGVtZW50LmFwcGVuZENoaWxkKHN0YXR1c01lc3NhZ2VFbGVt
ZW50KTsKICAgICB9LAogCi0gICAgX2RvbUJyZWFrcG9pbnRIaXQ6IGZ1bmN0aW9uKGV2ZW50RGF0
YSkKKyAgICBfbmF0aXZlQnJlYWtwb2ludEhpdDogZnVuY3Rpb24oZXZlbnREYXRhKQogICAgIHsK
ICAgICAgICAgdmFyIGJyZWFrcG9pbnQgPSBXZWJJbnNwZWN0b3IuYnJlYWtwb2ludE1hbmFnZXIu
YnJlYWtwb2ludFZpZXdGb3JFdmVudERhdGEoZXZlbnREYXRhKTsKICAgICAgICAgaWYgKCFicmVh
a3BvaW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9T
Y3JpcHRzUGFuZWwuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Njcmlw
dHNQYW5lbC5qcwppbmRleCBmOWNjYzkyMmUwZDA1NmNlNTFkNWQ3YjZjYzQzNDY3ZjE2MTgzMzJk
Li43ZTI0NmQyOGRmNDZlZmZkN2Q0M2MxOTA4MzViZDgxMzUyZDMzZGMyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdHNQYW5lbC5qcworKysgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdHNQYW5lbC5qcwpAQCAtNDM4
LDI1ICs0MzgsMTMgQEAgV2ViSW5zcGVjdG9yLlNjcmlwdHNQYW5lbC5wcm90b3R5cGUgPSB7CiAg
ICAgICAgIHRoaXMuc2lkZWJhclBhbmVzLmNhbGxzdGFjay51cGRhdGUoZXZlbnQuZGF0YSk7CiAg
ICAgICAgIHRoaXMuc2lkZWJhclBhbmVzLmNhbGxzdGFjay5zZWxlY3RlZENhbGxGcmFtZSA9IGNh
bGxGcmFtZXNbMF07CiAKLSAgICAgICAgdmFyIHN0YXR1czsKICAgICAgICAgaWYgKGRldGFpbHMu
ZXZlbnRUeXBlID09PSBXZWJJbnNwZWN0b3IuRGVidWdnZXJFdmVudFR5cGVzLk5hdGl2ZUJyZWFr
cG9pbnQpIHsKLSAgICAgICAgICAgIGlmIChkZXRhaWxzLmV2ZW50RGF0YS5icmVha3BvaW50VHlw
ZSA9PT0gV2ViSW5zcGVjdG9yLkJyZWFrcG9pbnRNYW5hZ2VyLkJyZWFrcG9pbnRUeXBlcy5FdmVu
dExpc3RlbmVyKSB7Ci0gICAgICAgICAgICAgICAgdmFyIGV2ZW50TmFtZSA9IGRldGFpbHMuZXZl
bnREYXRhLmV2ZW50TmFtZTsKLSAgICAgICAgICAgICAgICB0aGlzLnNpZGViYXJQYW5lcy5ldmVu
dExpc3RlbmVyQnJlYWtwb2ludHMuaGlnaGxpZ2h0QnJlYWtwb2ludChkZXRhaWxzLmV2ZW50RGF0
YS5ldmVudE5hbWUpOwotICAgICAgICAgICAgICAgIHZhciBldmVudE5hbWVGb3JVSSA9IFdlYklu
c3BlY3Rvci5FdmVudExpc3RlbmVyQnJlYWtwb2ludHNTaWRlYmFyUGFuZS5ldmVudE5hbWVGb3JV
SShldmVudE5hbWUpOwotICAgICAgICAgICAgICAgIHN0YXR1cyA9IFdlYkluc3BlY3Rvci5VSVN0
cmluZygiUGF1c2VkIG9uIGEgXCIlc1wiIEV2ZW50IExpc3RlbmVyLiIsIGV2ZW50TmFtZUZvclVJ
KTsKLSAgICAgICAgICAgIH0gZWxzZSBpZiAoZGV0YWlscy5ldmVudERhdGEuYnJlYWtwb2ludFR5
cGUgPT09IFdlYkluc3BlY3Rvci5CcmVha3BvaW50TWFuYWdlci5CcmVha3BvaW50VHlwZXMuWEhS
KSB7CisgICAgICAgICAgICBpZiAoZGV0YWlscy5ldmVudERhdGEuYnJlYWtwb2ludFR5cGUgPT09
IFdlYkluc3BlY3Rvci5CcmVha3BvaW50TWFuYWdlci5CcmVha3BvaW50VHlwZXMuWEhSKQogICAg
ICAgICAgICAgICAgIHRoaXMuc2lkZWJhclBhbmVzLnhockJyZWFrcG9pbnRzLmhpZ2hsaWdodEJy
ZWFrcG9pbnQoZGV0YWlscy5ldmVudERhdGEuYnJlYWtwb2ludFVSTCk7Ci0gICAgICAgICAgICAg
ICAgc3RhdHVzID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJQYXVzZWQgb24gYSBYTUxIdHRwUmVx
dWVzdC4iKTsKLSAgICAgICAgICAgIH0KICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIHZh
ciBzb3VyY2VMb2NhdGlvbiA9IHRoaXMuX3ByZXNlbnRhdGlvbk1vZGVsLnNlbGVjdGVkQ2FsbEZy
YW1lLnNvdXJjZUxvY2F0aW9uOwogICAgICAgICAgICAgdGhpcy5zaWRlYmFyUGFuZXMuanNCcmVh
a3BvaW50cy5oaWdobGlnaHRCcmVha3BvaW50KHNvdXJjZUxvY2F0aW9uLnNvdXJjZUZpbGVJZCwg
c291cmNlTG9jYXRpb24ubGluZU51bWJlcik7Ci0gICAgICAgICAgICBpZiAoZGV0YWlscy5icmVh
a3BvaW50KQotICAgICAgICAgICAgICAgIHN0YXR1cyA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygi
UGF1c2VkIG9uIGEgSmF2YVNjcmlwdCBicmVha3BvaW50LiIpOwogICAgICAgICB9Ci0gICAgICAg
IGlmIChzdGF0dXMpCi0gICAgICAgICAgICB0aGlzLnNpZGViYXJQYW5lcy5jYWxsc3RhY2suc2V0
U3RhdHVzKHN0YXR1cyk7CiAKICAgICAgICAgd2luZG93LmZvY3VzKCk7CiAgICAgICAgIEluc3Bl
Y3RvckZyb250ZW5kSG9zdC5icmluZ1RvRnJvbnQoKTsKQEAgLTgxOCwxMCArODA2LDggQEAgV2Vi
SW5zcGVjdG9yLlNjcmlwdHNQYW5lbC5wcm90b3R5cGUgPSB7CiAgICAgICAgIHRoaXMuc2lkZWJh
clBhbmVzLmNhbGxzdGFjay51cGRhdGUobnVsbCk7CiAgICAgICAgIHRoaXMuc2lkZWJhclBhbmVz
LnNjb3BlY2hhaW4udXBkYXRlKG51bGwpOwogICAgICAgICB0aGlzLnNpZGViYXJQYW5lcy5qc0Jy
ZWFrcG9pbnRzLmNsZWFyQnJlYWtwb2ludEhpZ2hsaWdodCgpOwotICAgICAgICBpZiAoUHJlZmVy
ZW5jZXMubmF0aXZlSW5zdHJ1bWVudGF0aW9uRW5hYmxlZCkgewotICAgICAgICAgICAgdGhpcy5z
aWRlYmFyUGFuZXMuZXZlbnRMaXN0ZW5lckJyZWFrcG9pbnRzLmNsZWFyQnJlYWtwb2ludEhpZ2hs
aWdodCgpOworICAgICAgICBpZiAoUHJlZmVyZW5jZXMubmF0aXZlSW5zdHJ1bWVudGF0aW9uRW5h
YmxlZCkKICAgICAgICAgICAgIHRoaXMuc2lkZWJhclBhbmVzLnhockJyZWFrcG9pbnRzLmNsZWFy
QnJlYWtwb2ludEhpZ2hsaWdodCgpOwotICAgICAgICB9CiAKICAgICAgICAgdGhpcy5fY2xlYXJD
dXJyZW50RXhlY3V0aW9uTGluZSgpOwogICAgICAgICB0aGlzLl91cGRhdGVEZWJ1Z2dlckJ1dHRv
bnMoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2V0
dGluZ3MuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NldHRpbmdzLmpz
CmluZGV4IDUxYmQyYWFlY2NmYmMzNTc5ZGI4OTA1N2E0Y2RlODQ3Yjg5NDBlNjguLmU3MDZmNjg5
YmY2ZjVlNzBlMTQ3ZTc3ZjRmMTk5OTM3N2I1YTY0ZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2V0dGluZ3MuanMKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9TZXR0aW5ncy5qcwpAQCAtNzEsNyArNzEsNiBAQCBXZWJJbnNw
ZWN0b3IuU2V0dGluZ3MgPSBmdW5jdGlvbigpCiAgICAgdGhpcy5pbnN0YWxsQXBwbGljYXRpb25T
ZXR0aW5nKCJzaG93VXNlckFnZW50U3R5bGVzIiwgdHJ1ZSk7CiAgICAgdGhpcy5pbnN0YWxsQXBw
bGljYXRpb25TZXR0aW5nKCJ3YXRjaEV4cHJlc3Npb25zIiwgW10pOwogICAgIHRoaXMuaW5zdGFs
bEFwcGxpY2F0aW9uU2V0dGluZygiYnJlYWtwb2ludHMiLCBbXSk7Ci0gICAgdGhpcy5pbnN0YWxs
QXBwbGljYXRpb25TZXR0aW5nKCJldmVudExpc3RlbmVyQnJlYWtwb2ludHMiLCBbXSk7CiAgICAg
dGhpcy5pbnN0YWxsQXBwbGljYXRpb25TZXR0aW5nKCJ4aHJCcmVha3BvaW50cyIsIFtdKTsKIAog
ICAgIHRoaXMuaW5zdGFsbFByb2plY3RTZXR0aW5nKCJuYXRpdmVCcmVha3BvaW50cyIsIFtdKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>