<?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>56579</bug_id>
          
          <creation_ts>2011-03-17 12:03:42 -0700</creation_ts>
          <short_desc>REGRESSION(r81369): breaks debugger test (Requested by podivilov on #webkit).</short_desc>
          <delta_ts>2011-03-17 13:41:15 -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>55237</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>abarth</cc>
    
    <cc>eric</cc>
    
    <cc>pfeldman</cc>
    
    <cc>podivilov</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>369198</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-03-17 12:03:42 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/81369 broke the build:
breaks debugger test (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>369199</commentid>
    <comment_count>1</comment_count>
      <attachid>86077</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-03-17 12:04:08 -0700</bug_when>
    <thetext>Created attachment 86077
ROLLOUT of r81369

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>369200</commentid>
    <comment_count>2</comment_count>
      <attachid>86077</attachid>
    <who name="Pavel Podivilov">podivilov</who>
    <bug_when>2011-03-17 12:05:47 -0700</bug_when>
    <thetext>Comment on attachment 86077
ROLLOUT of r81369

Clearing flags on attachment: 86077

Committed r81375: &lt;http://trac.webkit.org/changeset/81375&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>369201</commentid>
    <comment_count>3</comment_count>
    <who name="Pavel Podivilov">podivilov</who>
    <bug_when>2011-03-17 12:05:56 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>369266</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-03-17 13:41:15 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/81375 might have broken GTK Linux 64-bit Debug</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>86077</attachid>
            <date>2011-03-17 12:04:08 -0700</date>
            <delta_ts>2011-03-17 12:05:47 -0700</delta_ts>
            <desc>ROLLOUT of r81369</desc>
            <filename>bug-56579-20110317190222.patch</filename>
            <type>text/plain</type>
            <size>27614</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODEzNzQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA5MmQ5MDg2OTYwZTU5NGJlYjBiN2Mz
ODcxYTEyMmJkNmJmODg1YzMzLi5iMDgyNDk4ODA0MTA4MTAzZTk0NTM2ZDA3OTc0MzY0YTYzZjVh
YmEyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDMtMTcgIFNoZXJpZmYgQm90ICA8d2Vi
a2l0LnJldmlldy5ib3RAZ21haWwuY29tPgorCisgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcg
b3V0IHI4MTM2OS4KKyAgICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvODEz
NjkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU2NTc5
CisKKyAgICAgICAgYnJlYWtzIGRlYnVnZ2VyIHRlc3QgKFJlcXVlc3RlZCBieSBwb2Rpdmlsb3Yg
b24gI3dlYmtpdCkuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvZGVidWdnZXIvZGVidWctaW5saW5l
ZC1zY3JpcHRzLmh0bWw6CisKIDIwMTEtMDMtMTcgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtp
dC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgSnVzdGluIEdhcmNpYS4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9kZWJ1Zy1pbmxpbmVkLXNjcmlwdHMuaHRt
bCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9kZWJ1Zy1pbmxpbmVkLXNjcmlwdHMu
aHRtbAppbmRleCA5Nzg1N2NkNjc4NmU3ZDg0MzgzZjZlODZlMTI4ZDczOTY0MTBhOWE0Li40MmE3
ZDg3ZDEwZDQ5MjExNjM5MWZjMDg4ZGM4ZTBlYTNlYmNjZGUyIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvZGVidWctaW5saW5lZC1zY3JpcHRzLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL2RlYnVnLWlubGluZWQtc2NyaXB0cy5odG1s
CkBAIC0yOSw3ICsyOSw3IEBAIHZhciB0ZXN0ID0gZnVuY3Rpb24oKQogICAgIGZ1bmN0aW9uIHN0
ZXAyKHNvdXJjZUZyYW1lKQogICAgIHsKICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQo
IlNjcmlwdCBzb3VyY2Ugd2FzIHNob3duLiIpOwotICAgICAgICBXZWJJbnNwZWN0b3IucGFuZWxz
LnNjcmlwdHMuX3ByZXNlbnRhdGlvbk1vZGVsLl9yZXNvdXJjZUZvclVSTCA9IGZ1bmN0aW9uKCkg
eyByZXR1cm4gbmV3IFdlYkluc3BlY3Rvci5SZXNvdXJjZSgpOyB9OworICAgICAgICBXZWJJbnNw
ZWN0b3IucGFuZWxzLnNjcmlwdHMuX3Jlc291cmNlRm9yVVJMID0gZnVuY3Rpb24oKSB7IHJldHVy
biBuZXcgV2ViSW5zcGVjdG9yLlJlc291cmNlKCk7IH07CiAgICAgICAgIEluc3BlY3RvclRlc3Qu
c2V0QnJlYWtwb2ludChzb3VyY2VGcmFtZSwgMiwgIiIsIHRydWUpOwogICAgICAgICBJbnNwZWN0
b3JUZXN0LnNldEJyZWFrcG9pbnQoc291cmNlRnJhbWUsIDksICIiLCB0cnVlKTsKICAgICAgICAg
SW5zcGVjdG9yVGVzdC53YWl0VW50aWxQYXVzZWQoc3RlcDMpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGYzN2Vm
YjcyYmIxMjM2NTcyM2U4ZjY4Nzk3ZWJjOGEyMjFhN2I4NzQuLmUyYjk1ODE4NDRkM2I2N2U2OTUz
MGFlNzY3NTYwOGQ0ZjdjOGU0N2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MCBAQAorMjAxMS0w
My0xNyAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CisKKyAgICAg
ICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjgxMzY5LgorICAgICAgICBodHRwOi8vdHJhYy53
ZWJraXQub3JnL2NoYW5nZXNldC84MTM2OQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NTY1NzkKKworICAgICAgICBicmVha3MgZGVidWdnZXIgdGVzdCAo
UmVxdWVzdGVkIGJ5IHBvZGl2aWxvdiBvbiAjd2Via2l0KS4KKworICAgICAgICAqIGluc3BlY3Rv
ci9mcm9udC1lbmQvRGVidWdnZXJQcmVzZW50YXRpb25Nb2RlbC5qczoKKyAgICAgICAgKFdlYklu
c3BlY3Rvci5EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsLnByb3RvdHlwZS5fcGFyc2VkU2NyaXB0
U291cmNlKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVs
LnByb3RvdHlwZS5fZmFpbGVkVG9QYXJzZVNjcmlwdFNvdXJjZSk6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuRGVidWdnZXJQcmVzZW50YXRpb25Nb2RlbC5wcm90b3R5cGUuX3NjcmlwdFNvdXJjZUNo
YW5nZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRlYnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwu
cHJvdG90eXBlLmJyZWFrcG9pbnRzRm9yU291cmNlRmlsZUlkKToKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsLnByb3RvdHlwZS5maW5kQnJlYWtwb2ludCk6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuRGVidWdnZXJQcmVzZW50YXRpb25Nb2RlbC5wcm90b3R5
cGUuX2JyZWFrcG9pbnRBZGRlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRGVidWdnZXJQcmVz
ZW50YXRpb25Nb2RlbC5wcm90b3R5cGUuX2JyZWFrcG9pbnRSZW1vdmVkKToKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsLnByb3RvdHlwZS5fYnJlYWtwb2lu
dFJlc29sdmVkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5EZWJ1Z2dlclByZXNlbnRhdGlvbk1v
ZGVsLnByb3RvdHlwZS5fZW5jb2RlU291cmNlTG9jYXRpb24pOgorICAgICAgICAoV2ViSW5zcGVj
dG9yLkRlYnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwucHJvdG90eXBlLl9yZXN0b3JlQnJlYWtwb2lu
dHMpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRlYnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwucHJv
dG90eXBlLnNldCBzZWxlY3RlZENhbGxGcmFtZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRGVi
dWdnZXJQcmVzZW50YXRpb25Nb2RlbC5wcm90b3R5cGUuX2FjdHVhbExvY2F0aW9uVG9Tb3VyY2VM
b2NhdGlvbik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRGVidWdnZXJQcmVzZW50YXRpb25Nb2Rl
bC5wcm90b3R5cGUucmVzZXQpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0
c1BhbmVsLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNjcmlwdHNQYW5lbCk6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuU2NyaXB0c1BhbmVsLnByb3RvdHlwZS5fcGFyc2VkU2NyaXB0U291cmNl
KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TY3JpcHRzUGFuZWwucHJvdG90eXBlLl9mYWlsZWRU
b1BhcnNlU2NyaXB0U291cmNlKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TY3JpcHRzUGFuZWwu
cHJvdG90eXBlLl9zY3JpcHRTb3VyY2VDaGFuZ2VkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5T
Y3JpcHRzUGFuZWwucHJvdG90eXBlLl9hZGRTY3JpcHQpOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LlNjcmlwdHNQYW5lbC5wcm90b3R5cGUuX3Jlc291cmNlRm9yVVJMKToKKyAgICAgICAgKFdlYklu
c3BlY3Rvci5TY3JpcHRzUGFuZWwucHJvdG90eXBlLl9yZXNvdXJjZUxvYWRpbmdGaW5pc2hlZCk6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2NyaXB0c1BhbmVsLnByb3RvdHlwZS5fYWRkT3B0aW9u
VG9GaWxlc1NlbGVjdEFuZFNob3dTb3VyY2VGcmFtZUlmTmVlZGVkKToKKyAgICAgICAgKFdlYklu
c3BlY3Rvci5TY3JpcHRzUGFuZWwucHJvdG90eXBlLl9zaG93U291cmNlRnJhbWUpOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLlNjcmlwdHNQYW5lbC5wcm90b3R5cGUuX3JlY3JlYXRlU291cmNlRnJh
bWUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNjcmlwdHNQYW5lbC5wcm90b3R5cGUuX3NvdXJj
ZUZpbGVJZEZvclNjcmlwdCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2NyaXB0c1BhbmVsLnBy
b3RvdHlwZS5fY2FsbEZyYW1lU2VsZWN0ZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNvdXJj
ZUZyYW1lRGVsZWdhdGVGb3JTY3JpcHRzUGFuZWwucHJvdG90eXBlLnJlcXVlc3RDb250ZW50KToK
KwogMjAxMS0wMy0xNyAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAg
ICBSZXZpZXdlZCBieSBKdXN0aW4gR2FyY2lhLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsLmpzIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsLmpz
CmluZGV4IGM5OTAzNjYwMzQ1ZWJjZDMxNTVhYzc0ZWZiMTZjYTdjYzM3MjVlN2UuLjVlZjA1MTcw
MmFmMTJjYWI5MzM1NTc2ZDcwMGJkM2I3OTlmMjhhZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRGVidWdnZXJQcmVzZW50YXRpb25Nb2RlbC5qcworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RlYnVnZ2VyUHJlc2VudGF0aW9u
TW9kZWwuanMKQEAgLTQwLDggKzQwLDYgQEAgV2ViSW5zcGVjdG9yLkRlYnVnZ2VyUHJlc2VudGF0
aW9uTW9kZWwgPSBmdW5jdGlvbigpCiB9CiAKIFdlYkluc3BlY3Rvci5EZWJ1Z2dlclByZXNlbnRh
dGlvbk1vZGVsLkV2ZW50cyA9IHsKLSAgICBTb3VyY2VGaWxlQWRkZWQ6ICJzb3VyY2UtZmlsZS1h
ZGRlZCIsCi0gICAgU291cmNlRmlsZUNoYW5nZWQ6ICJzb3VyY2UtZmlsZS1jaGFuZ2VkIiwKICAg
ICBCcmVha3BvaW50QWRkZWQ6ICJicmVha3BvaW50LWFkZGVkIiwKICAgICBCcmVha3BvaW50UmVt
b3ZlZDogImJyZWFrcG9pbnQtcmVtb3ZlZCIKIH0KQEAgLTUyLDkyICs1MCwyMiBAQCBXZWJJbnNw
ZWN0b3IuRGVidWdnZXJQcmVzZW50YXRpb25Nb2RlbC5wcm90b3R5cGUgPSB7CiAgICAgICAgIHRo
aXMuX3Jlc3RvcmVCcmVha3BvaW50cygpOwogICAgIH0sCiAKLSAgICBzb3VyY2VGaWxlOiBmdW5j
dGlvbihzb3VyY2VGaWxlSWQpCi0gICAgewotICAgICAgICByZXR1cm4gdGhpcy5fc291cmNlRmls
ZXNbc291cmNlRmlsZUlkXTsKLSAgICB9LAotCi0gICAgcmVxdWVzdFNvdXJjZUZpbGVDb250ZW50
OiBmdW5jdGlvbihzb3VyY2VGaWxlSWQsIGNhbGxiYWNrKQotICAgIHsKLSAgICAgICAgdmFyIHNv
dXJjZUZpbGUgPSB0aGlzLl9zb3VyY2VGaWxlc1tzb3VyY2VGaWxlSWRdOwotICAgICAgICB2YXIg
c2NyaXB0ID0gc291cmNlRmlsZS5fc2NyaXB0OwotICAgICAgICB2YXIgcmVzb3VyY2UgPSBzb3Vy
Y2VGaWxlLl9yZXNvdXJjZTsKLSAgICAgICAgaWYgKHJlc291cmNlKSB7Ci0gICAgICAgICAgICAv
LyBGSVhNRTogbW92ZSBwcm92aWRlcidzIGxvYWQgZnVuY3Rpb25zIGhlcmUuCi0gICAgICAgICAg
ICB2YXIgcHJvdmlkZXIgPSBuZXcgV2ViSW5zcGVjdG9yLlNvdXJjZUZyYW1lRGVsZWdhdGVGb3JT
Y3JpcHRzUGFuZWwobnVsbCwgbnVsbCwgc2NyaXB0KTsKLSAgICAgICAgICAgIGlmIChyZXNvdXJj
ZS5maW5pc2hlZCkKLSAgICAgICAgICAgICAgICBwcm92aWRlci5fbG9hZFJlc291cmNlQ29udGVu
dChyZXNvdXJjZSwgY2FsbGJhY2spOwotICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAg
IHByb3ZpZGVyLl9sb2FkQW5kQ29uY2F0ZW5hdGVTY3JpcHRzQ29udGVudChjYWxsYmFjayk7Ci0g
ICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBmdW5jdGlvbiBkaWRSZXF1ZXN0U291cmNlKHNv
dXJjZSkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBjYWxsYmFjaygidGV4dC9qYXZh
c2NyaXB0Iiwgc291cmNlKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHNjcmlwdC5yZXF1
ZXN0U291cmNlKGRpZFJlcXVlc3RTb3VyY2UpOwotICAgICAgICB9Ci0gICAgfSwKLQogICAgIF9w
YXJzZWRTY3JpcHRTb3VyY2U6IGZ1bmN0aW9uKGV2ZW50KQogICAgIHsKLSAgICAgICAgdGhpcy5f
YWRkU2NyaXB0KGV2ZW50LmRhdGEpOwotICAgIH0sCi0KLSAgICBfZmFpbGVkVG9QYXJzZVNjcmlw
dFNvdXJjZTogZnVuY3Rpb24oZXZlbnQpCi0gICAgewotICAgICAgICB0aGlzLl9hZGRTY3JpcHQo
ZXZlbnQuZGF0YSk7Ci0gICAgfSwKLQotICAgIF9hZGRTY3JpcHQ6IGZ1bmN0aW9uKHNjcmlwdCkK
LSAgICB7Ci0gICAgICAgIHZhciBzb3VyY2VGaWxlSWQgPSBzY3JpcHQuc291cmNlVVJMIHx8IHNj
cmlwdC5zb3VyY2VJRDsKLSAgICAgICAgaWYgKHNvdXJjZUZpbGVJZCBpbiB0aGlzLl9zb3VyY2VG
aWxlcykKLSAgICAgICAgICAgIHJldHVybjsKLQotICAgICAgICB2YXIgc291cmNlRmlsZSA9IHt9
OwotICAgICAgICBzb3VyY2VGaWxlLmlkID0gc291cmNlRmlsZUlkOwotICAgICAgICBzb3VyY2VG
aWxlLnVybCA9IHNjcmlwdC5zb3VyY2VVUkw7Ci0gICAgICAgIHNvdXJjZUZpbGUuaXNFeHRlbnNp
b25TY3JpcHQgPSBzY3JpcHQud29ybGRUeXBlID09PSBXZWJJbnNwZWN0b3IuU2NyaXB0Lldvcmxk
VHlwZS5FWFRFTlNJT05TX1dPUkxEOwotICAgICAgICBzb3VyY2VGaWxlLl9zY3JpcHQgPSBzY3Jp
cHQ7Ci0gICAgICAgIHNvdXJjZUZpbGUuX3Jlc291cmNlID0gc2NyaXB0LnNvdXJjZVVSTCA/IHRo
aXMuX3Jlc291cmNlRm9yVVJMKHNjcmlwdC5zb3VyY2VVUkwpIDogbnVsbDsKLSAgICAgICAgdGhp
cy5fc291cmNlRmlsZXNbc291cmNlRmlsZUlkXSA9IHNvdXJjZUZpbGU7Ci0KLSAgICAgICAgaWYg
KCFzb3VyY2VGaWxlLl9yZXNvdXJjZSB8fCBzb3VyY2VGaWxlLl9yZXNvdXJjZS5maW5pc2hlZCkK
LSAgICAgICAgICAgIHRoaXMuX3NvdXJjZUZpbGVBZGRlZChzb3VyY2VGaWxlKTsKLSAgICAgICAg
ZWxzZSB7Ci0gICAgICAgICAgICBzb3VyY2VGaWxlLl9wZW5kaW5nID0gdHJ1ZTsKLSAgICAgICAg
ICAgIGZ1bmN0aW9uIHJlc291cmNlRmluaXNoZWQoKQotICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgIGlmIChzb3VyY2VGaWxlLl9wZW5kaW5nKSB7Ci0gICAgICAgICAgICAgICAgICAgIGRl
bGV0ZSBzb3VyY2VGaWxlLl9wZW5kaW5nOwotICAgICAgICAgICAgICAgICAgICB0aGlzLl9zb3Vy
Y2VGaWxlQWRkZWQoc291cmNlRmlsZSk7Ci0gICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAg
ICAgICAgICAgICAgICAgLy8gU291cmNlIGZpbGUgd2FzIGZvcmNpYmx5IGFkZGVkIGJlZm9yZSBy
ZXNvdXJjZSB3YXMgZmluaXNoZWQuCi0gICAgICAgICAgICAgICAgICAgIHRoaXMuZGlzcGF0Y2hF
dmVudFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rvci5EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsLkV2
ZW50cy5Tb3VyY2VGaWxlQ2hhbmdlZCwgc291cmNlRmlsZSk7Ci0gICAgICAgICAgICAgICAgfQot
ICAgICAgICAgICAgfQotICAgICAgICAgICAgc291cmNlRmlsZS5fcmVzb3VyY2UuYWRkRXZlbnRM
aXN0ZW5lcigiZmluaXNoZWQiLCByZXNvdXJjZUZpbmlzaGVkLmJpbmQodGhpcykpOwotICAgICAg
ICB9Ci0gICAgfSwKLQotICAgIF9lbnN1cmVTb3VyY2VGaWxlQWRkZWQ6IGZ1bmN0aW9uKHNjcmlw
dCkKLSAgICB7Ci0gICAgICAgIHZhciBzb3VyY2VGaWxlID0gdGhpcy5fc291cmNlRmlsZXNbc2Ny
aXB0LnNvdXJjZVVSTCB8fCBzY3JpcHQuc291cmNlSURdOwotICAgICAgICBpZiAoIXNvdXJjZUZp
bGUuX3Jlc291cmNlIHx8IHNvdXJjZUZpbGUuX3Jlc291cmNlLmZpbmlzaGVkKQotICAgICAgICAg
ICAgcmV0dXJuOwotCi0gICAgICAgIGlmIChzb3VyY2VGaWxlLl9wZW5kaW5nKSB7Ci0gICAgICAg
ICAgICBkZWxldGUgc291cmNlRmlsZS5fcGVuZGluZzsKLSAgICAgICAgICAgIHRoaXMuX3NvdXJj
ZUZpbGVBZGRlZChzb3VyY2VGaWxlKTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIC8v
IFNvdXJjZSBmaWxlIHdhcyBhbHJlYWR5IGFkZGVkLCBub3cgaXRzIGNvbnRlbnQgc2hvdWxkIGJl
IHVwZGF0ZWQgd2l0aCBuZXcgc2NyaXB0IGJvZHkuCi0gICAgICAgICAgICB0aGlzLmRpc3BhdGNo
RXZlbnRUb0xpc3RlbmVycyhXZWJJbnNwZWN0b3IuRGVidWdnZXJQcmVzZW50YXRpb25Nb2RlbC5F
dmVudHMuU291cmNlRmlsZUNoYW5nZWQsIHNvdXJjZUZpbGUpOworICAgICAgICB2YXIgc2NyaXB0
ID0gZXZlbnQuZGF0YTsKKyAgICAgICAgdmFyIGJyZWFrcG9pbnRzID0gV2ViSW5zcGVjdG9yLmRl
YnVnZ2VyTW9kZWwuYnJlYWtwb2ludHM7CisgICAgICAgIGZvciAodmFyIGlkIGluIGJyZWFrcG9p
bnRzKSB7CisgICAgICAgICAgICBpZiAoaWQgaW4gdGhpcy5fcHJlc2VudGF0aW9uQnJlYWtwb2lu
dHMpCisgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICB2YXIgYnJlYWtwb2lu
dCA9IGJyZWFrcG9pbnRzW2lkXTsKKyAgICAgICAgICAgIGlmIChicmVha3BvaW50LnVybCAmJiBi
cmVha3BvaW50LnVybCA9PT0gc2NyaXB0LnNvdXJjZVVSTCkKKyAgICAgICAgICAgICAgICB0aGlz
Ll9icmVha3BvaW50QWRkZWQoYnJlYWtwb2ludCk7CiAgICAgICAgIH0KICAgICB9LAogCi0gICAg
X3Jlc291cmNlRm9yVVJMOiBmdW5jdGlvbih1cmwpCisgICAgX2ZhaWxlZFRvUGFyc2VTY3JpcHRT
b3VyY2U6IGZ1bmN0aW9uKGV2ZW50KQogICAgIHsKLSAgICAgICAgcmV0dXJuIFdlYkluc3BlY3Rv
ci5uZXR3b3JrTWFuYWdlci5pbmZsaWdodFJlc291cmNlRm9yVVJMKHVybCkgfHwgV2ViSW5zcGVj
dG9yLnJlc291cmNlRm9yVVJMKHVybCk7CisgICAgICAgIHRoaXMuX3BhcnNlZFNjcmlwdFNvdXJj
ZShldmVudCk7CiAgICAgfSwKIAogICAgIF9zY3JpcHRTb3VyY2VDaGFuZ2VkOiBmdW5jdGlvbihl
dmVudCkKQEAgLTE0NSwxMyArNzMsNiBAQCBXZWJJbnNwZWN0b3IuRGVidWdnZXJQcmVzZW50YXRp
b25Nb2RlbC5wcm90b3R5cGUgPSB7CiAgICAgICAgIHZhciBzb3VyY2VJRCA9IGV2ZW50LmRhdGEu
c291cmNlSUQ7CiAgICAgICAgIHZhciBvbGRTb3VyY2UgPSBldmVudC5kYXRhLm9sZFNvdXJjZTsK
ICAgICAgICAgdmFyIHNjcmlwdCA9IFdlYkluc3BlY3Rvci5kZWJ1Z2dlck1vZGVsLnNjcmlwdEZv
clNvdXJjZUlEKHNvdXJjZUlEKTsKLQotICAgICAgICB2YXIgcmVzb3VyY2UgPSBXZWJJbnNwZWN0
b3IucmVzb3VyY2VGb3JVUkwoc2NyaXB0LnNvdXJjZVVSTCk7Ci0gICAgICAgIGlmIChyZXNvdXJj
ZSkgewotICAgICAgICAgICAgdmFyIHJldmVydEhhbmRsZSA9IFdlYkluc3BlY3Rvci5kZWJ1Z2dl
ck1vZGVsLmVkaXRTY3JpcHRTb3VyY2UuYmluZChXZWJJbnNwZWN0b3IuZGVidWdnZXJNb2RlbCwg
c2NyaXB0LnNvdXJjZUlELCBvbGRTb3VyY2UpOwotICAgICAgICAgICAgcmVzb3VyY2Uuc2V0Q29u
dGVudChzY3JpcHQuc291cmNlLCByZXZlcnRIYW5kbGUpOwotICAgICAgICB9Ci0KICAgICAgICAg
dmFyIHNvdXJjZUZpbGVJZCA9IHNjcmlwdC5zb3VyY2VVUkwgfHwgc2NyaXB0LnNvdXJjZUlEOwog
CiAgICAgICAgIC8vIENsZWFyIGFuZCByZS1jcmVhdGUgYnJlYWtwb2ludHMgYWNjb3JkaW5nIHRv
IHRleHQgZGlmZi4KQEAgLTE4MCwyMCArMTAxLDYgQEAgV2ViSW5zcGVjdG9yLkRlYnVnZ2VyUHJl
c2VudGF0aW9uTW9kZWwucHJvdG90eXBlID0gewogICAgICAgICAgICAgaWYgKG5ld0xpbmVOdW1i
ZXIgIT09IHVuZGVmaW5lZCkKICAgICAgICAgICAgICAgICB0aGlzLnNldEJyZWFrcG9pbnQoc291
cmNlRmlsZUlkLCBuZXdMaW5lTnVtYmVyLCBicmVha3BvaW50LmNvbmRpdGlvbiwgYnJlYWtwb2lu
dC5lbmFibGVkKTsKICAgICAgICAgfQotCi0gICAgICAgIHZhciBzb3VyY2VGaWxlID0gdGhpcy5f
c291cmNlRmlsZXNbc291cmNlRmlsZUlkXTsKLSAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9M
aXN0ZW5lcnMoV2ViSW5zcGVjdG9yLkRlYnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwuRXZlbnRzLlNv
dXJjZUZpbGVDaGFuZ2VkLCBzb3VyY2VGaWxlKTsKLSAgICB9LAotCi0gICAgX3NvdXJjZUZpbGVB
ZGRlZDogZnVuY3Rpb24oc291cmNlRmlsZSkKLSAgICB7Ci0gICAgICAgIHNvdXJjZUZpbGUuX2Jy
ZWFrcG9pbnRzID0gW107Ci0gICAgICAgIHZhciBicmVha3BvaW50cyA9IFdlYkluc3BlY3Rvci5k
ZWJ1Z2dlck1vZGVsLmJyZWFrcG9pbnRzOwotICAgICAgICBmb3IgKHZhciBpZCBpbiBicmVha3Bv
aW50cykgewotICAgICAgICAgICAgaWYgKCEoaWQgaW4gdGhpcy5fcHJlc2VudGF0aW9uQnJlYWtw
b2ludHMpKQotICAgICAgICAgICAgICAgIHRoaXMuX2JyZWFrcG9pbnRBZGRlZChicmVha3BvaW50
c1tpZF0pOwotICAgICAgICB9Ci0gICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJz
KFdlYkluc3BlY3Rvci5EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsLkV2ZW50cy5Tb3VyY2VGaWxl
QWRkZWQsIHNvdXJjZUZpbGUpOwogICAgIH0sCiAKICAgICBjb250aW51ZVRvTGluZTogZnVuY3Rp
b24oc291cmNlRmlsZUlkLCBsaW5lTnVtYmVyKQpAQCAtMjA1LDEyICsxMTIsMTIgQEAgV2ViSW5z
cGVjdG9yLkRlYnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwucHJvdG90eXBlID0gewogCiAgICAgYnJl
YWtwb2ludHNGb3JTb3VyY2VGaWxlSWQ6IGZ1bmN0aW9uKHNvdXJjZUZpbGVJZCkKICAgICB7Ci0g
ICAgICAgIHZhciBzb3VyY2VGaWxlID0gdGhpcy5zb3VyY2VGaWxlKHNvdXJjZUZpbGVJZCk7Ci0g
ICAgICAgIGlmICghc291cmNlRmlsZSkKLSAgICAgICAgICAgIHJldHVybiBbXTsKICAgICAgICAg
dmFyIGJyZWFrcG9pbnRzID0gW107Ci0gICAgICAgIGZvciAodmFyIGxpbmVOdW1iZXIgaW4gc291
cmNlRmlsZS5fYnJlYWtwb2ludHMpCi0gICAgICAgICAgICBicmVha3BvaW50cy5wdXNoKHNvdXJj
ZUZpbGUuX2JyZWFrcG9pbnRzW2xpbmVOdW1iZXJdKTsKKyAgICAgICAgZm9yICh2YXIgaWQgaW4g
dGhpcy5fcHJlc2VudGF0aW9uQnJlYWtwb2ludHMpIHsKKyAgICAgICAgICAgIHZhciBicmVha3Bv
aW50ID0gdGhpcy5fcHJlc2VudGF0aW9uQnJlYWtwb2ludHNbaWRdOworICAgICAgICAgICAgaWYg
KGJyZWFrcG9pbnQuc291cmNlRmlsZUlkID09PSBzb3VyY2VGaWxlSWQpCisgICAgICAgICAgICAg
ICAgYnJlYWtwb2ludHMucHVzaChicmVha3BvaW50KTsKKyAgICAgICAgfQogICAgICAgICByZXR1
cm4gYnJlYWtwb2ludHM7CiAgICAgfSwKIApAQCAtMjUzLDIwICsxNjAsMTggQEAgV2ViSW5zcGVj
dG9yLkRlYnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwucHJvdG90eXBlID0gewogCiAgICAgZmluZEJy
ZWFrcG9pbnQ6IGZ1bmN0aW9uKHNvdXJjZUZpbGVJZCwgbGluZU51bWJlcikKICAgICB7Ci0gICAg
ICAgIHZhciBzb3VyY2VGaWxlID0gdGhpcy5zb3VyY2VGaWxlKHNvdXJjZUZpbGVJZCk7Ci0gICAg
ICAgIGlmIChzb3VyY2VGaWxlKQotICAgICAgICAgICAgcmV0dXJuIHNvdXJjZUZpbGUuX2JyZWFr
cG9pbnRzW2xpbmVOdW1iZXJdOworICAgICAgICB2YXIgZW5jb2RlZFNvdXJjZUxvY2F0aW9uID0g
dGhpcy5fZW5jb2RlU291cmNlTG9jYXRpb24oc291cmNlRmlsZUlkLCBsaW5lTnVtYmVyKTsKKyAg
ICAgICAgcmV0dXJuIHRoaXMuX3NvdXJjZUxvY2F0aW9uVG9CcmVha3BvaW50W2VuY29kZWRTb3Vy
Y2VMb2NhdGlvbl07CiAgICAgfSwKIAogICAgIF9icmVha3BvaW50QWRkZWQ6IGZ1bmN0aW9uKGJy
ZWFrcG9pbnQpCiAgICAgewogICAgICAgICB2YXIgbG9jYXRpb24gPSBicmVha3BvaW50LmxvY2F0
aW9ucy5sZW5ndGggPyBicmVha3BvaW50LmxvY2F0aW9uc1swXSA6IGJyZWFrcG9pbnQ7Ci0gICAg
ICAgIHZhciBzb3VyY2VMb2NhdGlvbiA9IHRoaXMuX2FjdHVhbExvY2F0aW9uVG9Tb3VyY2VMb2Nh
dGlvbihicmVha3BvaW50LnVybCwgYnJlYWtwb2ludC5zb3VyY2VJRCwgbG9jYXRpb24ubGluZU51
bWJlciwgbG9jYXRpb24uY29sdW1uTnVtYmVyKTsKLSAgICAgICAgaWYgKCFzb3VyY2VMb2NhdGlv
bikKLSAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgdmFyIHNvdXJjZUxvY2F0aW9uID0gdGhp
cy5fYWN0dWFsTG9jYXRpb25Ub1NvdXJjZUxvY2F0aW9uKGJyZWFrcG9pbnQudXJsIHx8IGJyZWFr
cG9pbnQuc291cmNlSUQsIGxvY2F0aW9uLmxpbmVOdW1iZXIsIGxvY2F0aW9uLmNvbHVtbk51bWJl
cik7CiAKLSAgICAgICAgaWYgKHRoaXMuZmluZEJyZWFrcG9pbnQoc291cmNlTG9jYXRpb24uc291
cmNlRmlsZUlkLCBzb3VyY2VMb2NhdGlvbi5saW5lTnVtYmVyKSkgewotICAgICAgICAgICAgLy8g
V2UgY2FuJ3Qgc2hvdyBtb3JlIHRoYW4gb25lIGJyZWFrcG9pbnQgb24gYSBzaW5nbGUgc291cmNl
IGZpbGUgbGluZS4KKyAgICAgICAgdmFyIGVuY29kZWRTb3VyY2VMb2NhdGlvbiA9IHRoaXMuX2Vu
Y29kZVNvdXJjZUxvY2F0aW9uKHNvdXJjZUxvY2F0aW9uLnNvdXJjZUZpbGVJZCwgc291cmNlTG9j
YXRpb24ubGluZU51bWJlcik7CisgICAgICAgIGlmIChlbmNvZGVkU291cmNlTG9jYXRpb24gaW4g
dGhpcy5fc291cmNlTG9jYXRpb25Ub0JyZWFrcG9pbnQpIHsKKyAgICAgICAgICAgIC8vIFdlIGNh
bid0IHNob3cgbW9yZSB0aGFuIG9uZSBicmVha3BvaW50IG9uIGEgc2luZ2xlIHNvdXJjZSBmcmFt
ZSBsaW5lLgogICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmRlYnVnZ2VyTW9kZWwucmVtb3ZlQnJl
YWtwb2ludChicmVha3BvaW50LmlkKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQpA
QCAtMjc4LDE2ICsxODMsMTYgQEAgV2ViSW5zcGVjdG9yLkRlYnVnZ2VyUHJlc2VudGF0aW9uTW9k
ZWwucHJvdG90eXBlID0gewogICAgICAgICAgICAgcmVzb2x2ZWQ6ICEhYnJlYWtwb2ludC5sb2Nh
dGlvbnMubGVuZ3RoLAogICAgICAgICAgICAgY29uZGl0aW9uOiBicmVha3BvaW50LmNvbmRpdGlv
biwKICAgICAgICAgICAgIGVuYWJsZWQ6IGJyZWFrcG9pbnQuZW5hYmxlZCwKLSAgICAgICAgICAg
IF9pZDogYnJlYWtwb2ludC5pZAorICAgICAgICAgICAgX2lkOiBicmVha3BvaW50LmlkLAorICAg
ICAgICAgICAgX2VuY29kZWRTb3VyY2VMb2NhdGlvbjogZW5jb2RlZFNvdXJjZUxvY2F0aW9uCiAg
ICAgICAgIH07CiAgICAgICAgIGlmIChsb2NhdGlvbi5zb3VyY2VJRCkgewogICAgICAgICAgICAg
dmFyIHNjcmlwdCA9IFdlYkluc3BlY3Rvci5kZWJ1Z2dlck1vZGVsLnNjcmlwdEZvclNvdXJjZUlE
KGxvY2F0aW9uLnNvdXJjZUlEKTsKICAgICAgICAgICAgIHByZXNlbnRhdGlvbkJyZWFrcG9pbnQu
bG9hZFNuaXBwZXQgPSBzY3JpcHQuc291cmNlTGluZS5iaW5kKHNjcmlwdCwgbG9jYXRpb24ubGlu
ZU51bWJlcik7CiAgICAgICAgIH0KIAorICAgICAgICB0aGlzLl9zb3VyY2VMb2NhdGlvblRvQnJl
YWtwb2ludFtlbmNvZGVkU291cmNlTG9jYXRpb25dID0gcHJlc2VudGF0aW9uQnJlYWtwb2ludDsK
ICAgICAgICAgdGhpcy5fcHJlc2VudGF0aW9uQnJlYWtwb2ludHNbYnJlYWtwb2ludC5pZF0gPSBw
cmVzZW50YXRpb25CcmVha3BvaW50OwotICAgICAgICB2YXIgc291cmNlRmlsZSA9IHRoaXMuc291
cmNlRmlsZShzb3VyY2VMb2NhdGlvbi5zb3VyY2VGaWxlSWQpOwotICAgICAgICBzb3VyY2VGaWxl
Ll9icmVha3BvaW50c1tzb3VyY2VMb2NhdGlvbi5saW5lTnVtYmVyXSA9IHByZXNlbnRhdGlvbkJy
ZWFrcG9pbnQ7CiAgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdlYkluc3Bl
Y3Rvci5EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsLkV2ZW50cy5CcmVha3BvaW50QWRkZWQsIHBy
ZXNlbnRhdGlvbkJyZWFrcG9pbnQpOwogICAgIH0sCiAKQEAgLTI5NSwyNSArMjAwLDI3IEBAIFdl
Ykluc3BlY3Rvci5EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsLnByb3RvdHlwZSA9IHsKICAgICB7
CiAgICAgICAgIHZhciBicmVha3BvaW50ID0gdGhpcy5fcHJlc2VudGF0aW9uQnJlYWtwb2ludHNb
YnJlYWtwb2ludElkXTsKICAgICAgICAgZGVsZXRlIHRoaXMuX3ByZXNlbnRhdGlvbkJyZWFrcG9p
bnRzW2JyZWFrcG9pbnRJZF07Ci0gICAgICAgIHZhciBzb3VyY2VGaWxlID0gdGhpcy5zb3VyY2VG
aWxlKGJyZWFrcG9pbnQuc291cmNlRmlsZUlkKTsKLSAgICAgICAgZGVsZXRlIHNvdXJjZUZpbGUu
X2JyZWFrcG9pbnRzW2JyZWFrcG9pbnQubGluZU51bWJlcl07CisgICAgICAgIGRlbGV0ZSB0aGlz
Ll9zb3VyY2VMb2NhdGlvblRvQnJlYWtwb2ludFticmVha3BvaW50Ll9lbmNvZGVkU291cmNlTG9j
YXRpb25dOwogICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXZWJJbnNwZWN0
b3IuRGVidWdnZXJQcmVzZW50YXRpb25Nb2RlbC5FdmVudHMuQnJlYWtwb2ludFJlbW92ZWQsIGJy
ZWFrcG9pbnQpOwogICAgIH0sCiAKICAgICBfYnJlYWtwb2ludFJlc29sdmVkOiBmdW5jdGlvbihl
dmVudCkKICAgICB7CiAgICAgICAgIHZhciBicmVha3BvaW50ID0gZXZlbnQuZGF0YTsKLSAgICAg
ICAgaWYgKCEoYnJlYWtwb2ludC5pZCBpbiB0aGlzLl9wcmVzZW50YXRpb25CcmVha3BvaW50cykp
Ci0gICAgICAgICAgICByZXR1cm47CiAgICAgICAgIHRoaXMuX2JyZWFrcG9pbnRSZW1vdmVkKGJy
ZWFrcG9pbnQuaWQpOwogICAgICAgICB0aGlzLl9icmVha3BvaW50QWRkZWQoYnJlYWtwb2ludCk7
CiAgICAgfSwKIAorICAgIF9lbmNvZGVTb3VyY2VMb2NhdGlvbjogZnVuY3Rpb24oc291cmNlRmls
ZUlkLCBsaW5lTnVtYmVyKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHNvdXJjZUZpbGVJZCArICI6
IiArIGxpbmVOdW1iZXI7CisgICAgfSwKKwogICAgIF9yZXN0b3JlQnJlYWtwb2ludHM6IGZ1bmN0
aW9uKCkKICAgICB7CiAgICAgICAgIGZ1bmN0aW9uIGRpZFNldEJyZWFrcG9pbnQoYnJlYWtwb2lu
dCkKICAgICAgICAgewotICAgICAgICAgICAgaWYgKGJyZWFrcG9pbnQpCisgICAgICAgICAgICBp
ZiAoYnJlYWtwb2ludCAmJiBXZWJJbnNwZWN0b3IuZGVidWdnZXJNb2RlbC5zY3JpcHRzRm9yVVJM
KGJyZWFrcG9pbnQudXJsKS5sZW5ndGgpCiAgICAgICAgICAgICAgICAgdGhpcy5fYnJlYWtwb2lu
dEFkZGVkKGJyZWFrcG9pbnQpOwogICAgICAgICB9CiAgICAgICAgIHZhciBicmVha3BvaW50cyA9
IFdlYkluc3BlY3Rvci5zZXR0aW5ncy5icmVha3BvaW50czsKQEAgLTM0OCw4ICsyNTUsNyBAQCBX
ZWJJbnNwZWN0b3IuRGVidWdnZXJQcmVzZW50YXRpb25Nb2RlbC5wcm90b3R5cGUgPSB7CiAgICAg
ICAgIGlmICghY2FsbEZyYW1lKQogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB2YXIgc2Ny
aXB0ID0gV2ViSW5zcGVjdG9yLmRlYnVnZ2VyTW9kZWwuc2NyaXB0Rm9yU291cmNlSUQoY2FsbEZy
YW1lLnNvdXJjZUlEKTsKLSAgICAgICAgdGhpcy5fZW5zdXJlU291cmNlRmlsZUFkZGVkKHNjcmlw
dCk7Ci0gICAgICAgIGNhbGxGcmFtZS5zb3VyY2VMb2NhdGlvbiA9IHRoaXMuX2FjdHVhbExvY2F0
aW9uVG9Tb3VyY2VMb2NhdGlvbihzY3JpcHQuc291cmNlVVJMLCBzY3JpcHQuc291cmNlSUQsIGNh
bGxGcmFtZS5saW5lLCBjYWxsRnJhbWUuY29sdW1uKTsKKyAgICAgICAgY2FsbEZyYW1lLnNvdXJj
ZUxvY2F0aW9uID0gdGhpcy5fYWN0dWFsTG9jYXRpb25Ub1NvdXJjZUxvY2F0aW9uKHNjcmlwdC5z
b3VyY2VVUkwgfHwgc2NyaXB0LnNvdXJjZUlELCBjYWxsRnJhbWUubGluZSwgY2FsbEZyYW1lLmNv
bHVtbik7CiAgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rv
ci5EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsLkV2ZW50cy5DYWxsRnJhbWVTZWxlY3RlZCwgY2Fs
bEZyYW1lKTsKICAgICB9LAogCkBAIC0zNTgsMTIgKzI2NCwxMCBAQCBXZWJJbnNwZWN0b3IuRGVi
dWdnZXJQcmVzZW50YXRpb25Nb2RlbC5wcm90b3R5cGUgPSB7CiAgICAgICAgIHJldHVybiB0aGlz
Ll9zZWxlY3RlZENhbGxGcmFtZTsKICAgICB9LAogCi0gICAgX2FjdHVhbExvY2F0aW9uVG9Tb3Vy
Y2VMb2NhdGlvbjogZnVuY3Rpb24oc2NyaXB0VVJMLCBzY3JpcHRJZCwgbGluZU51bWJlciwgY29s
dW1uTnVtYmVyKQorICAgIF9hY3R1YWxMb2NhdGlvblRvU291cmNlTG9jYXRpb246IGZ1bmN0aW9u
KHNvdXJjZUlELCBsaW5lTnVtYmVyLCBjb2x1bW5OdW1iZXIpCiAgICAgewogICAgICAgICAvLyBU
T0RPOiB1c2Ugc291cmNlIG1hcHBpbmcgdG8gb2J0YWluIHNvdXJjZSBsb2NhdGlvbi4KLSAgICAg
ICAgdmFyIHNvdXJjZUZpbGUgPSB0aGlzLl9zb3VyY2VGaWxlc1tzY3JpcHRVUkwgfHwgc2NyaXB0
SWRdOwotICAgICAgICBpZiAoc291cmNlRmlsZSAmJiAhc291cmNlRmlsZS5fcGVuZGluZykKLSAg
ICAgICAgICAgIHJldHVybiB7IHNvdXJjZUZpbGVJZDogc291cmNlRmlsZS5pZCwgbGluZU51bWJl
cjogbGluZU51bWJlciwgY29sdW1uTnVtYmVyOiBjb2x1bW5OdW1iZXIgfTsKKyAgICAgICAgcmV0
dXJuIHsgc291cmNlRmlsZUlkOiBzb3VyY2VJRCwgbGluZU51bWJlcjogbGluZU51bWJlciwgY29s
dW1uTnVtYmVyOiBjb2x1bW5OdW1iZXIgfTsKICAgICB9LAogCiAgICAgX3NvdXJjZUxvY2F0aW9u
VG9BY3R1YWxMb2NhdGlvbjogZnVuY3Rpb24oc291cmNlRmlsZUlkLCBsaW5lTnVtYmVyKQpAQCAt
Mzc5LDggKzI4Myw4IEBAIFdlYkluc3BlY3Rvci5EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsLnBy
b3RvdHlwZSA9IHsKIAogICAgIHJlc2V0OiBmdW5jdGlvbigpCiAgICAgewotICAgICAgICB0aGlz
Ll9zb3VyY2VGaWxlcyA9IHt9OwogICAgICAgICB0aGlzLl9wcmVzZW50YXRpb25CcmVha3BvaW50
cyA9IHt9OworICAgICAgICB0aGlzLl9zb3VyY2VMb2NhdGlvblRvQnJlYWtwb2ludCA9IHt9Owog
ICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9TY3JpcHRzUGFuZWwuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Nj
cmlwdHNQYW5lbC5qcwppbmRleCBlNmUyZDRiMzFiYWEzNzg2OWFhMDg1ZGJjMjEzNmVhODkxOGEy
ZWQyLi5mOWNjYzkyMmUwZDA1NmNlNTFkNWQ3YjZjYzQzNDY3ZjE2MTgzMzJkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdHNQYW5lbC5qcworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdHNQYW5lbC5qcwpAQCAt
MTg3LDExICsxODcsMTEgQEAgV2ViSW5zcGVjdG9yLlNjcmlwdHNQYW5lbCA9IGZ1bmN0aW9uKCkK
IAogICAgIFdlYkluc3BlY3Rvci5kZWJ1Z2dlck1vZGVsLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5z
cGVjdG9yLkRlYnVnZ2VyTW9kZWwuRXZlbnRzLkRlYnVnZ2VyV2FzRW5hYmxlZCwgdGhpcy5fZGVi
dWdnZXJXYXNFbmFibGVkLCB0aGlzKTsKICAgICBXZWJJbnNwZWN0b3IuZGVidWdnZXJNb2RlbC5h
ZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5EZWJ1Z2dlck1vZGVsLkV2ZW50cy5EZWJ1Z2dl
cldhc0Rpc2FibGVkLCB0aGlzLl9kZWJ1Z2dlcldhc0Rpc2FibGVkLCB0aGlzKTsKKyAgICBXZWJJ
bnNwZWN0b3IuZGVidWdnZXJNb2RlbC5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5EZWJ1
Z2dlck1vZGVsLkV2ZW50cy5QYXJzZWRTY3JpcHRTb3VyY2UsIHRoaXMuX3BhcnNlZFNjcmlwdFNv
dXJjZSwgdGhpcyk7CisgICAgV2ViSW5zcGVjdG9yLmRlYnVnZ2VyTW9kZWwuYWRkRXZlbnRMaXN0
ZW5lcihXZWJJbnNwZWN0b3IuRGVidWdnZXJNb2RlbC5FdmVudHMuRmFpbGVkVG9QYXJzZVNjcmlw
dFNvdXJjZSwgdGhpcy5fZmFpbGVkVG9QYXJzZVNjcmlwdFNvdXJjZSwgdGhpcyk7CisgICAgV2Vi
SW5zcGVjdG9yLmRlYnVnZ2VyTW9kZWwuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuRGVi
dWdnZXJNb2RlbC5FdmVudHMuU2NyaXB0U291cmNlQ2hhbmdlZCwgdGhpcy5fc2NyaXB0U291cmNl
Q2hhbmdlZCwgdGhpcyk7CiAgICAgV2ViSW5zcGVjdG9yLmRlYnVnZ2VyTW9kZWwuYWRkRXZlbnRM
aXN0ZW5lcihXZWJJbnNwZWN0b3IuRGVidWdnZXJNb2RlbC5FdmVudHMuRGVidWdnZXJQYXVzZWQs
IHRoaXMuX2RlYnVnZ2VyUGF1c2VkLCB0aGlzKTsKICAgICBXZWJJbnNwZWN0b3IuZGVidWdnZXJN
b2RlbC5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5EZWJ1Z2dlck1vZGVsLkV2ZW50cy5E
ZWJ1Z2dlclJlc3VtZWQsIHRoaXMuX2RlYnVnZ2VyUmVzdW1lZCwgdGhpcyk7Ci0KLSAgICB0aGlz
Ll9wcmVzZW50YXRpb25Nb2RlbC5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5EZWJ1Z2dl
clByZXNlbnRhdGlvbk1vZGVsLkV2ZW50cy5Tb3VyY2VGaWxlQWRkZWQsIHRoaXMuX3NvdXJjZUZp
bGVBZGRlZCwgdGhpcykKLSAgICB0aGlzLl9wcmVzZW50YXRpb25Nb2RlbC5hZGRFdmVudExpc3Rl
bmVyKFdlYkluc3BlY3Rvci5EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsLkV2ZW50cy5Tb3VyY2VG
aWxlQ2hhbmdlZCwgdGhpcy5fc291cmNlRmlsZUNoYW5nZWQsIHRoaXMpOwogICAgIHRoaXMuX3By
ZXNlbnRhdGlvbk1vZGVsLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkRlYnVnZ2VyUHJl
c2VudGF0aW9uTW9kZWwuRXZlbnRzLkJyZWFrcG9pbnRBZGRlZCwgdGhpcy5fYnJlYWtwb2ludEFk
ZGVkLCB0aGlzKTsKICAgICB0aGlzLl9wcmVzZW50YXRpb25Nb2RlbC5hZGRFdmVudExpc3RlbmVy
KFdlYkluc3BlY3Rvci5EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsLkV2ZW50cy5CcmVha3BvaW50
UmVtb3ZlZCwgdGhpcy5fYnJlYWtwb2ludFJlbW92ZWQsIHRoaXMpOwogICAgIHRoaXMuX3ByZXNl
bnRhdGlvbk1vZGVsLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkRlYnVnZ2VyUHJlc2Vu
dGF0aW9uTW9kZWwuRXZlbnRzLkNhbGxGcmFtZVNlbGVjdGVkLCB0aGlzLl9jYWxsRnJhbWVTZWxl
Y3RlZCwgdGhpcyk7CkBAIC0yNDksMzYgKzI0OSwxMTEgQEAgV2ViSW5zcGVjdG9yLlNjcmlwdHNQ
YW5lbC5wcm90b3R5cGUgPSB7CiAgICAgICAgIHJldHVybiB0aGlzLnRvZ2dsZUJyZWFrcG9pbnRz
QnV0dG9uLnRvZ2dsZWQ7CiAgICAgfSwKIAotICAgIF9zb3VyY2VGaWxlQWRkZWQ6IGZ1bmN0aW9u
KGV2ZW50KQorICAgIF9wYXJzZWRTY3JpcHRTb3VyY2U6IGZ1bmN0aW9uKGV2ZW50KQorICAgIHsK
KyAgICAgICAgdGhpcy5fYWRkU2NyaXB0KGV2ZW50LmRhdGEpOworICAgIH0sCisKKyAgICBfZmFp
bGVkVG9QYXJzZVNjcmlwdFNvdXJjZTogZnVuY3Rpb24oZXZlbnQpCisgICAgeworICAgICAgICB0
aGlzLl9hZGRTY3JpcHQoZXZlbnQuZGF0YSk7CisgICAgfSwKKworICAgIF9zY3JpcHRTb3VyY2VD
aGFuZ2VkOiBmdW5jdGlvbihldmVudCkKICAgICB7Ci0gICAgICAgIHZhciBzb3VyY2VGaWxlID0g
ZXZlbnQuZGF0YTsKKyAgICAgICAgdmFyIHNvdXJjZUlEID0gZXZlbnQuZGF0YS5zb3VyY2VJRDsK
KyAgICAgICAgdmFyIG9sZFNvdXJjZSA9IGV2ZW50LmRhdGEub2xkU291cmNlOwogCi0gICAgICAg
IGlmICghc291cmNlRmlsZS51cmwpIHsKLSAgICAgICAgICAgIC8vIEFub255bW91cyBzb3VyY2Vz
IGFyZSBzaG93biBvbmx5IHdoZW4gc3RlcHBpbmcuCisgICAgICAgIHZhciBzY3JpcHQgPSBXZWJJ
bnNwZWN0b3IuZGVidWdnZXJNb2RlbC5zY3JpcHRGb3JTb3VyY2VJRChzb3VyY2VJRCk7CisgICAg
ICAgIGlmIChzY3JpcHQucmVzb3VyY2UpIHsKKyAgICAgICAgICAgIHZhciByZXZlcnRIYW5kbGUg
PSBXZWJJbnNwZWN0b3IuZGVidWdnZXJNb2RlbC5lZGl0U2NyaXB0U291cmNlLmJpbmQoV2ViSW5z
cGVjdG9yLmRlYnVnZ2VyTW9kZWwsIHNvdXJjZUlELCBvbGRTb3VyY2UpOworICAgICAgICAgICAg
c2NyaXB0LnJlc291cmNlLnNldENvbnRlbnQoc2NyaXB0LnNvdXJjZSwgcmV2ZXJ0SGFuZGxlKTsK
KyAgICAgICAgfQorCisgICAgICAgIHZhciBzb3VyY2VGaWxlSWQgPSB0aGlzLl9zb3VyY2VGaWxl
SWRGb3JTY3JpcHQoc2NyaXB0KTsKKyAgICAgICAgdGhpcy5fcmVjcmVhdGVTb3VyY2VGcmFtZShz
b3VyY2VGaWxlSWQpOworICAgIH0sCisKKyAgICBfYWRkU2NyaXB0OiBmdW5jdGlvbihzY3JpcHQp
CisgICAgeworICAgICAgICBpZiAoIXNjcmlwdC5zb3VyY2VVUkwpIHsKKyAgICAgICAgICAgIC8v
IEFub255bW91cyBzY3JpcHRzIGFyZSBzaG93biBvbmx5IHdoZW4gc3RlcHBpbmcuCiAgICAgICAg
ICAgICByZXR1cm47CiAgICAgICAgIH0KIAotICAgICAgICB0aGlzLl9hZGRPcHRpb25Ub0ZpbGVz
U2VsZWN0KHNvdXJjZUZpbGUuaWQpOworICAgICAgICB2YXIgcmVzb3VyY2UgPSB0aGlzLl9yZXNv
dXJjZUZvclVSTChzY3JpcHQuc291cmNlVVJMKTsKKyAgICAgICAgaWYgKHJlc291cmNlKSB7Cisg
ICAgICAgICAgICBpZiAocmVzb3VyY2UuZmluaXNoZWQpIHsKKyAgICAgICAgICAgICAgICAvLyBS
ZXNvdXJjZSBpcyBmaW5pc2hlZCwgYmluZCB0aGUgc2NyaXB0IHJpZ2h0IGF3YXkuCisgICAgICAg
ICAgICAgICAgc2NyaXB0LnJlc291cmNlID0gcmVzb3VyY2U7CisKKyAgICAgICAgICAgICAgICAv
LyBBZGQgcmVzb3VyY2UgdXJsIHRvIGZpbGVzIHNlbGVjdCBpZiBub3QgYWxyZWFkeSBhZGRlZCB3
aGlsZSBkZWJ1Z2dpbmcgaW5saW5lZCBzY3JpcHRzLgorICAgICAgICAgICAgICAgIGlmICghKHJl
c291cmNlLnVybCBpbiB0aGlzLl9zb3VyY2VGaWxlSWRUb0ZpbGVzU2VsZWN0T3B0aW9uKSkKKyAg
ICAgICAgICAgICAgICAgICAgdGhpcy5fYWRkT3B0aW9uVG9GaWxlc1NlbGVjdEFuZFNob3dTb3Vy
Y2VGcmFtZUlmTmVlZGVkKHJlc291cmNlLnVybCk7CisgICAgICAgICAgICB9IGVsc2UgeworICAg
ICAgICAgICAgICAgIC8vIFJlc291cmNlIGlzIG5vdCBmaW5pc2hlZCwgYmluZCB0aGUgc2NyaXB0
IGxhdGVyLgorICAgICAgICAgICAgICAgIGlmICghcmVzb3VyY2UuX3NjcmlwdHNQZW5kaW5nUmVz
b3VyY2VMb2FkKSB7CisgICAgICAgICAgICAgICAgICAgIHJlc291cmNlLl9zY3JpcHRzUGVuZGlu
Z1Jlc291cmNlTG9hZCA9IFtdOworICAgICAgICAgICAgICAgICAgICByZXNvdXJjZS5hZGRFdmVu
dExpc3RlbmVyKCJmaW5pc2hlZCIsIHRoaXMuX3Jlc291cmNlTG9hZGluZ0ZpbmlzaGVkLCB0aGlz
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgcmVzb3VyY2UuX3NjcmlwdHNQ
ZW5kaW5nUmVzb3VyY2VMb2FkLnB1c2goc2NyaXB0KTsKKworICAgICAgICAgICAgICAgIC8vIFNv
dXJjZSBmcmFtZSBjb250ZW50IGlzIG91dGRhdGVkIHNpbmNlIHdlIGhhdmUgbmV3IHNjcmlwdCBw
YXJzZWQuCisgICAgICAgICAgICAgICAgdGhpcy5fcmVjcmVhdGVTb3VyY2VGcmFtZShzY3JpcHQu
c291cmNlVVJMKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNlIGlmICghKHNjcmlwdC5z
b3VyY2VVUkwgaW4gdGhpcy5fc291cmNlRmlsZUlkVG9GaWxlc1NlbGVjdE9wdGlvbikpIHsKKyAg
ICAgICAgICAgIC8vIFRoaXMgaXMgYSBkeW5hbWljIHNjcmlwdCB3aXRoICIvL0Agc291cmNlVVJM
PSIgY29tbWVudC4KKyAgICAgICAgICAgIHRoaXMuX2FkZE9wdGlvblRvRmlsZXNTZWxlY3RBbmRT
aG93U291cmNlRnJhbWVJZk5lZWRlZChzY3JpcHQuc291cmNlVVJMKTsKKyAgICAgICAgfQorICAg
IH0sCisKKyAgICBfcmVzb3VyY2VGb3JVUkw6IGZ1bmN0aW9uKHVybCkKKyAgICB7CisgICAgICAg
IHJldHVybiBXZWJJbnNwZWN0b3IubmV0d29ya01hbmFnZXIuaW5mbGlnaHRSZXNvdXJjZUZvclVS
TCh1cmwpIHx8IFdlYkluc3BlY3Rvci5yZXNvdXJjZUZvclVSTCh1cmwpOworICAgIH0sCisKKyAg
ICBfcmVzb3VyY2VMb2FkaW5nRmluaXNoZWQ6IGZ1bmN0aW9uKGUpCisgICAgeworICAgICAgICB2
YXIgcmVzb3VyY2UgPSBlLnRhcmdldDsKKworICAgICAgICAvLyBCaW5kIHNjcmlwdHMgdG8gcmVz
b3VyY2UuCisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcmVzb3VyY2UuX3NjcmlwdHNQZW5k
aW5nUmVzb3VyY2VMb2FkLmxlbmd0aDsgKytpKSB7CisgICAgICAgICAgICB2YXIgc2NyaXB0ID0g
cmVzb3VyY2UuX3NjcmlwdHNQZW5kaW5nUmVzb3VyY2VMb2FkW2ldOworICAgICAgICAgICAgc2Ny
aXB0LnJlc291cmNlID0gcmVzb3VyY2U7CisgICAgICAgIH0KKyAgICAgICAgZGVsZXRlIHJlc291
cmNlLl9zY3JpcHRzUGVuZGluZ1Jlc291cmNlTG9hZDsKKworICAgICAgICAvLyBSZWNyZWF0ZSBz
b3VyY2UgZnJhbWUgdG8gc2hvdyByZXNvdXJjZSBjb250ZW50LgorICAgICAgICB0aGlzLl9yZWNy
ZWF0ZVNvdXJjZUZyYW1lKHJlc291cmNlLnVybCk7CisKKyAgICAgICAgLy8gQWRkIHJlc291cmNl
IHVybCB0byBmaWxlcyBzZWxlY3QgaWYgbm90IGFscmVhZHkgYWRkZWQgd2hpbGUgZGVidWdnaW5n
IGlubGluZWQgc2NyaXB0cy4KKyAgICAgICAgaWYgKCEocmVzb3VyY2UudXJsIGluIHRoaXMuX3Nv
dXJjZUZpbGVJZFRvRmlsZXNTZWxlY3RPcHRpb24pKQorICAgICAgICAgICAgdGhpcy5fYWRkT3B0
aW9uVG9GaWxlc1NlbGVjdEFuZFNob3dTb3VyY2VGcmFtZUlmTmVlZGVkKHJlc291cmNlLnVybCk7
CisgICAgfSwKKworICAgIF9hZGRPcHRpb25Ub0ZpbGVzU2VsZWN0QW5kU2hvd1NvdXJjZUZyYW1l
SWZOZWVkZWQ6IGZ1bmN0aW9uKHVybCkKKyAgICB7CisgICAgICAgIHRoaXMuX2FkZE9wdGlvblRv
RmlsZXNTZWxlY3QodXJsKTsKIAogICAgICAgICB2YXIgbGFzdFZpZXdlZFVSTCA9IFdlYkluc3Bl
Y3Rvci5zZXR0aW5ncy5sYXN0Vmlld2VkU2NyaXB0RmlsZTsKICAgICAgICAgaWYgKHRoaXMuX2Zp
bGVzU2VsZWN0RWxlbWVudC5sZW5ndGggPT09IDEpIHsKICAgICAgICAgICAgIC8vIE9wdGlvbiB3
ZSBqdXN0IGFkZGVkIGlzIHRoZSBvbmx5IG9wdGlvbiBpbiBmaWxlcyBzZWxlY3QuCiAgICAgICAg
ICAgICAvLyBXZSBoYXZlIHRvIHNob3cgY29ycmVzcG9uZGluZyBzb3VyY2UgZnJhbWUgaW1tZWRp
YXRlbHkuCi0gICAgICAgICAgICB0aGlzLl9zaG93U291cmNlRnJhbWVBbmRBZGRUb0hpc3Rvcnko
c291cmNlRmlsZS5pZCk7CisgICAgICAgICAgICB0aGlzLl9zaG93U291cmNlRnJhbWVBbmRBZGRU
b0hpc3RvcnkodXJsKTsKICAgICAgICAgICAgIC8vIFJlc3RvcmUgb3JpZ2luYWwgdmFsdWUgb2Yg
bGFzdFZpZXdlZFNjcmlwdEZpbGUgYmVjYXVzZQogICAgICAgICAgICAgLy8gc291cmNlIGZyYW1l
IHdhcyBzaG93biBhcyBhIHJlc3VsdCBvZiBpbml0aWFsIGxvYWQuCiAgICAgICAgICAgICBXZWJJ
bnNwZWN0b3Iuc2V0dGluZ3MubGFzdFZpZXdlZFNjcmlwdEZpbGUgPSBsYXN0Vmlld2VkVVJMOwot
ICAgICAgICB9IGVsc2UgaWYgKHNvdXJjZUZpbGUudXJsID09PSBsYXN0Vmlld2VkVVJMKQotICAg
ICAgICAgICAgdGhpcy5fc2hvd1NvdXJjZUZyYW1lQW5kQWRkVG9IaXN0b3J5KHNvdXJjZUZpbGUu
aWQpOworICAgICAgICB9IGVsc2UgaWYgKHVybCA9PT0gbGFzdFZpZXdlZFVSTCkKKyAgICAgICAg
ICAgIHRoaXMuX3Nob3dTb3VyY2VGcmFtZUFuZEFkZFRvSGlzdG9yeSh1cmwpOwogICAgIH0sCiAK
ICAgICBfYWRkT3B0aW9uVG9GaWxlc1NlbGVjdDogZnVuY3Rpb24oc291cmNlRmlsZUlkKQogICAg
IHsKLSAgICAgICAgdmFyIHNvdXJjZUZpbGUgPSB0aGlzLl9wcmVzZW50YXRpb25Nb2RlbC5zb3Vy
Y2VGaWxlKHNvdXJjZUZpbGVJZCk7CisgICAgICAgIHZhciBzY3JpcHQgPSB0aGlzLl9zY3JpcHRG
b3JTb3VyY2VGaWxlSWQoc291cmNlRmlsZUlkKTsKICAgICAgICAgdmFyIHNlbGVjdCA9IHRoaXMu
X2ZpbGVzU2VsZWN0RWxlbWVudDsKICAgICAgICAgdmFyIG9wdGlvbiA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoIm9wdGlvbiIpOwotICAgICAgICBvcHRpb24udGV4dCA9IHNvdXJjZUZpbGUudXJs
ID8gV2ViSW5zcGVjdG9yLmRpc3BsYXlOYW1lRm9yVVJMKHNvdXJjZUZpbGUudXJsKSA6IFdlYklu
c3BlY3Rvci5VSVN0cmluZygiKHByb2dyYW0pIik7Ci0gICAgICAgIGlmIChzb3VyY2VGaWxlLmlz
RXh0ZW5zaW9uU2NyaXB0KQorICAgICAgICBvcHRpb24udGV4dCA9IHNjcmlwdC5zb3VyY2VVUkwg
PyBXZWJJbnNwZWN0b3IuZGlzcGxheU5hbWVGb3JVUkwoc2NyaXB0LnNvdXJjZVVSTCkgOiBXZWJJ
bnNwZWN0b3IuVUlTdHJpbmcoIihwcm9ncmFtKSIpOworICAgICAgICBpZiAoc2NyaXB0Lndvcmxk
VHlwZSA9PT0gV2ViSW5zcGVjdG9yLlNjcmlwdC5Xb3JsZFR5cGUuRVhURU5TSU9OU19XT1JMRCkK
ICAgICAgICAgICAgIG9wdGlvbi5hZGRTdHlsZUNsYXNzKCJleHRlbnNpb24tc2NyaXB0Iik7CiAg
ICAgICAgIGZ1bmN0aW9uIG9wdGlvbkNvbXBhcmUoYSwgYikKICAgICAgICAgewpAQCAtNTE4LDkg
KzU5Myw5IEBAIFdlYkluc3BlY3Rvci5TY3JpcHRzUGFuZWwucHJvdG90eXBlID0gewogICAgICAg
ICB2YXIgc291cmNlRnJhbWUgPSB0aGlzLl9zb3VyY2VGcmFtZUZvclNvdXJjZUZpbGVJZChzb3Vy
Y2VGaWxlSWQpOwogICAgICAgICB0aGlzLnZpc2libGVWaWV3ID0gc291cmNlRnJhbWU7CiAKLSAg
ICAgICAgdmFyIHNvdXJjZUZpbGUgPSB0aGlzLl9wcmVzZW50YXRpb25Nb2RlbC5zb3VyY2VGaWxl
KHNvdXJjZUZpbGVJZCk7Ci0gICAgICAgIGlmIChzb3VyY2VGaWxlLnVybCkKLSAgICAgICAgICAg
IFdlYkluc3BlY3Rvci5zZXR0aW5ncy5sYXN0Vmlld2VkU2NyaXB0RmlsZSA9IHNvdXJjZUZpbGUu
dXJsOworICAgICAgICB2YXIgc2NyaXB0ID0gdGhpcy5fc2NyaXB0Rm9yU291cmNlRmlsZUlkKHNv
dXJjZUZpbGVJZCk7CisgICAgICAgIGlmIChzY3JpcHQuc291cmNlVVJMKQorICAgICAgICAgICAg
V2ViSW5zcGVjdG9yLnNldHRpbmdzLmxhc3RWaWV3ZWRTY3JpcHRGaWxlID0gc2NyaXB0LnNvdXJj
ZVVSTDsKIAogICAgICAgICByZXR1cm4gc291cmNlRnJhbWU7CiAgICAgfSwKQEAgLTU0MiwxNSAr
NjE3LDE0IEBAIFdlYkluc3BlY3Rvci5TY3JpcHRzUGFuZWwucHJvdG90eXBlID0gewogICAgICAg
ICByZXR1cm4gc291cmNlRnJhbWU7CiAgICAgfSwKIAotICAgIF9zb3VyY2VGaWxlQ2hhbmdlZDog
ZnVuY3Rpb24oZXZlbnQpCisgICAgX3JlY3JlYXRlU291cmNlRnJhbWU6IGZ1bmN0aW9uKHNvdXJj
ZUZpbGVJZCkKICAgICB7Ci0gICAgICAgIHZhciBzb3VyY2VGaWxlSWQgPSBldmVudC5kYXRhLmlk
OwotCiAgICAgICAgIHZhciBvbGRTb3VyY2VGcmFtZSA9IHRoaXMuX3NvdXJjZUZpbGVJZFRvU291
cmNlRnJhbWVbc291cmNlRmlsZUlkXTsKICAgICAgICAgaWYgKCFvbGRTb3VyY2VGcmFtZSkKICAg
ICAgICAgICAgIHJldHVybjsKICAgICAgICAgb2xkU291cmNlRnJhbWUucmVtb3ZlRXZlbnRMaXN0
ZW5lcihXZWJJbnNwZWN0b3IuU291cmNlRnJhbWUuRXZlbnRzLkxvYWRlZCwgdGhpcy5fc291cmNl
RnJhbWVMb2FkZWQsIHRoaXMpOwogICAgICAgICBkZWxldGUgdGhpcy5fc291cmNlRmlsZUlkVG9T
b3VyY2VGcmFtZVtzb3VyY2VGaWxlSWRdOworICAgICAgICBvbGRTb3VyY2VGcmFtZS5yZW1vdmVF
dmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5Tb3VyY2VGcmFtZS5FdmVudHMuTG9hZGVkLCB0aGlz
Ll9zb3VyY2VGcmFtZUxvYWRlZCwgdGhpcyk7CiAgICAgICAgIGlmICh0aGlzLnZpc2libGVWaWV3
ICE9PSBvbGRTb3VyY2VGcmFtZSkKICAgICAgICAgICAgIHJldHVybjsKIApAQCAtNTg1LDYgKzY1
OSwxMSBAQCBXZWJJbnNwZWN0b3IuU2NyaXB0c1BhbmVsLnByb3RvdHlwZSA9IHsKICAgICAgICAg
fQogICAgIH0sCiAKKyAgICBfc291cmNlRmlsZUlkRm9yU2NyaXB0OiBmdW5jdGlvbihzY3JpcHQp
CisgICAgeworICAgICAgICByZXR1cm4gc2NyaXB0LnNvdXJjZVVSTCB8fCBzY3JpcHQuc291cmNl
SUQ7CisgICAgfSwKKwogICAgIF9zY3JpcHRGb3JTb3VyY2VGaWxlSWQ6IGZ1bmN0aW9uKHNvdXJj
ZUZpbGVJZCkKICAgICB7CiAgICAgICAgIGZ1bmN0aW9uIGZpbHRlcihzY3JpcHQpCkBAIC02MTMs
MTIgKzY5MiwxMSBAQCBXZWJJbnNwZWN0b3IuU2NyaXB0c1BhbmVsLnByb3RvdHlwZSA9IHsKICAg
ICAgICAgdGhpcy5zaWRlYmFyUGFuZXMuc2NvcGVjaGFpbi51cGRhdGUoY2FsbEZyYW1lKTsKICAg
ICAgICAgdGhpcy5zaWRlYmFyUGFuZXMud2F0Y2hFeHByZXNzaW9ucy5yZWZyZXNoRXhwcmVzc2lv
bnMoKTsKIAotICAgICAgICBpZiAoIWNhbGxGcmFtZS5zb3VyY2VMb2NhdGlvbikKLSAgICAgICAg
ICAgIHJldHVybjsKLQogICAgICAgICB2YXIgc291cmNlRmlsZUlkID0gY2FsbEZyYW1lLnNvdXJj
ZUxvY2F0aW9uLnNvdXJjZUZpbGVJZDsKICAgICAgICAgaWYgKCEoc291cmNlRmlsZUlkIGluIHRo
aXMuX3NvdXJjZUZpbGVJZFRvRmlsZXNTZWxlY3RPcHRpb24pKSB7Ci0gICAgICAgICAgICAvLyBB
bm9ueW1vdXMgc2NyaXB0cyBhcmUgbm90IGFkZGVkIHRvIGZpbGVzIHNlbGVjdCBieSBkZWZhdWx0
LgorICAgICAgICAgICAgLy8gVGhpcyBoYXBwZW5zIGluIHR3byBjYXNlczoKKyAgICAgICAgICAg
IC8vIDEpIEN1cnJlbnQgY2FsbCBmcmFtZSBmdW5jdGlvbiBpcyBkZWZpbmVkIGluIGFub255bW91
cyBzY3JpcHQgKGFub255bW91cyBzY3JpcHRzIGFyZW4ndCBhZGRlZCB0byBmaWxlcyBzZWxlY3Qg
YnkgZGVmYXVsdCkKKyAgICAgICAgICAgIC8vIDIpIFdlIGFyZSBkZWJ1Z2dpbmcgc3luY2hyb25v
dXNseSBleGVjdXRlZCBpbmxpbmVkIHNjcmlwdCBhbmQgdGhlcmUgaXMgbm8gcmVzb3VyY2Ugc28g
ZmFyCiAgICAgICAgICAgICB0aGlzLl9hZGRPcHRpb25Ub0ZpbGVzU2VsZWN0KHNvdXJjZUZpbGVJ
ZCk7CiAgICAgICAgIH0KICAgICAgICAgdmFyIHNvdXJjZUZyYW1lID0gdGhpcy5fc2hvd1NvdXJj
ZUZyYW1lQW5kQWRkVG9IaXN0b3J5KHNvdXJjZUZpbGVJZCk7CkBAIC0xMDA5LDExICsxMDg3LDE2
IEBAIFdlYkluc3BlY3Rvci5Tb3VyY2VGcmFtZURlbGVnYXRlRm9yU2NyaXB0c1BhbmVsID0gZnVu
Y3Rpb24obW9kZWwsIHNvdXJjZUZpbGVJZCwKIFdlYkluc3BlY3Rvci5Tb3VyY2VGcmFtZURlbGVn
YXRlRm9yU2NyaXB0c1BhbmVsLnByb3RvdHlwZSA9IHsKICAgICByZXF1ZXN0Q29udGVudDogZnVu
Y3Rpb24oY2FsbGJhY2spCiAgICAgewotICAgICAgICBmdW5jdGlvbiBkaWRSZXF1ZXN0U291cmNl
RmlsZUNvbnRlbnQobWltZVR5cGUsIHRleHQpCisgICAgICAgIGZ1bmN0aW9uIGRpZEdldFRleHRB
bmRTY3JpcHRSYW5nZXMobWltZVR5cGUsIHRleHQsIHNjcmlwdFJhbmdlcykKICAgICAgICAgewot
ICAgICAgICAgICAgY2FsbGJhY2sobWltZVR5cGUsIHsgdGV4dDogdGV4dCB9KTsKKyAgICAgICAg
ICAgIHRoaXMuX2NvbnRlbnQgPSBuZXcgV2ViSW5zcGVjdG9yLlNvdXJjZUZyYW1lQ29udGVudCh0
ZXh0LCBuZXcgV2ViSW5zcGVjdG9yLklkZW50aWNhbFNvdXJjZU1hcHBpbmcoKSwgc2NyaXB0UmFu
Z2VzKTsKKyAgICAgICAgICAgIGNhbGxiYWNrKG1pbWVUeXBlLCB0aGlzLl9jb250ZW50KTsKICAg
ICAgICAgfQotICAgICAgICB0aGlzLl9tb2RlbC5yZXF1ZXN0U291cmNlRmlsZUNvbnRlbnQodGhp
cy5fc291cmNlRmlsZUlkLCBkaWRSZXF1ZXN0U291cmNlRmlsZUNvbnRlbnQuYmluZCh0aGlzKSk7
CisKKyAgICAgICAgaWYgKHRoaXMuX3NjcmlwdC5yZXNvdXJjZSkKKyAgICAgICAgICAgIHRoaXMu
X2xvYWRSZXNvdXJjZUNvbnRlbnQodGhpcy5fc2NyaXB0LnJlc291cmNlLCBkaWRHZXRUZXh0QW5k
U2NyaXB0UmFuZ2VzLmJpbmQodGhpcykpOworICAgICAgICBlbHNlCisgICAgICAgICAgICB0aGlz
Ll9sb2FkQW5kQ29uY2F0ZW5hdGVTY3JpcHRzQ29udGVudChkaWRHZXRUZXh0QW5kU2NyaXB0UmFu
Z2VzLmJpbmQodGhpcykpOwogICAgIH0sCiAKICAgICBfbG9hZFJlc291cmNlQ29udGVudDogZnVu
Y3Rpb24ocmVzb3VyY2UsIGNhbGxiYWNrKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>