<?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>70347</bug_id>
          
          <creation_ts>2011-10-18 12:00:45 -0700</creation_ts>
          <short_desc>Web Inspector: Advanced search results should keep working after pretty print toggled.</short_desc>
          <delta_ts>2011-10-20 07:22:05 -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>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Vsevolod Vlasov">vsevik</reporter>
          <assigned_to name="Vsevolod Vlasov">vsevik</assigned_to>
          <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>486208</commentid>
    <comment_count>0</comment_count>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2011-10-18 12:00:45 -0700</bug_when>
    <thetext>Should clear advanced search results for scripts after pretty print toggled.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>486211</commentid>
    <comment_count>1</comment_count>
      <attachid>111476</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2011-10-18 12:03:57 -0700</bug_when>
    <thetext>Created attachment 111476
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>486705</commentid>
    <comment_count>2</comment_count>
      <attachid>111476</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2011-10-19 05:41:12 -0700</bug_when>
    <thetext>Comment on attachment 111476
Patch

Clearing r? for now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>487483</commentid>
    <comment_count>3</comment_count>
      <attachid>111753</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2011-10-20 04:36:05 -0700</bug_when>
    <thetext>Created attachment 111753
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>487484</commentid>
    <comment_count>4</comment_count>
      <attachid>111754</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2011-10-20 04:36:52 -0700</bug_when>
    <thetext>Created attachment 111754
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>487547</commentid>
    <comment_count>5</comment_count>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2011-10-20 07:22:05 -0700</bug_when>
    <thetext>Committed r97975: &lt;http://trac.webkit.org/changeset/97975&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>111476</attachid>
            <date>2011-10-18 12:03:57 -0700</date>
            <delta_ts>2011-10-20 04:35:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-70347-20111018230355.patch</filename>
            <type>text/plain</type>
            <size>9957</size>
            <attacher name="Vsevolod Vlasov">vsevik</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTc3NDYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA4ZjVkN2UxOTNmZTJiOTEw
M2JkZmNjZThjMmI3YzRlMzdmZmI2NGQ5Li5iMDg1N2UzMTFlZDExZTgyMWI1NDVkZWYxMzBmZGZm
Njk1YTE2Y2Q2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzEgQEAKKzIwMTEtMTAtMTggIFZzZXZv
bG9kIFZsYXNvdiAgPHZzZXZpa0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3Rv
cjogU2hvdWxkIGNsZWFyIGFkdmFuY2VkIHNlYXJjaCByZXN1bHRzIGZvciBzY3JpcHRzIGFmdGVy
IHByZXR0eSBwcmludCB0b2dnbGVkLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NzAzNDcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvQWR2YW5jZWRTZWFyY2hDb250cm9s
bGVyLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkFkdmFuY2VkU2VhcmNoQ29udHJvbGxlci5w
cm90b3R5cGUuX29uU2VhcmNoUmVzdWx0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5BZHZhbmNl
ZFNlYXJjaENvbnRyb2xsZXIucHJvdG90eXBlLnN0YXJ0U2VhcmNoKToKKyAgICAgICAgKFdlYklu
c3BlY3Rvci5BZHZhbmNlZFNlYXJjaENvbnRyb2xsZXIucHJvdG90eXBlLnJlc2V0U2VhcmNoKToK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5BZHZhbmNlZFNlYXJjaENvbnRyb2xsZXIucHJvdG90eXBl
LnN0b3BTZWFyY2gpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNlYXJjaFZpZXcucHJvdG90eXBl
LnNldCByZXN1bHRzUGFuZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2VhcmNoVmlldy5wcm90
b3R5cGUuc2VhcmNoU3RhcnRlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2VhcmNoVmlldy5w
cm90b3R5cGUucmVzZXRSZXN1bHRzKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TZWFyY2hWaWV3
LnByb3RvdHlwZS5ub3RoaW5nRm91bmQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNlYXJjaFNj
b3BlLnByb3RvdHlwZS5jcmVhdGVTZWFyY2hSZXN1bHRzUGFuZSk6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuU2VhcmNoUmVzdWx0c1BhbmUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNlYXJjaFJl
c3VsdHNQYW5lLnByb3RvdHlwZS5yZXNldCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRmlsZUJh
c2VkU2VhcmNoUmVzdWx0c1BhbmUpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvRGVi
dWdnZXJQcmVzZW50YXRpb25Nb2RlbC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5EZWJ1Z2dl
clByZXNlbnRhdGlvbk1vZGVsLnByb3RvdHlwZS5zZXRGb3JtYXRTb3VyY2UpOgorICAgICAgICAq
IGluc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0c1NlYXJjaFNjb3BlLmpzOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLlNjcmlwdHNTZWFyY2hTY29wZS5wcm90b3R5cGUuY3JlYXRlU2VhcmNoUmVzdWx0
c1BhbmUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNjcmlwdHNTZWFyY2hSZXN1bHRzUGFuZSk6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2NyaXB0c1NlYXJjaFJlc3VsdHNQYW5lLnByb3RvdHlw
ZS5yZXNldCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2NyaXB0c1NlYXJjaFJlc3VsdHNQYW5l
LnByb3RvdHlwZS5fb25Gb3JtYXRTb3VyY2VDaGFuZ2VkKToKKwogMjAxMS0xMC0xOCAgWmFuIERv
YmVyc2VrICA8emFuZG9iZXJzZWtAZ21haWwuY29tPgogCiAgICAgICAgIFtHdGtdIFN1cHBvcnQg
Zm9yIGNsaWVudC1iYXNlZCBnZW9sb2NhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9BZHZhbmNlZFNlYXJjaENvbnRyb2xsZXIuanMgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0FkdmFuY2VkU2VhcmNoQ29udHJvbGxlci5qcwpp
bmRleCBmN2I2YzkyMzZkYmI0NTA3NDEzNDc2M2QxZWY4ZDYzZjAwMGFiOGRjLi44OGMwMzgwZWQz
NmRkYTE2YmExMzk5ZDEwNjFiZGVlMzYxNTQ5NjYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0FkdmFuY2VkU2VhcmNoQ29udHJvbGxlci5qcworKysgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0FkdmFuY2VkU2VhcmNoQ29udHJvbGxl
ci5qcwpAQCAtODQsNyArODQsNyBAQCBXZWJJbnNwZWN0b3IuQWR2YW5jZWRTZWFyY2hDb250cm9s
bGVyLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIHJldHVybjsKIAogICAgICAgICBpZiAoIXRo
aXMuX3NlYXJjaFJlc3VsdHNQYW5lKSAKLSAgICAgICAgICAgIHRoaXMuX3NlYXJjaFJlc3VsdHNQ
YW5lID0gdGhpcy5fY3VycmVudFNlYXJjaFNjb3BlLmNyZWF0ZVNlYXJjaFJlc3VsdHNQYW5lKHRo
aXMuX3NlYXJjaENvbmZpZyk7ICAgICAgICAKKyAgICAgICAgICAgIHRoaXMuX3NlYXJjaFJlc3Vs
dHNQYW5lID0gdGhpcy5fY3VycmVudFNlYXJjaFNjb3BlLmNyZWF0ZVNlYXJjaFJlc3VsdHNQYW5l
KHRoaXMuX3NlYXJjaENvbmZpZywgdGhpcyk7ICAgICAgICAKICAgICAgICAgdGhpcy5fc2VhcmNo
Vmlldy5yZXN1bHRzUGFuZSA9IHRoaXMuX3NlYXJjaFJlc3VsdHNQYW5lOyAKICAgICAgICAgdGhp
cy5fc2VhcmNoUmVzdWx0c1BhbmUuYWRkU2VhcmNoUmVzdWx0KHNlYXJjaFJlc3VsdCk7CiAgICAg
fSwKQEAgLTEwOCw3ICsxMDgsNyBAQCBXZWJJbnNwZWN0b3IuQWR2YW5jZWRTZWFyY2hDb250cm9s
bGVyLnByb3RvdHlwZSA9IHsKICAgICAgKi8KICAgICBzdGFydFNlYXJjaDogZnVuY3Rpb24oc2Vh
cmNoQ29uZmlnKQogICAgIHsKLSAgICAgICAgdGhpcy5zdG9wU2VhcmNoKCk7CisgICAgICAgIHRo
aXMucmVzZXRTZWFyY2goKTsKIAogICAgICAgICB0aGlzLl9zZWFyY2hDb25maWcgPSBzZWFyY2hD
b25maWc7CiAgICAgICAgIC8vIEZJWE1FOiB0aGlzLl9jdXJyZW50U2VhcmNoU2NvcGUgc2hvdWxk
IGJlIGluaXRpYWxpemVkIGJhc2VkIG9uIHNlYXJjaENvbmZpZwpAQCAtMTE4LDEyICsxMTgsMjQg
QEAgV2ViSW5zcGVjdG9yLkFkdmFuY2VkU2VhcmNoQ29udHJvbGxlci5wcm90b3R5cGUgPSB7CiAg
ICAgICAgIHRoaXMuX2N1cnJlbnRTZWFyY2hTY29wZS5wZXJmb3JtU2VhcmNoKHNlYXJjaENvbmZp
ZywgdGhpcy5fb25TZWFyY2hSZXN1bHQuYmluZCh0aGlzLCB0aGlzLl9zZWFyY2hJZCksIHRoaXMu
X29uU2VhcmNoRmluaXNoZWQuYmluZCh0aGlzLCB0aGlzLl9zZWFyY2hJZCkpOwogICAgIH0sCiAg
ICAgCisgICAgcmVzZXRTZWFyY2g6IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIHRoaXMuc3Rv
cFNlYXJjaCgpOworCisgICAgICAgIGlmICh0aGlzLl9zZWFyY2hSZXN1bHRzUGFuZSkgeworICAg
ICAgICAgICAgdGhpcy5fc2VhcmNoVmlldy5yZXNldFJlc3VsdHMoKTsKKyAgICAgICAgICAgIHRo
aXMuX3NlYXJjaFJlc3VsdHNQYW5lLnJlc2V0KCk7CisgICAgICAgICAgICBkZWxldGUgdGhpcy5f
c2VhcmNoUmVzdWx0c1BhbmU7CisgICAgICAgIH0KKyAgICB9LAorICAgIAogICAgIHN0b3BTZWFy
Y2g6IGZ1bmN0aW9uKCkKICAgICB7CiAgICAgICAgICsrdGhpcy5fc2VhcmNoSWQ7Ci0gICAgICAg
IGRlbGV0ZSB0aGlzLl9zZWFyY2hSZXN1bHRzUGFuZTsKKwogICAgICAgICBpZiAodGhpcy5fY3Vy
cmVudFNlYXJjaFNjb3BlKQogICAgICAgICAgICAgdGhpcy5fY3VycmVudFNlYXJjaFNjb3BlLnN0
b3BTZWFyY2goKTsKKyAgICAgICAgCiAgICAgfQogfQogCkBAIC0xNzYsMjMgKzE4OCwyOCBAQCBX
ZWJJbnNwZWN0b3IuU2VhcmNoVmlldy5wcm90b3R5cGUgPSB7CiAgICAgICovCiAgICAgc2V0IHJl
c3VsdHNQYW5lKHJlc3VsdHNQYW5lKQogICAgIHsKLSAgICAgICAgdGhpcy5fc2VhcmNoUmVzdWx0
c0VsZW1lbnQucmVtb3ZlQ2hpbGRyZW4oKTsKKyAgICAgICAgdGhpcy5yZXNldFJlc3VsdHMoKTsK
ICAgICAgICAgdGhpcy5fc2VhcmNoUmVzdWx0c0VsZW1lbnQuYXBwZW5kQ2hpbGQocmVzdWx0c1Bh
bmUuZWxlbWVudCk7CiAgICAgfSwKICAgICAKICAgICBzZWFyY2hTdGFydGVkOiBmdW5jdGlvbigp
CiAgICAgeworICAgICAgICB0aGlzLnJlc2V0UmVzdWx0cygpOwogICAgICAgICAvLyBGSVhNRTog
VGhpcyBuZWVkcyBiZXR0ZXIgVUkuCiAgICAgICAgIHZhciBzZWFyY2hpbmdWaWV3ID0gbmV3IFdl
Ykluc3BlY3Rvci5FbXB0eVZpZXcoV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJTZWFyY2hpbmcuLi4i
KSkKLSAgICAgICAgdGhpcy5fc2VhcmNoUmVzdWx0c0VsZW1lbnQucmVtb3ZlQ2hpbGRyZW4oKTsK
ICAgICAgICAgc2VhcmNoaW5nVmlldy5zaG93KHRoaXMuX3NlYXJjaFJlc3VsdHNFbGVtZW50KTsK
ICAgICB9LAogCisgICAgcmVzZXRSZXN1bHRzOiBmdW5jdGlvbigpCisgICAgeworICAgICAgICB0
aGlzLl9zZWFyY2hSZXN1bHRzRWxlbWVudC5yZW1vdmVDaGlsZHJlbigpOworICAgIH0sCisKICAg
ICBub3RoaW5nRm91bmQ6IGZ1bmN0aW9uKCkKICAgICB7CisgICAgICAgIHRoaXMucmVzZXRSZXN1
bHRzKCk7CiAgICAgICAgIC8vIEZJWE1FOiBUaGlzIG5lZWRzIGJldHRlciBVSS4KICAgICAgICAg
dmFyIG5vdEZvdW5kVmlldyA9IG5ldyBXZWJJbnNwZWN0b3IuRW1wdHlWaWV3KFdlYkluc3BlY3Rv
ci5VSVN0cmluZygiTm90aGluZyBmb3VuZCIpKQotICAgICAgICB0aGlzLl9zZWFyY2hSZXN1bHRz
RWxlbWVudC5yZW1vdmVDaGlsZHJlbigpOwogICAgICAgICBub3RGb3VuZFZpZXcuc2hvdyh0aGlz
Ll9zZWFyY2hSZXN1bHRzRWxlbWVudCk7CiAgICAgfSwKIApAQCAtMjYyLDcgKzI3OSw3IEBAIFdl
Ykluc3BlY3Rvci5TZWFyY2hDb25maWcgPSBmdW5jdGlvbihxdWVyeSwgaWdub3JlQ2FzZSwgaXNS
ZWdleCkKIAogLyoqCiAgKiBAaW50ZXJmYWNlCi0gKi8KKyovCiBXZWJJbnNwZWN0b3IuU2VhcmNo
U2NvcGUgPSBmdW5jdGlvbigpCiB7CiB9CkBAIC0yNzYsMTggKzI5MywyMyBAQCBXZWJJbnNwZWN0
b3IuU2VhcmNoU2NvcGUucHJvdG90eXBlID0gewogICAgIHN0b3BTZWFyY2g6IGZ1bmN0aW9uKCkg
eyB9LAogICAgIAogICAgIC8qKgorICAgICAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLlNlYXJjaENv
bmZpZ30gc2VhcmNoQ29uZmlnCisgICAgICogQHBhcmFtIHtXZWJJbnNwZWN0b3IuQWR2YW5jZWRT
ZWFyY2hDb250cm9sbGVyfSBjb250cm9sbGVyCiAgICAgICogQHJldHVybiBXZWJJbnNwZWN0b3Iu
U2VhcmNoUmVzdWx0c1BhbmV9CiAgICAgICovCi0gICAgY3JlYXRlU2VhcmNoUmVzdWx0c1BhbmU6
IGZ1bmN0aW9uKCkgeyB9CisgICAgY3JlYXRlU2VhcmNoUmVzdWx0c1BhbmU6IGZ1bmN0aW9uKHNl
YXJjaENvbmZpZywgY29udHJvbGxlcikgeyB9CiB9CiAKIC8qKgogICogQGNvbnN0cnVjdG9yCiAg
KiBAcGFyYW0ge1dlYkluc3BlY3Rvci5TZWFyY2hDb25maWd9IHNlYXJjaENvbmZpZworICogQHBh
cmFtIHtXZWJJbnNwZWN0b3IuQWR2YW5jZWRTZWFyY2hDb250cm9sbGVyfSBjb250cm9sbGVyCiAg
Ki8KLVdlYkluc3BlY3Rvci5TZWFyY2hSZXN1bHRzUGFuZSA9IGZ1bmN0aW9uKHNlYXJjaENvbmZp
ZykKK1dlYkluc3BlY3Rvci5TZWFyY2hSZXN1bHRzUGFuZSA9IGZ1bmN0aW9uKHNlYXJjaENvbmZp
ZywgY29udHJvbGxlcikKIHsKICAgICB0aGlzLl9zZWFyY2hDb25maWcgPSBzZWFyY2hDb25maWc7
CisgICAgdGhpcy5jb250cm9sbGVyID0gY29udHJvbGxlcjsKKyAgICAKICAgICB0aGlzLmVsZW1l
bnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKIH0KIApAQCAtMzAwLDYgKzMyMiw4
IEBAIFdlYkluc3BlY3Rvci5TZWFyY2hSZXN1bHRzUGFuZS5wcm90b3R5cGUgPSB7CiAgICAgICAg
IHJldHVybiB0aGlzLl9zZWFyY2hDb25maWc7CiAgICAgfSwKIAorICAgIHJlc2V0OiBmdW5jdGlv
bigpIHsgfSwKKwogICAgIC8qKgogICAgICAqIEBwYXJhbSB7T2JqZWN0fSBzZWFyY2hSZXN1bHQK
ICAgICAgKi8KQEAgLTMxMCwxMCArMzM0LDExIEBAIFdlYkluc3BlY3Rvci5TZWFyY2hSZXN1bHRz
UGFuZS5wcm90b3R5cGUgPSB7CiAgKiBAY29uc3RydWN0b3IKICAqIEBleHRlbmRzIHtXZWJJbnNw
ZWN0b3IuU2VhcmNoUmVzdWx0c1BhbmV9IAogICogQHBhcmFtIHtXZWJJbnNwZWN0b3IuU2VhcmNo
Q29uZmlnfSBzZWFyY2hDb25maWcKKyAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLkFkdmFuY2VkU2Vh
cmNoQ29udHJvbGxlcn0gY29udHJvbGxlcgogICovCi1XZWJJbnNwZWN0b3IuRmlsZUJhc2VkU2Vh
cmNoUmVzdWx0c1BhbmUgPSBmdW5jdGlvbihzZWFyY2hDb25maWcpCitXZWJJbnNwZWN0b3IuRmls
ZUJhc2VkU2VhcmNoUmVzdWx0c1BhbmUgPSBmdW5jdGlvbihzZWFyY2hDb25maWcsIGNvbnRyb2xs
ZXIpCiB7Ci0gICAgV2ViSW5zcGVjdG9yLlNlYXJjaFJlc3VsdHNQYW5lLmNhbGwodGhpcywgc2Vh
cmNoQ29uZmlnKTsKKyAgICBXZWJJbnNwZWN0b3IuU2VhcmNoUmVzdWx0c1BhbmUuY2FsbCh0aGlz
LCBzZWFyY2hDb25maWcsIGNvbnRyb2xsZXIpOwogICAgIAogICAgIHRoaXMuX3NlYXJjaFJlc3Vs
dHMgPSBbXTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsLmpzCmluZGV4IGQyMTUxZDgyYTQw
OTA1NDExYzZmYmJhMzZhM2QzYWI4OTQ4MDc0M2QuLmZmMmU1ZGU5MDVhNDgyOGY0MzQ4YzUwYjc4
NzQ5MDNjMzY4MTZjNzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvRGVidWdnZXJQcmVzZW50YXRpb25Nb2RlbC5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL0RlYnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwuanMKQEAgLTY0LDcg
KzY0LDggQEAgV2ViSW5zcGVjdG9yLkRlYnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwuRXZlbnRzID0g
ewogICAgIERlYnVnZ2VyUGF1c2VkOiAiZGVidWdnZXItcGF1c2VkIiwKICAgICBEZWJ1Z2dlclJl
c3VtZWQ6ICJkZWJ1Z2dlci1yZXN1bWVkIiwKICAgICBDYWxsRnJhbWVTZWxlY3RlZDogImNhbGwt
ZnJhbWUtc2VsZWN0ZWQiLAotICAgIEV4ZWN1dGlvbkxpbmVDaGFuZ2VkOiAiZXhlY3V0aW9uLWxp
bmUtY2hhbmdlZCIKKyAgICBFeGVjdXRpb25MaW5lQ2hhbmdlZDogImV4ZWN1dGlvbi1saW5lLWNo
YW5nZWQiLAorICAgIEZvcm1hdFNvdXJjZUNoYW5nZWQ6ICJmb3JtYXQtc291cmNlLWNoYW5nZWQi
CiB9CiAKIFdlYkluc3BlY3Rvci5EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsLnByb3RvdHlwZSA9
IHsKQEAgLTMxMSw2ICszMTIsOCBAQCBXZWJJbnNwZWN0b3IuRGVidWdnZXJQcmVzZW50YXRpb25N
b2RlbC5wcm90b3R5cGUgPSB7CiAKICAgICAgICAgaWYgKFdlYkluc3BlY3Rvci5kZWJ1Z2dlck1v
ZGVsLmNhbGxGcmFtZXMpCiAgICAgICAgICAgICB0aGlzLl9kZWJ1Z2dlclBhdXNlZCgpOworCisg
ICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rvci5EZWJ1Z2dl
clByZXNlbnRhdGlvbk1vZGVsLkV2ZW50cy5Gb3JtYXRTb3VyY2VDaGFuZ2VkKTsKICAgICB9LAog
CiAgICAgLyoqCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L1NjcmlwdHNTZWFyY2hTY29wZS5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvU2NyaXB0c1NlYXJjaFNjb3BlLmpzCmluZGV4IDAxODFiYzY0MmU4NDRlYjkwZjU3NGQ0MDUz
ZTBmMjk5NDVjYTM0MDEuLmVkMjQyZGE3NDJmZGI2ZGRhMzdkYjk3MDU4YzI4Yjc5NDE3MmRhNTMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0c1Nl
YXJjaFNjb3BlLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2Ny
aXB0c1NlYXJjaFNjb3BlLmpzCkBAIC04NSwxMCArODUsMTEgQEAgV2ViSW5zcGVjdG9yLlNjcmlw
dHNTZWFyY2hTY29wZS5wcm90b3R5cGUgPSB7CiAKICAgICAvKioKICAgICAgKiBAcGFyYW0ge1dl
Ykluc3BlY3Rvci5TZWFyY2hDb25maWd9IHNlYXJjaENvbmZpZworICAgICAqIEBwYXJhbSB7V2Vi
SW5zcGVjdG9yLkFkdmFuY2VkU2VhcmNoQ29udHJvbGxlcn0gY29udHJvbGxlcgogICAgICAqLwot
ICAgIGNyZWF0ZVNlYXJjaFJlc3VsdHNQYW5lOiBmdW5jdGlvbihzZWFyY2hDb25maWcpCisgICAg
Y3JlYXRlU2VhcmNoUmVzdWx0c1BhbmU6IGZ1bmN0aW9uKHNlYXJjaENvbmZpZywgY29udHJvbGxl
cikKICAgICB7Ci0gICAgICAgIHJldHVybiBuZXcgV2ViSW5zcGVjdG9yLlNjcmlwdHNTZWFyY2hS
ZXN1bHRzUGFuZShzZWFyY2hDb25maWcpOworICAgICAgICByZXR1cm4gbmV3IFdlYkluc3BlY3Rv
ci5TY3JpcHRzU2VhcmNoUmVzdWx0c1BhbmUoc2VhcmNoQ29uZmlnLCBjb250cm9sbGVyKTsKICAg
ICB9LAogCiAgICAgLyoqCkBAIC0xMjEsMTAgKzEyMiwxNCBAQCBXZWJJbnNwZWN0b3IuU2NyaXB0
c1NlYXJjaFNjb3BlLnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuU2VhcmNoU2Nv
cGUucAogICogQGNvbnN0cnVjdG9yCiAgKiBAZXh0ZW5kcyB7V2ViSW5zcGVjdG9yLkZpbGVCYXNl
ZFNlYXJjaFJlc3VsdHNQYW5lfQogICogQHBhcmFtIHtXZWJJbnNwZWN0b3IuU2VhcmNoQ29uZmln
fSBzZWFyY2hDb25maWcKKyAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLkFkdmFuY2VkU2VhcmNoQ29u
dHJvbGxlcn0gY29udHJvbGxlcgogICovCi1XZWJJbnNwZWN0b3IuU2NyaXB0c1NlYXJjaFJlc3Vs
dHNQYW5lID0gZnVuY3Rpb24oc2VhcmNoQ29uZmlnKQorV2ViSW5zcGVjdG9yLlNjcmlwdHNTZWFy
Y2hSZXN1bHRzUGFuZSA9IGZ1bmN0aW9uKHNlYXJjaENvbmZpZywgY29udHJvbGxlcikKIHsKLSAg
ICBXZWJJbnNwZWN0b3IuRmlsZUJhc2VkU2VhcmNoUmVzdWx0c1BhbmUuY2FsbCh0aGlzLCBzZWFy
Y2hDb25maWcpCisgICAgV2ViSW5zcGVjdG9yLkZpbGVCYXNlZFNlYXJjaFJlc3VsdHNQYW5lLmNh
bGwodGhpcywgc2VhcmNoQ29uZmlnLCBjb250cm9sbGVyKQorICAgIAorICAgIHRoaXMuX29uRm9y
bWF0U291cmNlQ2hhbmdlZEhhbmRsZXIgPSB0aGlzLl9vbkZvcm1hdFNvdXJjZUNoYW5nZWQuYmlu
ZCh0aGlzKTsKKyAgICBXZWJJbnNwZWN0b3IuZGVidWdnZXJQcmVzZW50YXRpb25Nb2RlbC5hZGRF
dmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsLkV2ZW50
cy5Gb3JtYXRTb3VyY2VDaGFuZ2VkLCB0aGlzLl9vbkZvcm1hdFNvdXJjZUNoYW5nZWRIYW5kbGVy
KTsKIH0KIAogV2ViSW5zcGVjdG9yLlNjcmlwdHNTZWFyY2hSZXN1bHRzUGFuZS5wcm90b3R5cGUg
PSB7CkBAIC0xNDUsNiArMTUwLDE2IEBAIFdlYkluc3BlY3Rvci5TY3JpcHRzU2VhcmNoUmVzdWx0
c1BhbmUucHJvdG90eXBlID0gewogICAgICAgICByZXR1cm4gYW5jaG9yOwogICAgIH0sCiAgICAg
CisgICAgcmVzZXQ6IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIFdlYkluc3BlY3Rvci5kZWJ1
Z2dlclByZXNlbnRhdGlvbk1vZGVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkRl
YnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwuRXZlbnRzLkZvcm1hdFNvdXJjZUNoYW5nZWQsIHRoaXMu
X29uRm9ybWF0U291cmNlQ2hhbmdlZEhhbmRsZXIpOworICAgIH0sCisgICAgCisgICAgX29uRm9y
bWF0U291cmNlQ2hhbmdlZDogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgdGhpcy5jb250cm9s
bGVyLnJlc2V0U2VhcmNoKCk7CisgICAgfSwKKyAgICAKICAgICAvKioKICAgICAgKiBAcGFyYW0g
e09iamVjdH0gZmlsZQogICAgICAqIEByZXR1cm4ge3N0cmluZ30K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>111753</attachid>
            <date>2011-10-20 04:36:05 -0700</date>
            <delta_ts>2011-10-20 04:36:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-70347-20111020153603.patch</filename>
            <type>text/plain</type>
            <size>29325</size>
            <attacher name="Vsevolod Vlasov">vsevik</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTc5NjAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBjNGRkNTk0NjVkMjk0MWNk
ODAxNzAxMDlkMjAzZjEyMTEyOGU2NTg2Li43Y2JlNDViNjEyMjliZjhhOGNjNGI4ZWZmY2IzM2M5
NTg3ZmZhZDQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsNDkgQEAKIDIwMTEtMTAtMjAgIFZzZXZv
bG9kIFZsYXNvdiAgPHZzZXZpa0BjaHJvbWl1bS5vcmc+CiAKKyAgICAgICAgV2ViIEluc3BlY3Rv
cjogQWR2YW5jZWQgc2VhcmNoIHJlc3VsdHMgc2hvdWxkIGtlZXAgd29ya2luZyBhZnRlciBwcmV0
dHkgcHJpbnQgdG9nZ2xlZC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTcwMzQ3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0FkdmFuY2VkU2VhcmNoQ29udHJvbGxlci5q
czoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5BZHZhbmNlZFNlYXJjaENvbnRyb2xsZXIucHJvdG90
eXBlLnN0b3BTZWFyY2gpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNlYXJjaFNjb3BlLnByb3Rv
dHlwZS5jcmVhdGVTZWFyY2hSZXN1bHRzUGFuZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2Vh
cmNoUmVzdWx0c1BhbmUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkZpbGVCYXNlZFNlYXJjaFJl
c3VsdHNQYW5lLnByb3RvdHlwZS5jcmVhdGVBbmNob3IpOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LkZpbGVCYXNlZFNlYXJjaFJlc3VsdHNQYW5lLnByb3RvdHlwZS5hZGRTZWFyY2hSZXN1bHQpOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLkZpbGVCYXNlZFNlYXJjaFJlc3VsdHNQYW5lLnByb3RvdHlw
ZS5fcmVnZXhNYXRjaFJhbmdlcyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRmlsZUJhc2VkU2Vh
cmNoUmVzdWx0c1BhbmUucHJvdG90eXBlLl9jcmVhdGVDb250ZW50U3Bhbik6CisgICAgICAgICog
aW5zcGVjdG9yL2Zyb250LWVuZC9CcmVha3BvaW50TWFuYWdlci5qczoKKyAgICAgICAgKFdlYklu
c3BlY3Rvci5CcmVha3BvaW50TWFuYWdlci5wcm90b3R5cGUuX21hdGVyaWFsaXplQnJlYWtwb2lu
dCk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9Db21waWxlclNvdXJjZU1hcHBpbmcu
anM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29tcGlsZXJTb3VyY2VNYXBwaW5nLnByb3RvdHlw
ZS5zb3VyY2VMb2NhdGlvblRvQ29tcGlsZWRMb2NhdGlvbik6CisgICAgICAgICogaW5zcGVjdG9y
L2Zyb250LWVuZC9EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsLmpzOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLkRlYnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwucHJvdG90eXBlLmNyZWF0ZUxpbmtpZmll
cik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRGVidWdnZXJQcmVzZW50YXRpb25Nb2RlbC5wcm90
b3R5cGUuY29udGludWVUb0xpbmUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRlYnVnZ2VyUHJl
c2VudGF0aW9uTW9kZWwuTGlua2lmaWVyRm9ybWF0dGVyKToKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsLkxpbmtpZmllckZvcm1hdHRlci5wcm90b3R5cGUu
Zm9ybWF0UmF3U291cmNlQ29kZUFuY2hvcik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRGVidWdn
ZXJQcmVzZW50YXRpb25Nb2RlbC5MaW5raWZpZXJGb3JtYXR0ZXIucHJvdG90eXBlLmxpbmtpZnlS
ZXNvdXJjZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRGVidWdnZXJQcmVzZW50YXRpb25Nb2Rl
bC5EZWZhdWx0TGlua2lmaWVyRm9ybWF0dGVyKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5EZWJ1
Z2dlclByZXNlbnRhdGlvbk1vZGVsLkRlZmF1bHRMaW5raWZpZXJGb3JtYXR0ZXIucHJvdG90eXBl
LmZvcm1hdFJhd1NvdXJjZUNvZGVBbmNob3IpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRlYnVn
Z2VyUHJlc2VudGF0aW9uTW9kZWwuTGlua2lmaWVyKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5E
ZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsLkxpbmtpZmllci5wcm90b3R5cGUubGlua2lmeUxvY2F0
aW9uKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsLkxp
bmtpZmllci5wcm90b3R5cGUubGlua2lmeVJhd1NvdXJjZUNvZGUpOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLkRlYnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwuTGlua2lmaWVyLnByb3RvdHlwZS5fdXBk
YXRlQW5jaG9yKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1Jhd1NvdXJjZUNvZGUu
anM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUmF3U291cmNlQ29kZS5Tb3VyY2VNYXBwaW5nLnBy
b3RvdHlwZS51aUxvY2F0aW9uVG9SYXdMb2NhdGlvbik6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
UmF3U291cmNlQ29kZS5QbGFpblNvdXJjZU1hcHBpbmcucHJvdG90eXBlLnVpTG9jYXRpb25Ub1Jh
d0xvY2F0aW9uKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5SYXdTb3VyY2VDb2RlLkZvcm1hdHRl
ZFNvdXJjZU1hcHBpbmcucHJvdG90eXBlLnVpTG9jYXRpb25Ub1Jhd0xvY2F0aW9uKToKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5SYXdTb3VyY2VDb2RlLkNvbXBpbGVyU291cmNlTWFwcGluZy5wcm90
b3R5cGUudWlMb2NhdGlvblRvUmF3TG9jYXRpb24pOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9u
dC1lbmQvU2NyaXB0c1NlYXJjaFNjb3BlLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNjcmlw
dHNTZWFyY2hSZXN1bHRzUGFuZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2NyaXB0c1NlYXJj
aFJlc3VsdHNQYW5lLnByb3RvdHlwZS5jcmVhdGVBbmNob3IpOgorICAgICAgICAoV2ViSW5zcGVj
dG9yLlNjcmlwdHNTZWFyY2hSZXN1bHRzUGFuZS5MaW5raWZpZXJGb3JtYXR0ZXIpOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLlNjcmlwdHNTZWFyY2hSZXN1bHRzUGFuZS5MaW5raWZpZXJGb3JtYXR0
ZXIucHJvdG90eXBlLmZvcm1hdFJhd1NvdXJjZUNvZGVBbmNob3IpOgorICAgICAgICAqIGluc3Bl
Y3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmh0bWw6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250
LWVuZC91dGlsaXRpZXMuanM6CisKKzIwMTEtMTAtMjAgIFZzZXZvbG9kIFZsYXNvdiAgPHZzZXZp
a0BjaHJvbWl1bS5vcmc+CisKICAgICAgICAgV2ViIEluc3BlY3RvcjogRW5hYmxlIHN1cHBvcnQg
Zm9yIGFkdmFuY2VkIHNlYXJjaCBpbiBzY3JpcHQncyBzdGF0aWMgY29udGVudCBwcm92aWRlci4K
ICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzU0CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQWR2YW5jZWRT
ZWFyY2hDb250cm9sbGVyLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9B
ZHZhbmNlZFNlYXJjaENvbnRyb2xsZXIuanMKaW5kZXggYTcwYzc2OGExNmI5NDc5OGM0ZTkzMGYy
YTA5MjRjZDc0MGUwM2NhNS4uYTdiMmM2MzFjOTZkZDk3MmE3MDE3MDBiN2U3MmI0OWYxZGFhNzVi
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9BZHZhbmNl
ZFNlYXJjaENvbnRyb2xsZXIuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9BZHZhbmNlZFNlYXJjaENvbnRyb2xsZXIuanMKQEAgLTEyMiw4ICsxMjIsMTAgQEAgV2Vi
SW5zcGVjdG9yLkFkdmFuY2VkU2VhcmNoQ29udHJvbGxlci5wcm90b3R5cGUgPSB7CiAgICAgewog
ICAgICAgICArK3RoaXMuX3NlYXJjaElkOwogICAgICAgICBkZWxldGUgdGhpcy5fc2VhcmNoUmVz
dWx0c1BhbmU7CisKICAgICAgICAgaWYgKHRoaXMuX2N1cnJlbnRTZWFyY2hTY29wZSkKICAgICAg
ICAgICAgIHRoaXMuX2N1cnJlbnRTZWFyY2hTY29wZS5zdG9wU2VhcmNoKCk7CisgICAgICAgIAog
ICAgIH0KIH0KIApAQCAtMjk2LDkgKzI5OCwxMCBAQCBXZWJJbnNwZWN0b3IuU2VhcmNoU2NvcGUu
cHJvdG90eXBlID0gewogICAgIHN0b3BTZWFyY2g6IGZ1bmN0aW9uKCkgeyB9LAogICAgIAogICAg
IC8qKgorICAgICAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLlNlYXJjaENvbmZpZ30gc2VhcmNoQ29u
ZmlnCiAgICAgICogQHJldHVybiBXZWJJbnNwZWN0b3IuU2VhcmNoUmVzdWx0c1BhbmV9CiAgICAg
ICovCi0gICAgY3JlYXRlU2VhcmNoUmVzdWx0c1BhbmU6IGZ1bmN0aW9uKCkgeyB9CisgICAgY3Jl
YXRlU2VhcmNoUmVzdWx0c1BhbmU6IGZ1bmN0aW9uKHNlYXJjaENvbmZpZykgeyB9CiB9CiAKIC8q
KgpAQCAtMzA4LDYgKzMxMSw3IEBAIFdlYkluc3BlY3Rvci5TZWFyY2hTY29wZS5wcm90b3R5cGUg
PSB7CiBXZWJJbnNwZWN0b3IuU2VhcmNoUmVzdWx0c1BhbmUgPSBmdW5jdGlvbihzZWFyY2hDb25m
aWcpCiB7CiAgICAgdGhpcy5fc2VhcmNoQ29uZmlnID0gc2VhcmNoQ29uZmlnOworICAgIAogICAg
IHRoaXMuZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogfQogCkBAIC0z
NDksOSArMzUzLDEwIEBAIFdlYkluc3BlY3Rvci5GaWxlQmFzZWRTZWFyY2hSZXN1bHRzUGFuZS5w
cm90b3R5cGUgPSB7CiAgICAgLyoqCiAgICAgICogQHBhcmFtIHtPYmplY3R9IGZpbGUKICAgICAg
KiBAcGFyYW0ge251bWJlcn0gbGluZU51bWJlcgorICAgICAqIEBwYXJhbSB7bnVtYmVyfSBjb2x1
bW5OdW1iZXIKICAgICAgKiBAcmV0dXJuIHtFbGVtZW50fQogICAgICAqLwotICAgIGNyZWF0ZUFu
Y2hvcjogZnVuY3Rpb24oZmlsZSwgbGluZU51bWJlcikgeyB9LAorICAgIGNyZWF0ZUFuY2hvcjog
ZnVuY3Rpb24oZmlsZSwgbGluZU51bWJlciwgY29sdW1uTnVtYmVyKSB7IH0sCiAgICAgCiAgICAg
LyoqCiAgICAgICogQHBhcmFtIHtPYmplY3R9IGZpbGUKQEAgLTM3MiwxMSArMzc3LDEzIEBAIFdl
Ykluc3BlY3Rvci5GaWxlQmFzZWRTZWFyY2hSZXN1bHRzUGFuZS5wcm90b3R5cGUgPSB7CiAgICAg
ICAgIC8vIEV4cGFuZCBmaXJzdCBmaWxlIHdpdGggbWF0Y2hlcyBvbmx5LgogICAgICAgICB2YXIg
ZmlsZVRyZWVFbGVtZW50ID0gdGhpcy5fYWRkRmlsZVRyZWVFbGVtZW50KGZpbGVOYW1lLCBzZWFy
Y2hNYXRjaGVzLmxlbmd0aCwgdGhpcy5fc2VhcmNoUmVzdWx0cy5sZW5ndGggPT09IDEpOwogICAg
ICAgICAKLSAgICAgICAgdmFyIHJlZ2V4T2JqZWN0ID0gY3JlYXRlU2VhcmNoUmVnZXgodGhpcy5f
c2VhcmNoQ29uZmlnLnF1ZXJ5LCAhdGhpcy5fc2VhcmNoQ29uZmlnLmlnbm9yZUNhc2UsIHRoaXMu
X3NlYXJjaENvbmZpZy5pc1JlZ2V4KTsKKyAgICAgICAgdmFyIHJlZ2V4ID0gY3JlYXRlU2VhcmNo
UmVnZXgodGhpcy5fc2VhcmNoQ29uZmlnLnF1ZXJ5LCAhdGhpcy5fc2VhcmNoQ29uZmlnLmlnbm9y
ZUNhc2UsIHRoaXMuX3NlYXJjaENvbmZpZy5pc1JlZ2V4KTsKICAgICAgICAgZm9yICh2YXIgaSA9
IDA7IGkgPCBzZWFyY2hNYXRjaGVzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgICB2YXIgbGlu
ZU51bWJlciA9IHNlYXJjaE1hdGNoZXNbaV0ubGluZU51bWJlcjsKKyAgICAgICAgICAgIHZhciBs
aW5lQ29udGVudCA9IHNlYXJjaE1hdGNoZXNbaV0ubGluZUNvbnRlbnQ7CisgICAgICAgICAgICB2
YXIgbWF0Y2hSYW5nZXMgPSB0aGlzLl9yZWdleE1hdGNoUmFuZ2VzKGxpbmVDb250ZW50LCByZWdl
eCk7CiAgICAgICAgICAgICAKLSAgICAgICAgICAgIHZhciBhbmNob3IgPSB0aGlzLmNyZWF0ZUFu
Y2hvcihmaWxlLCBsaW5lTnVtYmVyKTsKKyAgICAgICAgICAgIHZhciBhbmNob3IgPSB0aGlzLmNy
ZWF0ZUFuY2hvcihmaWxlLCBsaW5lTnVtYmVyLCBtYXRjaFJhbmdlc1swXS5vZmZzZXQpOwogICAg
ICAgICAgICAgCiAgICAgICAgICAgICB2YXIgbnVtYmVyU3RyaW5nID0gbnVtYmVyVG9TdHJpbmdX
aXRoU3BhY2VzUGFkZGluZyhsaW5lTnVtYmVyICsgMSwgNCk7CiAgICAgICAgICAgICB2YXIgbGlu
ZU51bWJlclNwYW4gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7CkBAIC0zODUsNyAr
MzkyLDcgQEAgV2ViSW5zcGVjdG9yLkZpbGVCYXNlZFNlYXJjaFJlc3VsdHNQYW5lLnByb3RvdHlw
ZSA9IHsKICAgICAgICAgICAgIGxpbmVOdW1iZXJTcGFuLnRleHRDb250ZW50ID0gbnVtYmVyU3Ry
aW5nOwogICAgICAgICAgICAgYW5jaG9yLmFwcGVuZENoaWxkKGxpbmVOdW1iZXJTcGFuKTsKICAg
ICAgICAgICAgIAotICAgICAgICAgICAgdmFyIGNvbnRlbnRTcGFuID0gdGhpcy5fY3JlYXRlQ29u
dGVudFNwYW4oc2VhcmNoTWF0Y2hlc1tpXS5saW5lQ29udGVudCwgcmVnZXhPYmplY3QpOworICAg
ICAgICAgICAgdmFyIGNvbnRlbnRTcGFuID0gdGhpcy5fY3JlYXRlQ29udGVudFNwYW4obGluZUNv
bnRlbnQsIG1hdGNoUmFuZ2VzKTsKICAgICAgICAgICAgIGFuY2hvci5hcHBlbmRDaGlsZChjb250
ZW50U3Bhbik7CiAgICAgICAgICAgICAKICAgICAgICAgICAgIHZhciBzZWFyY2hNYXRjaEVsZW1l
bnQgPSBuZXcgVHJlZUVsZW1lbnQoIiIsIG51bGwsIGZhbHNlKTsKQEAgLTQyOSwyNCArNDM2LDMx
IEBAIFdlYkluc3BlY3Rvci5GaWxlQmFzZWRTZWFyY2hSZXN1bHRzUGFuZS5wcm90b3R5cGUgPSB7
CiAKICAgICAvKioKICAgICAgKiBAcGFyYW0ge3N0cmluZ30gbGluZUNvbnRlbnQKLSAgICAgKiBA
cGFyYW0ge1JlZ0V4cH0gcmVnZXhPYmplY3QKKyAgICAgKiBAcGFyYW0ge1JlZ0V4cH0gcmVnZXgK
KyAgICAgKiBAcmV0dXJuIHtBcnJheS48T2JqZWN0Pn0KICAgICAgKi8KLSAgICBfY3JlYXRlQ29u
dGVudFNwYW46IGZ1bmN0aW9uKGxpbmVDb250ZW50LCByZWdleE9iamVjdCkKKyAgICBfcmVnZXhN
YXRjaFJhbmdlczogZnVuY3Rpb24obGluZUNvbnRlbnQsIHJlZ2V4KQogICAgIHsKLSAgICAgICAg
dmFyIGNvbnRlbnRTcGFuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpOwotICAgICAg
ICBjb250ZW50U3Bhbi5jbGFzc05hbWUgPSAic2VhcmNoLW1hdGNoLWNvbnRlbnQiOwotICAgICAg
ICBjb250ZW50U3Bhbi50ZXh0Q29udGVudCA9IGxpbmVDb250ZW50OwotICAgICAgICAKLSAgICAg
ICAgcmVnZXhPYmplY3QubGFzdEluZGV4ID0gMDsKLSAgICAgICAgdmFyIG1hdGNoID0gcmVnZXhP
YmplY3QuZXhlYyhsaW5lQ29udGVudCk7CisgICAgICAgIHJlZ2V4Lmxhc3RJbmRleCA9IDA7Cisg
ICAgICAgIHZhciBtYXRjaDsKICAgICAgICAgdmFyIG9mZnNldCA9IDA7CiAgICAgICAgIHZhciBt
YXRjaFJhbmdlcyA9IFtdOwotICAgICAgICB3aGlsZSAobWF0Y2gpIHsKKyAgICAgICAgd2hpbGUg
KG1hdGNoID0gcmVnZXguZXhlYyhsaW5lQ29udGVudCkpCiAgICAgICAgICAgICBtYXRjaFJhbmdl
cy5wdXNoKHsgb2Zmc2V0OiBtYXRjaC5pbmRleCwgbGVuZ3RoOiBtYXRjaFswXS5sZW5ndGggfSk7
Ci0gICAgICAgICAgICBtYXRjaCA9IHJlZ2V4T2JqZWN0LmV4ZWMobGluZUNvbnRlbnQpOwotICAg
ICAgICB9Ci0gICAgICAgIGhpZ2hsaWdodFJhbmdlc1dpdGhTdHlsZUNsYXNzKGNvbnRlbnRTcGFu
LCBtYXRjaFJhbmdlcywgImhpZ2hsaWdodGVkLW1hdGNoIik7CiAgICAgICAgIAorICAgICAgICBy
ZXR1cm4gbWF0Y2hSYW5nZXM7CisgICAgfSwKKyAgICAKKyAgICAvKioKKyAgICAgKiBAcGFyYW0g
e3N0cmluZ30gbGluZUNvbnRlbnQKKyAgICAgKiBAcGFyYW0ge0FycmF5LjxPYmplY3Q+fSBtYXRj
aFJhbmdlcworICAgICAqLworICAgIF9jcmVhdGVDb250ZW50U3BhbjogZnVuY3Rpb24obGluZUNv
bnRlbnQsIG1hdGNoUmFuZ2VzKQorICAgIHsKKyAgICAgICAgdmFyIGNvbnRlbnRTcGFuID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpOworICAgICAgICBjb250ZW50U3Bhbi5jbGFzc05h
bWUgPSAic2VhcmNoLW1hdGNoLWNvbnRlbnQiOworICAgICAgICBjb250ZW50U3Bhbi50ZXh0Q29u
dGVudCA9IGxpbmVDb250ZW50OworICAgICAgICBoaWdobGlnaHRSYW5nZXNXaXRoU3R5bGVDbGFz
cyhjb250ZW50U3BhbiwgbWF0Y2hSYW5nZXMsICJoaWdobGlnaHRlZC1tYXRjaCIpOwogICAgICAg
ICByZXR1cm4gY29udGVudFNwYW47CiAgICAgfQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9CcmVha3BvaW50TWFuYWdlci5qcyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQnJlYWtwb2ludE1hbmFnZXIuanMKaW5kZXggMmY1N2I1
ODY3ZDI0OTlmMjljZDY1YTJhM2I1ZTgxMjU3YjMyODYzMC4uNzQzOWY5MDA4NjhkNTg3NDNmYmE4
NWJjNTQyNGQwZjAxZWExYmZhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9CcmVha3BvaW50TWFuYWdlci5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL0JyZWFrcG9pbnRNYW5hZ2VyLmpzCkBAIC0xMjcsNyArMTI3LDcgQEAg
V2ViSW5zcGVjdG9yLkJyZWFrcG9pbnRNYW5hZ2VyLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAg
IHJldHVybjsKIAogICAgICAgICBicmVha3BvaW50Ll9tYXRlcmlhbGl6ZWQgPSB0cnVlOwotICAg
ICAgICB2YXIgcmF3TG9jYXRpb24gPSBzb3VyY2VNYXBwaW5nLnVpTG9jYXRpb25Ub1Jhd0xvY2F0
aW9uKHVpU291cmNlQ29kZSwgYnJlYWtwb2ludC5saW5lTnVtYmVyKTsKKyAgICAgICAgdmFyIHJh
d0xvY2F0aW9uID0gc291cmNlTWFwcGluZy51aUxvY2F0aW9uVG9SYXdMb2NhdGlvbih1aVNvdXJj
ZUNvZGUsIGJyZWFrcG9pbnQubGluZU51bWJlciwgMCk7CiAgICAgICAgIHRoaXMuX3NldEJyZWFr
cG9pbnRJbkRlYnVnZ2VyKGJyZWFrcG9pbnQsIHJhd0xvY2F0aW9uKTsKICAgICB9LAogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NvbXBpbGVyU291cmNl
TWFwcGluZy5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29tcGlsZXJT
b3VyY2VNYXBwaW5nLmpzCmluZGV4IDkxYjkzZjQxMDIwNzM0ZDBhZjBhNzRiYjRlYzYwYmU1ZDY1
NjBjZGEuLjY2YTU3YjliZjY0Yjk4ODNmMTAzMjkzMmRiOTFmM2RkMDQ0MmI3YjQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29tcGlsZXJTb3VyY2VNYXBw
aW5nLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29tcGlsZXJT
b3VyY2VNYXBwaW5nLmpzCkBAIC00NiwxMCArNDYsOSBAQCBXZWJJbnNwZWN0b3IuQ29tcGlsZXJT
b3VyY2VNYXBwaW5nLnByb3RvdHlwZSA9IHsKICAgICAvKioKICAgICAgKiBAcGFyYW0ge3N0cmlu
Z30gc291cmNlVVJMCiAgICAgICogQHBhcmFtIHtudW1iZXJ9IGxpbmVOdW1iZXIKLSAgICAgKiBA
cGFyYW0ge251bWJlcn0gY29sdW1uTnVtYmVyCiAgICAgICogQHJldHVybiB7T2JqZWN0fQogICAg
ICAqLwotICAgIHNvdXJjZUxvY2F0aW9uVG9Db21waWxlZExvY2F0aW9uOiBmdW5jdGlvbihzb3Vy
Y2VVUkwsIGxpbmVOdW1iZXIsIGNvbHVtbk51bWJlcikgeyB9LAorICAgIHNvdXJjZUxvY2F0aW9u
VG9Db21waWxlZExvY2F0aW9uOiBmdW5jdGlvbihzb3VyY2VVUkwsIGxpbmVOdW1iZXIpIHsgfSwK
IAogICAgIC8qKgogICAgICAqIEByZXR1cm4ge0FycmF5LjxzdHJpbmc+fQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9EZWJ1Z2dlclByZXNlbnRhdGlvbk1v
ZGVsLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9EZWJ1Z2dlclByZXNl
bnRhdGlvbk1vZGVsLmpzCmluZGV4IGIyMzY2MWFmMDVhMzc0NmNmNzU1ZmQzMjQyYmFjNzNhMzgz
MTgxYzEuLjliOGQ2Nzk0NzRiYTk2Yjk0Y2U4Y2RiZTU4YThlYjBjY2E5ZjE1OTMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRGVidWdnZXJQcmVzZW50YXRp
b25Nb2RlbC5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RlYnVn
Z2VyUHJlc2VudGF0aW9uTW9kZWwuanMKQEAgLTY4LDkgKzY4LDEyIEBAIFdlYkluc3BlY3Rvci5E
ZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsLkV2ZW50cyA9IHsKIH0KIAogV2ViSW5zcGVjdG9yLkRl
YnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwucHJvdG90eXBlID0gewotICAgIGNyZWF0ZUxpbmtpZmll
cjogZnVuY3Rpb24oKQorICAgIC8qKgorICAgICAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLkRlYnVn
Z2VyUHJlc2VudGF0aW9uTW9kZWwuTGlua2lmaWVyRm9ybWF0dGVyPX0gZm9ybWF0dGVyCisgICAg
ICovCisgICAgY3JlYXRlTGlua2lmaWVyOiBmdW5jdGlvbihmb3JtYXR0ZXIpCiAgICAgewotICAg
ICAgICByZXR1cm4gbmV3IFdlYkluc3BlY3Rvci5EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsLkxp
bmtpZmllcih0aGlzKTsKKyAgICAgICAgcmV0dXJuIG5ldyBXZWJJbnNwZWN0b3IuRGVidWdnZXJQ
cmVzZW50YXRpb25Nb2RlbC5MaW5raWZpZXIodGhpcywgZm9ybWF0dGVyKTsKICAgICB9LAogCiAg
ICAgLyoqCkBAIC0zNjIsNyArMzY1LDcgQEAgV2ViSW5zcGVjdG9yLkRlYnVnZ2VyUHJlc2VudGF0
aW9uTW9kZWwucHJvdG90eXBlID0gewogICAgIGNvbnRpbnVlVG9MaW5lOiBmdW5jdGlvbih1aVNv
dXJjZUNvZGUsIGxpbmVOdW1iZXIpCiAgICAgewogICAgICAgICAvLyBGSVhNRTogdXNlIFJhd1Nv
dXJjZUNvZGUudWlMb2NhdGlvblRvUmF3TG9jYXRpb24uCi0gICAgICAgIHZhciByYXdMb2NhdGlv
biA9IHVpU291cmNlQ29kZS5yYXdTb3VyY2VDb2RlLnNvdXJjZU1hcHBpbmcudWlMb2NhdGlvblRv
UmF3TG9jYXRpb24odWlTb3VyY2VDb2RlLCBsaW5lTnVtYmVyKTsKKyAgICAgICAgdmFyIHJhd0xv
Y2F0aW9uID0gdWlTb3VyY2VDb2RlLnJhd1NvdXJjZUNvZGUuc291cmNlTWFwcGluZy51aUxvY2F0
aW9uVG9SYXdMb2NhdGlvbih1aVNvdXJjZUNvZGUsIGxpbmVOdW1iZXIsIDApOwogICAgICAgICBX
ZWJJbnNwZWN0b3IuZGVidWdnZXJNb2RlbC5jb250aW51ZVRvTG9jYXRpb24ocmF3TG9jYXRpb24p
OwogICAgIH0sCiAKQEAgLTc2OSwxMSArNzcyLDY0IEBAIFdlYkluc3BlY3Rvci5EZWJ1Z2dlclBy
ZXNlbnRhdGlvbk1vZGVsUmVzb3VyY2VCaW5kaW5nLnByb3RvdHlwZSA9IHsKIAogLyoqCiAgKiBA
Y29uc3RydWN0b3IKKyAqLworV2ViSW5zcGVjdG9yLkRlYnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwu
TGlua2lmaWVyRm9ybWF0dGVyID0gZnVuY3Rpb24oKQoreworfQorCitXZWJJbnNwZWN0b3IuRGVi
dWdnZXJQcmVzZW50YXRpb25Nb2RlbC5MaW5raWZpZXJGb3JtYXR0ZXIucHJvdG90eXBlID0gewor
ICAgIC8qKgorICAgICAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLlJhd1NvdXJjZUNvZGV9IHJhd1Nv
dXJjZUNvZGUKKyAgICAgKiBAcGFyYW0ge0VsZW1lbnR9IGFuY2hvcgorICAgICAqLworICAgIGZv
cm1hdFJhd1NvdXJjZUNvZGVBbmNob3I6IGZ1bmN0aW9uKHJhd1NvdXJjZUNvZGUsIGFuY2hvcikg
eyB9LAorCisgICAgLyoqCisgICAgICogQHBhcmFtIHtzdHJpbmd9IHNvdXJjZVVSTAorICAgICAq
IEBwYXJhbSB7bnVtYmVyPX0gbGluZU51bWJlcgorICAgICAqIEBwYXJhbSB7c3RyaW5nPX0gY2xh
c3NlcworICAgICAqLworICAgIGxpbmtpZnlSZXNvdXJjZTogZnVuY3Rpb24oc291cmNlVVJMLCBs
aW5lTnVtYmVyLCBjbGFzc2VzKQorICAgIHsKKyAgICAgICAgdmFyIGxpbmtUZXh0ID0gV2ViSW5z
cGVjdG9yLmZvcm1hdExpbmtUZXh0KHNvdXJjZVVSTCwgbGluZU51bWJlcik7CisgICAgICAgIHZh
ciBhbmNob3IgPSBXZWJJbnNwZWN0b3IubGlua2lmeVVSTEFzTm9kZShzb3VyY2VVUkwsIGxpbmtU
ZXh0LCBjbGFzc2VzLCBmYWxzZSk7CisgICAgICAgIGFuY2hvci5zZXRBdHRyaWJ1dGUoInByZWZl
cnJlZF9wYW5lbCIsICJyZXNvdXJjZXMiKTsKKyAgICAgICAgYW5jaG9yLnNldEF0dHJpYnV0ZSgi
bGluZV9udW1iZXIiLCBsaW5lTnVtYmVyKTsKKyAgICAgICAgcmV0dXJuIGFuY2hvcjsKKyAgICB9
Cit9CisKKy8qKgorICogQGNvbnN0cnVjdG9yCisgKiBAZXh0ZW5kcyB7V2ViSW5zcGVjdG9yLkRl
YnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwuTGlua2lmaWVyRm9ybWF0dGVyfQorICovCitXZWJJbnNw
ZWN0b3IuRGVidWdnZXJQcmVzZW50YXRpb25Nb2RlbC5EZWZhdWx0TGlua2lmaWVyRm9ybWF0dGVy
ID0gZnVuY3Rpb24oKQoreworfQorCitXZWJJbnNwZWN0b3IuRGVidWdnZXJQcmVzZW50YXRpb25N
b2RlbC5EZWZhdWx0TGlua2lmaWVyRm9ybWF0dGVyLnByb3RvdHlwZSA9IHsKKyAgICAvKioKKyAg
ICAgKiBAcGFyYW0ge1dlYkluc3BlY3Rvci5SYXdTb3VyY2VDb2RlfSByYXdTb3VyY2VDb2RlCisg
ICAgICogQHBhcmFtIHtFbGVtZW50fSBhbmNob3IKKyAgICAgKi8KKyAgICBmb3JtYXRSYXdTb3Vy
Y2VDb2RlQW5jaG9yOiBmdW5jdGlvbihyYXdTb3VyY2VDb2RlLCBhbmNob3IpCisgICAgeworICAg
ICAgICB2YXIgdWlMb2NhdGlvbiA9IHJhd1NvdXJjZUNvZGUuc291cmNlTWFwcGluZy5yYXdMb2Nh
dGlvblRvVUlMb2NhdGlvbihhbmNob3IucmF3TG9jYXRpb24pOworICAgICAgICBhbmNob3IudGV4
dENvbnRlbnQgPSBXZWJJbnNwZWN0b3IuZm9ybWF0TGlua1RleHQodWlMb2NhdGlvbi51aVNvdXJj
ZUNvZGUudXJsLCB1aUxvY2F0aW9uLmxpbmVOdW1iZXIpOworICAgIH0KK30KKworV2ViSW5zcGVj
dG9yLkRlYnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwuRGVmYXVsdExpbmtpZmllckZvcm1hdHRlci5w
cm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9yLkRlYnVnZ2VyUHJlc2VudGF0aW9uTW9k
ZWwuTGlua2lmaWVyRm9ybWF0dGVyLnByb3RvdHlwZTsKKworLyoqCisgKiBAY29uc3RydWN0b3IK
ICAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLkRlYnVnZ2VyUHJlc2VudGF0aW9uTW9kZWx9IG1vZGVs
CisgKiBAcGFyYW0ge1dlYkluc3BlY3Rvci5EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsLkxpbmtp
ZmllckZvcm1hdHRlcj19IGZvcm1hdHRlcgogICovCi1XZWJJbnNwZWN0b3IuRGVidWdnZXJQcmVz
ZW50YXRpb25Nb2RlbC5MaW5raWZpZXIgPSBmdW5jdGlvbihtb2RlbCkKK1dlYkluc3BlY3Rvci5E
ZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsLkxpbmtpZmllciA9IGZ1bmN0aW9uKG1vZGVsLCBmb3Jt
YXR0ZXIpCiB7CiAgICAgdGhpcy5fbW9kZWwgPSBtb2RlbDsKKyAgICB0aGlzLl9mb3JtYXR0ZXIg
PSBmb3JtYXR0ZXIgfHwgbmV3IFdlYkluc3BlY3Rvci5EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVs
LkRlZmF1bHRMaW5raWZpZXJGb3JtYXR0ZXIoKTsKICAgICB0aGlzLl9hbmNob3JzRm9yUmF3U291
cmNlQ29kZSA9IHt9OwogfQogCkBAIC03ODYsMTYgKzg0MiwyMyBAQCBXZWJJbnNwZWN0b3IuRGVi
dWdnZXJQcmVzZW50YXRpb25Nb2RlbC5MaW5raWZpZXIucHJvdG90eXBlID0gewogICAgICAqLwog
ICAgIGxpbmtpZnlMb2NhdGlvbjogZnVuY3Rpb24oc291cmNlVVJMLCBsaW5lTnVtYmVyLCBjb2x1
bW5OdW1iZXIsIGNsYXNzZXMpCiAgICAgewotICAgICAgICB2YXIgbGlua1RleHQgPSBXZWJJbnNw
ZWN0b3IuZm9ybWF0TGlua1RleHQoc291cmNlVVJMLCBsaW5lTnVtYmVyKTsKLSAgICAgICAgdmFy
IGFuY2hvciA9IFdlYkluc3BlY3Rvci5saW5raWZ5VVJMQXNOb2RlKHNvdXJjZVVSTCwgbGlua1Rl
eHQsIGNsYXNzZXMsIGZhbHNlKTsKLSAgICAgICAgYW5jaG9yLnJhd0xvY2F0aW9uID0geyBsaW5l
TnVtYmVyOiBsaW5lTnVtYmVyLCBjb2x1bW5OdW1iZXI6IGNvbHVtbk51bWJlciB9OwotCiAgICAg
ICAgIHZhciByYXdTb3VyY2VDb2RlID0gdGhpcy5fbW9kZWwuX3Jhd1NvdXJjZUNvZGVGb3JTY3Jp
cHRXaXRoVVJMKHNvdXJjZVVSTCk7Ci0gICAgICAgIGlmICghcmF3U291cmNlQ29kZSkgewotICAg
ICAgICAgICAgYW5jaG9yLnNldEF0dHJpYnV0ZSgicHJlZmVycmVkX3BhbmVsIiwgInJlc291cmNl
cyIpOwotICAgICAgICAgICAgYW5jaG9yLnNldEF0dHJpYnV0ZSgibGluZV9udW1iZXIiLCBsaW5l
TnVtYmVyKTsKLSAgICAgICAgICAgIHJldHVybiBhbmNob3I7Ci0gICAgICAgIH0KKyAgICAgICAg
aWYgKCFyYXdTb3VyY2VDb2RlKQorICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2Zvcm1hdHRlci5s
aW5raWZ5UmVzb3VyY2Uoc291cmNlVVJMLCBsaW5lTnVtYmVyLCBjbGFzc2VzKTsKKyAgICAgICAg
CisgICAgICAgIHJldHVybiB0aGlzLmxpbmtpZnlSYXdTb3VyY2VDb2RlKHJhd1NvdXJjZUNvZGUs
IGxpbmVOdW1iZXIsIGNvbHVtbk51bWJlciwgY2xhc3Nlcyk7CisgICAgfSwKKworICAgIC8qKgor
ICAgICAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLlJhd1NvdXJjZUNvZGV9IHJhd1NvdXJjZUNvZGUK
KyAgICAgKiBAcGFyYW0ge251bWJlcj19IGxpbmVOdW1iZXIKKyAgICAgKiBAcGFyYW0ge251bWJl
cj19IGNvbHVtbk51bWJlcgorICAgICAqIEBwYXJhbSB7c3RyaW5nPX0gY2xhc3NlcworICAgICAq
LworICAgIGxpbmtpZnlSYXdTb3VyY2VDb2RlOiBmdW5jdGlvbihyYXdTb3VyY2VDb2RlLCBsaW5l
TnVtYmVyLCBjb2x1bW5OdW1iZXIsIGNsYXNzZXMpCisgICAgeworICAgICAgICB2YXIgYW5jaG9y
ID0gV2ViSW5zcGVjdG9yLmxpbmtpZnlVUkxBc05vZGUocmF3U291cmNlQ29kZS51cmwsICIiLCBj
bGFzc2VzLCBmYWxzZSk7CisgICAgICAgIGFuY2hvci5yYXdMb2NhdGlvbiA9IHsgbGluZU51bWJl
cjogbGluZU51bWJlciwgY29sdW1uTnVtYmVyOiBjb2x1bW5OdW1iZXIgfTsKIAogICAgICAgICB2
YXIgYW5jaG9ycyA9IHRoaXMuX2FuY2hvcnNGb3JSYXdTb3VyY2VDb2RlW3Jhd1NvdXJjZUNvZGUu
aWRdOwogICAgICAgICBpZiAoIWFuY2hvcnMpIHsKQEAgLTgzNywxMCArOTAwLDExIEBAIFdlYklu
c3BlY3Rvci5EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsLkxpbmtpZmllci5wcm90b3R5cGUgPSB7
CiAgICAgX3VwZGF0ZUFuY2hvcjogZnVuY3Rpb24ocmF3U291cmNlQ29kZSwgYW5jaG9yKQogICAg
IHsKICAgICAgICAgdmFyIHVpTG9jYXRpb24gPSByYXdTb3VyY2VDb2RlLnNvdXJjZU1hcHBpbmcu
cmF3TG9jYXRpb25Ub1VJTG9jYXRpb24oYW5jaG9yLnJhd0xvY2F0aW9uKTsKLSAgICAgICAgYW5j
aG9yLnRleHRDb250ZW50ID0gV2ViSW5zcGVjdG9yLmZvcm1hdExpbmtUZXh0KHVpTG9jYXRpb24u
dWlTb3VyY2VDb2RlLnVybCwgdWlMb2NhdGlvbi5saW5lTnVtYmVyKTsKICAgICAgICAgYW5jaG9y
LnNldEF0dHJpYnV0ZSgicHJlZmVycmVkX3BhbmVsIiwgInNjcmlwdHMiKTsKICAgICAgICAgYW5j
aG9yLnVpU291cmNlQ29kZSA9IHVpTG9jYXRpb24udWlTb3VyY2VDb2RlOwogICAgICAgICBhbmNo
b3IubGluZU51bWJlciA9IHVpTG9jYXRpb24ubGluZU51bWJlcjsKKyAgICAgICAgCisgICAgICAg
IHRoaXMuX2Zvcm1hdHRlci5mb3JtYXRSYXdTb3VyY2VDb2RlQW5jaG9yKHJhd1NvdXJjZUNvZGUs
IGFuY2hvcik7CiAgICAgfQogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL1Jhd1NvdXJjZUNvZGUuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL1Jhd1NvdXJjZUNvZGUuanMKaW5kZXggMTU4NTQwOWM1OGMzZGZhZjc1MzBkYjgz
NmZlOTAzMjY2NTkxZWY0NS4uNGU2MDNiNDcyMzYzMWQwZDk2MTlkNmQzMjMzOWE2YjZhMmU4NTRi
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SYXdTb3Vy
Y2VDb2RlLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmF3U291
cmNlQ29kZS5qcwpAQCAtMjY2LDkgKzI2NiwxMCBAQCBXZWJJbnNwZWN0b3IuUmF3U291cmNlQ29k
ZS5Tb3VyY2VNYXBwaW5nLnByb3RvdHlwZSA9IHsKICAgICAvKioKICAgICAgKiBAcGFyYW0ge1dl
Ykluc3BlY3Rvci5VSVNvdXJjZUNvZGV9IHVpU291cmNlQ29kZQogICAgICAqIEBwYXJhbSB7bnVt
YmVyfSBsaW5lTnVtYmVyCisgICAgICogQHBhcmFtIHtudW1iZXJ9IGNvbHVtbk51bWJlcgogICAg
ICAqIEByZXR1cm4ge0RlYnVnZ2VyQWdlbnQuTG9jYXRpb259CiAgICAgICovCi0gICAgdWlMb2Nh
dGlvblRvUmF3TG9jYXRpb246IGZ1bmN0aW9uKHVpU291cmNlQ29kZSwgbGluZU51bWJlcikgeyB9
CisgICAgdWlMb2NhdGlvblRvUmF3TG9jYXRpb246IGZ1bmN0aW9uKHVpU291cmNlQ29kZSwgbGlu
ZU51bWJlciwgY29sdW1uTnVtYmVyKSB7IH0KIH0KIAogLyoqCkBAIC0yOTYsMTIgKzI5NywxMyBA
QCBXZWJJbnNwZWN0b3IuUmF3U291cmNlQ29kZS5QbGFpblNvdXJjZU1hcHBpbmcucHJvdG90eXBl
ID0gewogICAgIC8qKgogICAgICAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLlVJU291cmNlQ29kZX0g
dWlTb3VyY2VDb2RlCiAgICAgICogQHBhcmFtIHtudW1iZXJ9IGxpbmVOdW1iZXIKKyAgICAgKiBA
cGFyYW0ge251bWJlcn0gY29sdW1uTnVtYmVyCiAgICAgICogQHJldHVybiB7RGVidWdnZXJBZ2Vu
dC5Mb2NhdGlvbn0KICAgICAgKi8KLSAgICB1aUxvY2F0aW9uVG9SYXdMb2NhdGlvbjogZnVuY3Rp
b24odWlTb3VyY2VDb2RlLCBsaW5lTnVtYmVyKQorICAgIHVpTG9jYXRpb25Ub1Jhd0xvY2F0aW9u
OiBmdW5jdGlvbih1aVNvdXJjZUNvZGUsIGxpbmVOdW1iZXIsIGNvbHVtbk51bWJlcikKICAgICB7
CiAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHVpU291cmNlQ29kZSA9PT0gdGhpcy5fdWlTb3VyY2VD
b2RlTGlzdFswXSk7Ci0gICAgICAgIHZhciByYXdMb2NhdGlvbiA9IHsgbGluZU51bWJlcjogbGlu
ZU51bWJlciwgY29sdW1uTnVtYmVyOiAwIH07CisgICAgICAgIHZhciByYXdMb2NhdGlvbiA9IHsg
bGluZU51bWJlcjogbGluZU51bWJlciwgY29sdW1uTnVtYmVyOiBjb2x1bW5OdW1iZXIgfTsKICAg
ICAgICAgcmF3TG9jYXRpb24uc2NyaXB0SWQgPSB0aGlzLl9yYXdTb3VyY2VDb2RlLl9zY3JpcHRG
b3JSYXdMb2NhdGlvbihyYXdMb2NhdGlvbi5saW5lTnVtYmVyLCByYXdMb2NhdGlvbi5jb2x1bW5O
dW1iZXIpLnNjcmlwdElkOwogICAgICAgICByZXR1cm4gLyoqIEB0eXBlIHtEZWJ1Z2dlckFnZW50
LkxvY2F0aW9ufSAqLyByYXdMb2NhdGlvbjsKICAgICB9LApAQCAtMzQyLDEyICszNDQsMTMgQEAg
V2ViSW5zcGVjdG9yLlJhd1NvdXJjZUNvZGUuRm9ybWF0dGVkU291cmNlTWFwcGluZy5wcm90b3R5
cGUgPSB7CiAgICAgLyoqCiAgICAgICogQHBhcmFtIHtXZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2Rl
fSB1aVNvdXJjZUNvZGUKICAgICAgKiBAcGFyYW0ge251bWJlcn0gbGluZU51bWJlcgorICAgICAq
IEBwYXJhbSB7bnVtYmVyfSBjb2x1bW5OdW1iZXIKICAgICAgKiBAcmV0dXJuIHtEZWJ1Z2dlckFn
ZW50LkxvY2F0aW9ufQogICAgICAqLwotICAgIHVpTG9jYXRpb25Ub1Jhd0xvY2F0aW9uOiBmdW5j
dGlvbih1aVNvdXJjZUNvZGUsIGxpbmVOdW1iZXIpCisgICAgdWlMb2NhdGlvblRvUmF3TG9jYXRp
b246IGZ1bmN0aW9uKHVpU291cmNlQ29kZSwgbGluZU51bWJlciwgY29sdW1uTnVtYmVyKQogICAg
IHsKICAgICAgICAgY29uc29sZS5hc3NlcnQodWlTb3VyY2VDb2RlID09PSB0aGlzLl91aVNvdXJj
ZUNvZGVMaXN0WzBdKTsKLSAgICAgICAgdmFyIHJhd0xvY2F0aW9uID0gdGhpcy5fbWFwcGluZy5m
b3JtYXR0ZWRUb09yaWdpbmFsKHsgbGluZU51bWJlcjogbGluZU51bWJlciwgY29sdW1uTnVtYmVy
OiAwIH0pOworICAgICAgICB2YXIgcmF3TG9jYXRpb24gPSB0aGlzLl9tYXBwaW5nLmZvcm1hdHRl
ZFRvT3JpZ2luYWwoeyBsaW5lTnVtYmVyOiBsaW5lTnVtYmVyLCBjb2x1bW5OdW1iZXI6IGNvbHVt
bk51bWJlciB9KTsKICAgICAgICAgcmF3TG9jYXRpb24uc2NyaXB0SWQgPSB0aGlzLl9yYXdTb3Vy
Y2VDb2RlLl9zY3JpcHRGb3JSYXdMb2NhdGlvbihyYXdMb2NhdGlvbi5saW5lTnVtYmVyLCByYXdM
b2NhdGlvbi5jb2x1bW5OdW1iZXIpLnNjcmlwdElkOwogICAgICAgICByZXR1cm4gcmF3TG9jYXRp
b247CiAgICAgfSwKQEAgLTM5MiwxMSArMzk1LDEyIEBAIFdlYkluc3BlY3Rvci5SYXdTb3VyY2VD
b2RlLkNvbXBpbGVyU291cmNlTWFwcGluZy5wcm90b3R5cGUgPSB7CiAgICAgLyoqCiAgICAgICog
QHBhcmFtIHtXZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2RlfSB1aVNvdXJjZUNvZGUKICAgICAgKiBA
cGFyYW0ge251bWJlcn0gbGluZU51bWJlcgorICAgICAqIEBwYXJhbSB7bnVtYmVyfSBjb2x1bW5O
dW1iZXIKICAgICAgKiBAcmV0dXJuIHtEZWJ1Z2dlckFnZW50LkxvY2F0aW9ufQogICAgICAqLwot
ICAgIHVpTG9jYXRpb25Ub1Jhd0xvY2F0aW9uOiBmdW5jdGlvbih1aVNvdXJjZUNvZGUsIGxpbmVO
dW1iZXIpCisgICAgdWlMb2NhdGlvblRvUmF3TG9jYXRpb246IGZ1bmN0aW9uKHVpU291cmNlQ29k
ZSwgbGluZU51bWJlciwgY29sdW1uTnVtYmVyKQogICAgIHsKLSAgICAgICAgdmFyIHJhd0xvY2F0
aW9uID0gdGhpcy5fbWFwcGluZy5zb3VyY2VMb2NhdGlvblRvQ29tcGlsZWRMb2NhdGlvbih1aVNv
dXJjZUNvZGUudXJsLCBsaW5lTnVtYmVyLCAwKTsKKyAgICAgICAgdmFyIHJhd0xvY2F0aW9uID0g
dGhpcy5fbWFwcGluZy5zb3VyY2VMb2NhdGlvblRvQ29tcGlsZWRMb2NhdGlvbih1aVNvdXJjZUNv
ZGUudXJsLCBsaW5lTnVtYmVyKTsKICAgICAgICAgcmF3TG9jYXRpb24uc2NyaXB0SWQgPSB0aGlz
Ll9yYXdTb3VyY2VDb2RlLl9zY3JpcHRGb3JSYXdMb2NhdGlvbihyYXdMb2NhdGlvbi5saW5lTnVt
YmVyLCByYXdMb2NhdGlvbi5jb2x1bW5OdW1iZXIpLnNjcmlwdElkOwogICAgICAgICByZXR1cm4g
LyoqIEB0eXBlIHtEZWJ1Z2dlckFnZW50LkxvY2F0aW9ufSAqLyByYXdMb2NhdGlvbjsKICAgICB9
LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRz
U2VhcmNoU2NvcGUuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Njcmlw
dHNTZWFyY2hTY29wZS5qcwppbmRleCA5M2U5NjU3ZjRlYzc4YjQ4ZmE4NzUzOGE1NzU2MjRmZWM4
NzBmMTQ0Li44YTk3OTQ1N2Y2YThiMDkxYWUzNjA1NjFjMGI1MmFhZjllYTg2ZDhkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdHNTZWFyY2hTY29w
ZS5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdHNTZWFy
Y2hTY29wZS5qcwpAQCAtMTI1LDIzICsxMjUsMjQgQEAgV2ViSW5zcGVjdG9yLlNjcmlwdHNTZWFy
Y2hTY29wZS5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9yLlNlYXJjaFNjb3BlLnAK
IFdlYkluc3BlY3Rvci5TY3JpcHRzU2VhcmNoUmVzdWx0c1BhbmUgPSBmdW5jdGlvbihzZWFyY2hD
b25maWcpCiB7CiAgICAgV2ViSW5zcGVjdG9yLkZpbGVCYXNlZFNlYXJjaFJlc3VsdHNQYW5lLmNh
bGwodGhpcywgc2VhcmNoQ29uZmlnKQorCisgICAgdGhpcy5fbGlua2lmaWVyID0gV2ViSW5zcGVj
dG9yLmRlYnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwuY3JlYXRlTGlua2lmaWVyKG5ldyBXZWJJbnNw
ZWN0b3IuU2NyaXB0c1NlYXJjaFJlc3VsdHNQYW5lLkxpbmtpZmllckZvcm1hdHRlcigpKTsKIH0K
IAogV2ViSW5zcGVjdG9yLlNjcmlwdHNTZWFyY2hSZXN1bHRzUGFuZS5wcm90b3R5cGUgPSB7CiAg
ICAgLyoqCiAgICAgICogQHBhcmFtIHtPYmplY3R9IGZpbGUKICAgICAgKiBAcGFyYW0ge251bWJl
cn0gbGluZU51bWJlcgorICAgICAqIEBwYXJhbSB7bnVtYmVyfSBjb2x1bW5OdW1iZXIKICAgICAg
Ki8KLSAgICBjcmVhdGVBbmNob3I6IGZ1bmN0aW9uKGZpbGUsIGxpbmVOdW1iZXIpCisgICAgY3Jl
YXRlQW5jaG9yOiBmdW5jdGlvbihmaWxlLCBsaW5lTnVtYmVyLCBjb2x1bW5OdW1iZXIpCiAgICAg
ewotICAgICAgICB2YXIgdWlTb3VyY2VDb2RlID0gZmlsZTsKICAgICAgICAgCi0gICAgICAgIHZh
ciBhbmNob3IgPSBXZWJJbnNwZWN0b3IubGlua2lmeVVSTEFzTm9kZSh1aVNvdXJjZUNvZGUudXJs
LCAiIik7Ci0gICAgICAgIGFuY2hvci5zZXRBdHRyaWJ1dGUoInByZWZlcnJlZF9wYW5lbCIsICJz
Y3JpcHRzIik7Ci0gICAgICAgIGFuY2hvci51aVNvdXJjZUNvZGUgPSB1aVNvdXJjZUNvZGU7Ci0g
ICAgICAgIGFuY2hvci5saW5lTnVtYmVyID0gbGluZU51bWJlcjsKKyAgICAgICAgdmFyIHVpU291
cmNlQ29kZSA9IGZpbGU7CisgICAgICAgIHZhciByYXdTb3VyY2VDb2RlID0gdWlTb3VyY2VDb2Rl
LnJhd1NvdXJjZUNvZGU7CisgICAgICAgIHZhciByYXdMb2NhdGlvbiA9IHJhd1NvdXJjZUNvZGUu
c291cmNlTWFwcGluZy51aUxvY2F0aW9uVG9SYXdMb2NhdGlvbih1aVNvdXJjZUNvZGUsIGxpbmVO
dW1iZXIsIGNvbHVtbk51bWJlcik7CisgICAgICAgIHZhciBhbmNob3IgPSB0aGlzLl9saW5raWZp
ZXIubGlua2lmeVJhd1NvdXJjZUNvZGUodWlTb3VyY2VDb2RlLnJhd1NvdXJjZUNvZGUsIHJhd0xv
Y2F0aW9uLmxpbmVOdW1iZXIsIHJhd0xvY2F0aW9uLmNvbHVtbk51bWJlcik7CiAgICAgICAgIGFu
Y2hvci5yZW1vdmVDaGlsZHJlbigpOwotICAgICAgICAKICAgICAgICAgcmV0dXJuIGFuY2hvcjsK
ICAgICB9LAogICAgIApAQCAtMTU3LDMgKzE1OCwyNCBAQCBXZWJJbnNwZWN0b3IuU2NyaXB0c1Nl
YXJjaFJlc3VsdHNQYW5lLnByb3RvdHlwZSA9IHsKIH0KIAogV2ViSW5zcGVjdG9yLlNjcmlwdHNT
ZWFyY2hSZXN1bHRzUGFuZS5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9yLkZpbGVC
YXNlZFNlYXJjaFJlc3VsdHNQYW5lLnByb3RvdHlwZTsKKworLyoqCisgKiBAY29uc3RydWN0b3IK
KyAqIEBleHRlbmRzIHtXZWJJbnNwZWN0b3IuRGVidWdnZXJQcmVzZW50YXRpb25Nb2RlbC5MaW5r
aWZpZXJGb3JtYXR0ZXJ9CisgKi8KK1dlYkluc3BlY3Rvci5TY3JpcHRzU2VhcmNoUmVzdWx0c1Bh
bmUuTGlua2lmaWVyRm9ybWF0dGVyID0gZnVuY3Rpb24oKQoreworfQorCitXZWJJbnNwZWN0b3Iu
U2NyaXB0c1NlYXJjaFJlc3VsdHNQYW5lLkxpbmtpZmllckZvcm1hdHRlci5wcm90b3R5cGUgPSB7
CisgICAgLyoqCisgICAgICogQHBhcmFtIHtXZWJJbnNwZWN0b3IuUmF3U291cmNlQ29kZX0gcmF3
U291cmNlQ29kZQorICAgICAqIEBwYXJhbSB7RWxlbWVudH0gYW5jaG9yCisgICAgICovCisgICAg
Zm9ybWF0UmF3U291cmNlQ29kZUFuY2hvcjogZnVuY3Rpb24ocmF3U291cmNlQ29kZSwgYW5jaG9y
KQorICAgIHsKKyAgICAgICAgLy8gRW1wdHkgYmVjYXVzZSB3ZSBkb24ndCB3YW50IHRvIGV2ZXIg
dXBkYXRlIGFuY2hvciBjb250ZW50cyBhZnRlciBjcmVhdGlvbi4KKyAgICB9Cit9CisKK1dlYklu
c3BlY3Rvci5TY3JpcHRzU2VhcmNoUmVzdWx0c1BhbmUuTGlua2lmaWVyRm9ybWF0dGVyLnByb3Rv
dHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuRGVidWdnZXJQcmVzZW50YXRpb25Nb2RlbC5M
aW5raWZpZXJGb3JtYXR0ZXIucHJvdG90eXBlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuaHRtbCBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmh0bWwKaW5kZXggMWMxMWNkMDk1MWRiMGU4ZTlhNzUy
YjNlNGU4NWI1OGJiNjliOTgyMC4uN2I3ODYzYzkyMmMwMGI1NGFjOGFlYjFjZTdhODBhZDRjZjE3
ODNlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNw
ZWN0b3IuaHRtbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3Bl
Y3Rvci5odG1sCkBAIC0xMTUsNyArMTE1LDYgQEAgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAgICA8c2NyaXB0IHR5cGU9
InRleHQvamF2YXNjcmlwdCIgc3JjPSJTb3VyY2VGcmFtZS5qcyI+PC9zY3JpcHQ+CiAgICAgPHNj
cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iUmVzb3VyY2VWaWV3LmpzIj48L3Njcmlw
dD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJTY3JpcHRzUGFuZWwu
anMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IlNj
cmlwdHNTZWFyY2hTY29wZS5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2ph
dmFzY3JpcHQiIHNyYz0iSmF2YVNjcmlwdFNvdXJjZUZyYW1lLmpzIj48L3NjcmlwdD4KICAgICA8
c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJSZXNvdXJjZXNQYW5lbC5qcyI+PC9z
Y3JpcHQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iUHJvZmlsZXNQ
YW5lbC5qcyI+PC9zY3JpcHQ+CkBAIC0xNjksNiArMTY4LDcgQEAgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAgICA8c2Ny
aXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJSYXdTb3VyY2VDb2RlLmpzIj48L3Njcmlw
dD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJDb21waWxlclNvdXJj
ZU1hcHBpbmcuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0
IiBzcmM9IkNvbXBpbGVyU291cmNlTWFwcGluZ1Byb3ZpZGVyLmpzIj48L3NjcmlwdD4KKyAgICA8
c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJTY3JpcHRzU2VhcmNoU2NvcGUuanMi
Pjwvc2NyaXB0PgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IkRPTUFn
ZW50LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3Jj
PSJUaW1lbGluZUFnZW50LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2
YXNjcmlwdCIgc3JjPSJUaW1lbGluZVBhbmVsLmpzIj48L3NjcmlwdD4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvdXRpbGl0aWVzLmpzIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC91dGlsaXRpZXMuanMKaW5kZXggNTVjMzE3MDJlNDk1
OTZhYTk5YTM2ZGVlMTMyY2FjNzY0MmFiZmMxMy4uNzJlN2JmYzkwYjAyNDdjMGQ0NThkMmFjOTMy
MWY5YmYxYWZiZTJiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC91dGlsaXRpZXMuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC91dGlsaXRpZXMuanMKQEAgLTk3Nyw3ICs5NzcsNyBAQCBmdW5jdGlvbiByZXZlcnREb21DaGFu
Z2VzKGRvbUNoYW5nZXMpCiAKIC8qKgogICogQHBhcmFtIHtzdHJpbmd9IHF1ZXJ5Ci0gKiBAcGFy
YW0ge2Jvb2xlYW59IGlnbm9yZUNhc2UKKyAqIEBwYXJhbSB7Ym9vbGVhbn0gY2FzZVNlbnNpdGl2
ZQogICogQHBhcmFtIHtib29sZWFufSBpc1JlZ2V4CiAgKiBAcmV0dXJuIHtSZWdFeHB9CiAgKi8K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAwMjk2YjI3Y2Q0ZmNhYmZjYTM5MDViYWYyNmYxZmU0NDc2YWI5YjI4Li5mZmUxNGUx
MDI3NDcxZjFjYzNiN2JlZmMyY2QxNmQyYTgxOWVmNGRhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTQgQEAK
IDIwMTEtMTAtMjAgIFZzZXZvbG9kIFZsYXNvdiAgPHZzZXZpa0BjaHJvbWl1bS5vcmc+CiAKKyAg
ICAgICAgV2ViIEluc3BlY3RvcjogQWR2YW5jZWQgc2VhcmNoIHJlc3VsdHMgc2hvdWxkIGtlZXAg
d29ya2luZyBhZnRlciBwcmV0dHkgcHJpbnQgdG9nZ2xlZC4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzQ3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvZGVidWdnZXIvcmF3LXNvdXJj
ZS1jb2RlLmh0bWw6CisKKzIwMTEtMTAtMjAgIFZzZXZvbG9kIFZsYXNvdiAgPHZzZXZpa0BjaHJv
bWl1bS5vcmc+CisKICAgICAgICAgV2ViIEluc3BlY3RvcjogRW5hYmxlIHN1cHBvcnQgZm9yIGFk
dmFuY2VkIHNlYXJjaCBpbiBzY3JpcHQncyBzdGF0aWMgY29udGVudCBwcm92aWRlci4KICAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzU0CiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9yYXctc291cmNlLWNvZGUuaHRt
bCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9yYXctc291cmNlLWNvZGUuaHRtbApp
bmRleCBiY2YxODRjOTg4YjkwZjQyZDY4YmJhNjQxM2E5NzM0YWZiNGUwYWY2Li40MjU0Yzk4NmRm
N2UwMTAwMDY1ODU4Yjc4YWUwODUwM2QwODhjNDQyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvZGVidWdnZXIvcmF3LXNvdXJjZS1jb2RlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL2RlYnVnZ2VyL3Jhdy1zb3VyY2UtY29kZS5odG1sCkBAIC0xMTIsNyArMTEyLDcg
QEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydEVxdWFs
cyh0cnVlLCB1aVNvdXJjZUNvZGUuaXNDb250ZW50U2NyaXB0KTsKICAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3QuYXNzZXJ0RXF1YWxzKHJhd1NvdXJjZUNvZGUsIHVpU291cmNlQ29kZS5yYXdTb3Vy
Y2VDb2RlKTsKICAgICAgICAgICAgIGNoZWNrVUlMb2NhdGlvbih1aVNvdXJjZUNvZGUsIDAsIDUs
IHNvdXJjZU1hcHBpbmcucmF3TG9jYXRpb25Ub1VJTG9jYXRpb24oY3JlYXRlUmF3TG9jYXRpb24o
MCwgNSkpKTsKLSAgICAgICAgICAgIGNoZWNrUmF3TG9jYXRpb24oc2NyaXB0LCAxMCwgMCwgc291
cmNlTWFwcGluZy51aUxvY2F0aW9uVG9SYXdMb2NhdGlvbih1aVNvdXJjZUNvZGUsIDEwKSk7Cisg
ICAgICAgICAgICBjaGVja1Jhd0xvY2F0aW9uKHNjcmlwdCwgMTAsIDAsIHNvdXJjZU1hcHBpbmcu
dWlMb2NhdGlvblRvUmF3TG9jYXRpb24odWlTb3VyY2VDb2RlLCAxMCwgMCkpOwogICAgICAgICAg
ICAgdWlTb3VyY2VDb2RlLnJlcXVlc3RDb250ZW50KGRpZFJlcXVlc3RDb250ZW50KTsKIAogICAg
ICAgICAgICAgZnVuY3Rpb24gZGlkUmVxdWVzdENvbnRlbnQobWltZVR5cGUsIGNvbnRlbnQpCkBA
IC0xNzgsOCArMTc4LDggQEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgICAgICAgICAgICAgcmF3U291
cmNlQ29kZS5hZGRTY3JpcHQoc2NyaXB0Mik7CiAgICAgICAgICAgICAgICAgcmF3U291cmNlQ29k
ZS5mb3JjZVVwZGF0ZVNvdXJjZU1hcHBpbmcoKTsKICAgICAgICAgICAgICAgICBjaGVja1VJTG9j
YXRpb24odWlTb3VyY2VDb2RlLCAxLCAyMCwgc291cmNlTWFwcGluZy5yYXdMb2NhdGlvblRvVUlM
b2NhdGlvbihjcmVhdGVSYXdMb2NhdGlvbigxLCAyMCkpKTsKLSAgICAgICAgICAgICAgICBjaGVj
a1Jhd0xvY2F0aW9uKHNjcmlwdDEsIDEsIDAsIHNvdXJjZU1hcHBpbmcudWlMb2NhdGlvblRvUmF3
TG9jYXRpb24odWlTb3VyY2VDb2RlLCAxKSk7Ci0gICAgICAgICAgICAgICAgY2hlY2tSYXdMb2Nh
dGlvbihzY3JpcHQyLCA2LCAwLCBzb3VyY2VNYXBwaW5nLnVpTG9jYXRpb25Ub1Jhd0xvY2F0aW9u
KHVpU291cmNlQ29kZSwgNikpOworICAgICAgICAgICAgICAgIGNoZWNrUmF3TG9jYXRpb24oc2Ny
aXB0MSwgMSwgMCwgc291cmNlTWFwcGluZy51aUxvY2F0aW9uVG9SYXdMb2NhdGlvbih1aVNvdXJj
ZUNvZGUsIDEsIDApKTsKKyAgICAgICAgICAgICAgICBjaGVja1Jhd0xvY2F0aW9uKHNjcmlwdDIs
IDYsIDAsIHNvdXJjZU1hcHBpbmcudWlMb2NhdGlvblRvUmF3TG9jYXRpb24odWlTb3VyY2VDb2Rl
LCA2LCAwKSk7CiAKICAgICAgICAgICAgICAgICBuZXh0KCk7CiAgICAgICAgICAgICB9CkBAIC0y
NjQsNyArMjY0LDcgQEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LmFzc2VydEVxdWFscygxLCBzb3VyY2VNYXBwaW5nLnVpU291cmNlQ29kZUxpc3QoKS5sZW5ndGgp
OwogICAgICAgICAgICAgdmFyIHVpU291cmNlQ29kZSA9IHNvdXJjZU1hcHBpbmcudWlTb3VyY2VD
b2RlTGlzdCgpWzBdOwogICAgICAgICAgICAgY2hlY2tVSUxvY2F0aW9uKHVpU291cmNlQ29kZSwg
MSwgMiwgc291cmNlTWFwcGluZy5yYXdMb2NhdGlvblRvVUlMb2NhdGlvbihjcmVhdGVSYXdMb2Nh
dGlvbigxLCAyKSkpOwotICAgICAgICAgICAgY2hlY2tSYXdMb2NhdGlvbihzY3JpcHQsIDIsIDAs
IHNvdXJjZU1hcHBpbmcudWlMb2NhdGlvblRvUmF3TG9jYXRpb24odWlTb3VyY2VDb2RlLCAyKSk7
CisgICAgICAgICAgICBjaGVja1Jhd0xvY2F0aW9uKHNjcmlwdCwgMiwgMCwgc291cmNlTWFwcGlu
Zy51aUxvY2F0aW9uVG9SYXdMb2NhdGlvbih1aVNvdXJjZUNvZGUsIDIsIDApKTsKICAgICAgICAg
ICAgIHVpU291cmNlQ29kZS5yZXF1ZXN0Q29udGVudChkaWRSZXF1ZXN0Q29udGVudCk7CiAKICAg
ICAgICAgICAgIGZ1bmN0aW9uIGRpZFJlcXVlc3RDb250ZW50KG1pbWVUeXBlLCBjb250ZW50KQpA
QCAtMjgzLDcgKzI4Myw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogICAgICAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3QuYXNzZXJ0RXF1YWxzKDEsIHNvdXJjZU1hcHBpbmcudWlTb3VyY2VDb2RlTGlzdCgp
Lmxlbmd0aCk7CiAgICAgICAgICAgICAgICAgdmFyIHVpU291cmNlQ29kZSA9IHNvdXJjZU1hcHBp
bmcudWlTb3VyY2VDb2RlTGlzdCgpWzBdOwogICAgICAgICAgICAgICAgIGNoZWNrVUlMb2NhdGlv
bih1aVNvdXJjZUNvZGUsIDIsIDQsIHNvdXJjZU1hcHBpbmcucmF3TG9jYXRpb25Ub1VJTG9jYXRp
b24oY3JlYXRlUmF3TG9jYXRpb24oMSwgMikpKTsKLSAgICAgICAgICAgICAgICBjaGVja1Jhd0xv
Y2F0aW9uKHNjcmlwdCwgMSwgMCwgc291cmNlTWFwcGluZy51aUxvY2F0aW9uVG9SYXdMb2NhdGlv
bih1aVNvdXJjZUNvZGUsIDIpKTsKKyAgICAgICAgICAgICAgICBjaGVja1Jhd0xvY2F0aW9uKHNj
cmlwdCwgMSwgMCwgc291cmNlTWFwcGluZy51aUxvY2F0aW9uVG9SYXdMb2NhdGlvbih1aVNvdXJj
ZUNvZGUsIDIsIDApKTsKICAgICAgICAgICAgICAgICB1aVNvdXJjZUNvZGUucmVxdWVzdENvbnRl
bnQoZGlkUmVxdWVzdEZvcm1hdHRlZENvbnRlbnQpOwogICAgICAgICAgICAgfQogCkBAIC0zMDIs
NyArMzAyLDcgQEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVz
dC5hc3NlcnRFcXVhbHMoMSwgc291cmNlTWFwcGluZy51aVNvdXJjZUNvZGVMaXN0KCkubGVuZ3Ro
KTsKICAgICAgICAgICAgICAgICB2YXIgdWlTb3VyY2VDb2RlID0gc291cmNlTWFwcGluZy51aVNv
dXJjZUNvZGVMaXN0KClbMF07CiAgICAgICAgICAgICAgICAgY2hlY2tVSUxvY2F0aW9uKHVpU291
cmNlQ29kZSwgMSwgMiwgc291cmNlTWFwcGluZy5yYXdMb2NhdGlvblRvVUlMb2NhdGlvbihjcmVh
dGVSYXdMb2NhdGlvbigxLCAyKSkpOwotICAgICAgICAgICAgICAgIGNoZWNrUmF3TG9jYXRpb24o
c2NyaXB0LCAyLCAwLCBzb3VyY2VNYXBwaW5nLnVpTG9jYXRpb25Ub1Jhd0xvY2F0aW9uKHVpU291
cmNlQ29kZSwgMikpOworICAgICAgICAgICAgICAgIGNoZWNrUmF3TG9jYXRpb24oc2NyaXB0LCAy
LCAwLCBzb3VyY2VNYXBwaW5nLnVpTG9jYXRpb25Ub1Jhd0xvY2F0aW9uKHVpU291cmNlQ29kZSwg
MiwgMCkpOwogICAgICAgICAgICAgICAgIHVpU291cmNlQ29kZS5yZXF1ZXN0Q29udGVudChkaWRS
ZXF1ZXN0Tm90Rm9ybWF0dGVkQ29udGVudCk7CiAgICAgICAgICAgICB9CiAKQEAgLTMzMiw3ICsz
MzIsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFz
c2VydEVxdWFscygxLCBzb3VyY2VNYXBwaW5nLnVpU291cmNlQ29kZUxpc3QoKS5sZW5ndGgpOwog
ICAgICAgICAgICAgICAgIHZhciB1aVNvdXJjZUNvZGUgPSBzb3VyY2VNYXBwaW5nLnVpU291cmNl
Q29kZUxpc3QoKVswXTsKICAgICAgICAgICAgICAgICBjaGVja1VJTG9jYXRpb24odWlTb3VyY2VD
b2RlLCAyLCA0LCBzb3VyY2VNYXBwaW5nLnJhd0xvY2F0aW9uVG9VSUxvY2F0aW9uKGNyZWF0ZVJh
d0xvY2F0aW9uKDEsIDIpKSk7Ci0gICAgICAgICAgICAgICAgY2hlY2tSYXdMb2NhdGlvbihzY3Jp
cHQsIDEsIDAsIHNvdXJjZU1hcHBpbmcudWlMb2NhdGlvblRvUmF3TG9jYXRpb24odWlTb3VyY2VD
b2RlLCAyKSk7CisgICAgICAgICAgICAgICAgY2hlY2tSYXdMb2NhdGlvbihzY3JpcHQsIDEsIDAs
IHNvdXJjZU1hcHBpbmcudWlMb2NhdGlvblRvUmF3TG9jYXRpb24odWlTb3VyY2VDb2RlLCAyLCAw
KSk7CiAgICAgICAgICAgICAgICAgbmV4dCgpOwogICAgICAgICAgICAgfQogICAgICAgICB9LApA
QCAtMzgxLDggKzM4MSw4IEBAIGZ1bmN0aW9uIHRlc3QoKQogICAgICAgICAgICAgICAgICAgICB1
aVNvdXJjZUNvZGVCeVVSTFt1aVNvdXJjZUNvZGVMaXN0W2ldLnVybF0gPSB1aVNvdXJjZUNvZGVM
aXN0W2ldOwogICAgICAgICAgICAgICAgIGNoZWNrVUlMb2NhdGlvbih1aVNvdXJjZUNvZGVCeVVS
TFsic291cmNlMS5qcyJdLCAyLCA0LCBzb3VyY2VNYXBwaW5nLnJhd0xvY2F0aW9uVG9VSUxvY2F0
aW9uKGNyZWF0ZVJhd0xvY2F0aW9uKDEsIDIpKSk7CiAgICAgICAgICAgICAgICAgY2hlY2tVSUxv
Y2F0aW9uKHVpU291cmNlQ29kZUJ5VVJMWyJzb3VyY2UyLmpzIl0sIDEwLCA0MCwgc291cmNlTWFw
cGluZy5yYXdMb2NhdGlvblRvVUlMb2NhdGlvbihjcmVhdGVSYXdMb2NhdGlvbigxNSwgMjApKSk7
Ci0gICAgICAgICAgICAgICAgY2hlY2tSYXdMb2NhdGlvbihzY3JpcHQsIDEsIDAsIHNvdXJjZU1h
cHBpbmcudWlMb2NhdGlvblRvUmF3TG9jYXRpb24odWlTb3VyY2VDb2RlQnlVUkxbInNvdXJjZTEu
anMiXSwgMikpOwotICAgICAgICAgICAgICAgIGNoZWNrUmF3TG9jYXRpb24oc2NyaXB0LCAxNSwg
MCwgc291cmNlTWFwcGluZy51aUxvY2F0aW9uVG9SYXdMb2NhdGlvbih1aVNvdXJjZUNvZGVCeVVS
TFsic291cmNlMi5qcyJdLCAxMCkpOworICAgICAgICAgICAgICAgIGNoZWNrUmF3TG9jYXRpb24o
c2NyaXB0LCAxLCAwLCBzb3VyY2VNYXBwaW5nLnVpTG9jYXRpb25Ub1Jhd0xvY2F0aW9uKHVpU291
cmNlQ29kZUJ5VVJMWyJzb3VyY2UxLmpzIl0sIDIsIDApKTsKKyAgICAgICAgICAgICAgICBjaGVj
a1Jhd0xvY2F0aW9uKHNjcmlwdCwgMTUsIDAsIHNvdXJjZU1hcHBpbmcudWlMb2NhdGlvblRvUmF3
TG9jYXRpb24odWlTb3VyY2VDb2RlQnlVUkxbInNvdXJjZTIuanMiXSwgMTAsIDApKTsKIAogICAg
ICAgICAgICAgICAgIHVpU291cmNlQ29kZUxpc3RbMF0ucmVxdWVzdENvbnRlbnQoZGlkUmVxdWVz
dENvbnRlbnQxKTsKICAgICAgICAgICAgIH0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>111754</attachid>
            <date>2011-10-20 04:36:52 -0700</date>
            <delta_ts>2011-10-20 06:54:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-70347-20111020153649.patch</filename>
            <type>text/plain</type>
            <size>28841</size>
            <attacher name="Vsevolod Vlasov">vsevik</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTc5NjAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBjNGRkNTk0NjVkMjk0MWNk
ODAxNzAxMDlkMjAzZjEyMTEyOGU2NTg2Li43Y2JlNDViNjEyMjliZjhhOGNjNGI4ZWZmY2IzM2M5
NTg3ZmZhZDQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsNDkgQEAKIDIwMTEtMTAtMjAgIFZzZXZv
bG9kIFZsYXNvdiAgPHZzZXZpa0BjaHJvbWl1bS5vcmc+CiAKKyAgICAgICAgV2ViIEluc3BlY3Rv
cjogQWR2YW5jZWQgc2VhcmNoIHJlc3VsdHMgc2hvdWxkIGtlZXAgd29ya2luZyBhZnRlciBwcmV0
dHkgcHJpbnQgdG9nZ2xlZC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTcwMzQ3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0FkdmFuY2VkU2VhcmNoQ29udHJvbGxlci5q
czoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5BZHZhbmNlZFNlYXJjaENvbnRyb2xsZXIucHJvdG90
eXBlLnN0b3BTZWFyY2gpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNlYXJjaFNjb3BlLnByb3Rv
dHlwZS5jcmVhdGVTZWFyY2hSZXN1bHRzUGFuZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2Vh
cmNoUmVzdWx0c1BhbmUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkZpbGVCYXNlZFNlYXJjaFJl
c3VsdHNQYW5lLnByb3RvdHlwZS5jcmVhdGVBbmNob3IpOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LkZpbGVCYXNlZFNlYXJjaFJlc3VsdHNQYW5lLnByb3RvdHlwZS5hZGRTZWFyY2hSZXN1bHQpOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLkZpbGVCYXNlZFNlYXJjaFJlc3VsdHNQYW5lLnByb3RvdHlw
ZS5fcmVnZXhNYXRjaFJhbmdlcyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRmlsZUJhc2VkU2Vh
cmNoUmVzdWx0c1BhbmUucHJvdG90eXBlLl9jcmVhdGVDb250ZW50U3Bhbik6CisgICAgICAgICog
aW5zcGVjdG9yL2Zyb250LWVuZC9CcmVha3BvaW50TWFuYWdlci5qczoKKyAgICAgICAgKFdlYklu
c3BlY3Rvci5CcmVha3BvaW50TWFuYWdlci5wcm90b3R5cGUuX21hdGVyaWFsaXplQnJlYWtwb2lu
dCk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9Db21waWxlclNvdXJjZU1hcHBpbmcu
anM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29tcGlsZXJTb3VyY2VNYXBwaW5nLnByb3RvdHlw
ZS5zb3VyY2VMb2NhdGlvblRvQ29tcGlsZWRMb2NhdGlvbik6CisgICAgICAgICogaW5zcGVjdG9y
L2Zyb250LWVuZC9EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsLmpzOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLkRlYnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwucHJvdG90eXBlLmNyZWF0ZUxpbmtpZmll
cik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRGVidWdnZXJQcmVzZW50YXRpb25Nb2RlbC5wcm90
b3R5cGUuY29udGludWVUb0xpbmUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRlYnVnZ2VyUHJl
c2VudGF0aW9uTW9kZWwuTGlua2lmaWVyRm9ybWF0dGVyKToKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsLkxpbmtpZmllckZvcm1hdHRlci5wcm90b3R5cGUu
Zm9ybWF0UmF3U291cmNlQ29kZUFuY2hvcik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRGVidWdn
ZXJQcmVzZW50YXRpb25Nb2RlbC5MaW5raWZpZXJGb3JtYXR0ZXIucHJvdG90eXBlLmxpbmtpZnlS
ZXNvdXJjZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRGVidWdnZXJQcmVzZW50YXRpb25Nb2Rl
bC5EZWZhdWx0TGlua2lmaWVyRm9ybWF0dGVyKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5EZWJ1
Z2dlclByZXNlbnRhdGlvbk1vZGVsLkRlZmF1bHRMaW5raWZpZXJGb3JtYXR0ZXIucHJvdG90eXBl
LmZvcm1hdFJhd1NvdXJjZUNvZGVBbmNob3IpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRlYnVn
Z2VyUHJlc2VudGF0aW9uTW9kZWwuTGlua2lmaWVyKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5E
ZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsLkxpbmtpZmllci5wcm90b3R5cGUubGlua2lmeUxvY2F0
aW9uKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsLkxp
bmtpZmllci5wcm90b3R5cGUubGlua2lmeVJhd1NvdXJjZUNvZGUpOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLkRlYnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwuTGlua2lmaWVyLnByb3RvdHlwZS5fdXBk
YXRlQW5jaG9yKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1Jhd1NvdXJjZUNvZGUu
anM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUmF3U291cmNlQ29kZS5Tb3VyY2VNYXBwaW5nLnBy
b3RvdHlwZS51aUxvY2F0aW9uVG9SYXdMb2NhdGlvbik6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
UmF3U291cmNlQ29kZS5QbGFpblNvdXJjZU1hcHBpbmcucHJvdG90eXBlLnVpTG9jYXRpb25Ub1Jh
d0xvY2F0aW9uKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5SYXdTb3VyY2VDb2RlLkZvcm1hdHRl
ZFNvdXJjZU1hcHBpbmcucHJvdG90eXBlLnVpTG9jYXRpb25Ub1Jhd0xvY2F0aW9uKToKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5SYXdTb3VyY2VDb2RlLkNvbXBpbGVyU291cmNlTWFwcGluZy5wcm90
b3R5cGUudWlMb2NhdGlvblRvUmF3TG9jYXRpb24pOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9u
dC1lbmQvU2NyaXB0c1NlYXJjaFNjb3BlLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNjcmlw
dHNTZWFyY2hSZXN1bHRzUGFuZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2NyaXB0c1NlYXJj
aFJlc3VsdHNQYW5lLnByb3RvdHlwZS5jcmVhdGVBbmNob3IpOgorICAgICAgICAoV2ViSW5zcGVj
dG9yLlNjcmlwdHNTZWFyY2hSZXN1bHRzUGFuZS5MaW5raWZpZXJGb3JtYXR0ZXIpOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLlNjcmlwdHNTZWFyY2hSZXN1bHRzUGFuZS5MaW5raWZpZXJGb3JtYXR0
ZXIucHJvdG90eXBlLmZvcm1hdFJhd1NvdXJjZUNvZGVBbmNob3IpOgorICAgICAgICAqIGluc3Bl
Y3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmh0bWw6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250
LWVuZC91dGlsaXRpZXMuanM6CisKKzIwMTEtMTAtMjAgIFZzZXZvbG9kIFZsYXNvdiAgPHZzZXZp
a0BjaHJvbWl1bS5vcmc+CisKICAgICAgICAgV2ViIEluc3BlY3RvcjogRW5hYmxlIHN1cHBvcnQg
Zm9yIGFkdmFuY2VkIHNlYXJjaCBpbiBzY3JpcHQncyBzdGF0aWMgY29udGVudCBwcm92aWRlci4K
ICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzU0CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQWR2YW5jZWRT
ZWFyY2hDb250cm9sbGVyLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9B
ZHZhbmNlZFNlYXJjaENvbnRyb2xsZXIuanMKaW5kZXggYTcwYzc2OGExNmI5NDc5OGM0ZTkzMGYy
YTA5MjRjZDc0MGUwM2NhNS4uY2NhYTRiNzMzODRmNjUzMGU1NTU2ZWNmM2ZhMWI3YjljNzAzMTI0
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9BZHZhbmNl
ZFNlYXJjaENvbnRyb2xsZXIuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9BZHZhbmNlZFNlYXJjaENvbnRyb2xsZXIuanMKQEAgLTI5Niw5ICsyOTYsMTAgQEAgV2Vi
SW5zcGVjdG9yLlNlYXJjaFNjb3BlLnByb3RvdHlwZSA9IHsKICAgICBzdG9wU2VhcmNoOiBmdW5j
dGlvbigpIHsgfSwKICAgICAKICAgICAvKioKKyAgICAgKiBAcGFyYW0ge1dlYkluc3BlY3Rvci5T
ZWFyY2hDb25maWd9IHNlYXJjaENvbmZpZwogICAgICAqIEByZXR1cm4gV2ViSW5zcGVjdG9yLlNl
YXJjaFJlc3VsdHNQYW5lfQogICAgICAqLwotICAgIGNyZWF0ZVNlYXJjaFJlc3VsdHNQYW5lOiBm
dW5jdGlvbigpIHsgfQorICAgIGNyZWF0ZVNlYXJjaFJlc3VsdHNQYW5lOiBmdW5jdGlvbihzZWFy
Y2hDb25maWcpIHsgfQogfQogCiAvKioKQEAgLTM0OSw5ICszNTAsMTAgQEAgV2ViSW5zcGVjdG9y
LkZpbGVCYXNlZFNlYXJjaFJlc3VsdHNQYW5lLnByb3RvdHlwZSA9IHsKICAgICAvKioKICAgICAg
KiBAcGFyYW0ge09iamVjdH0gZmlsZQogICAgICAqIEBwYXJhbSB7bnVtYmVyfSBsaW5lTnVtYmVy
CisgICAgICogQHBhcmFtIHtudW1iZXJ9IGNvbHVtbk51bWJlcgogICAgICAqIEByZXR1cm4ge0Vs
ZW1lbnR9CiAgICAgICovCi0gICAgY3JlYXRlQW5jaG9yOiBmdW5jdGlvbihmaWxlLCBsaW5lTnVt
YmVyKSB7IH0sCisgICAgY3JlYXRlQW5jaG9yOiBmdW5jdGlvbihmaWxlLCBsaW5lTnVtYmVyLCBj
b2x1bW5OdW1iZXIpIHsgfSwKICAgICAKICAgICAvKioKICAgICAgKiBAcGFyYW0ge09iamVjdH0g
ZmlsZQpAQCAtMzcyLDExICszNzQsMTMgQEAgV2ViSW5zcGVjdG9yLkZpbGVCYXNlZFNlYXJjaFJl
c3VsdHNQYW5lLnByb3RvdHlwZSA9IHsKICAgICAgICAgLy8gRXhwYW5kIGZpcnN0IGZpbGUgd2l0
aCBtYXRjaGVzIG9ubHkuCiAgICAgICAgIHZhciBmaWxlVHJlZUVsZW1lbnQgPSB0aGlzLl9hZGRG
aWxlVHJlZUVsZW1lbnQoZmlsZU5hbWUsIHNlYXJjaE1hdGNoZXMubGVuZ3RoLCB0aGlzLl9zZWFy
Y2hSZXN1bHRzLmxlbmd0aCA9PT0gMSk7CiAgICAgICAgIAotICAgICAgICB2YXIgcmVnZXhPYmpl
Y3QgPSBjcmVhdGVTZWFyY2hSZWdleCh0aGlzLl9zZWFyY2hDb25maWcucXVlcnksICF0aGlzLl9z
ZWFyY2hDb25maWcuaWdub3JlQ2FzZSwgdGhpcy5fc2VhcmNoQ29uZmlnLmlzUmVnZXgpOworICAg
ICAgICB2YXIgcmVnZXggPSBjcmVhdGVTZWFyY2hSZWdleCh0aGlzLl9zZWFyY2hDb25maWcucXVl
cnksICF0aGlzLl9zZWFyY2hDb25maWcuaWdub3JlQ2FzZSwgdGhpcy5fc2VhcmNoQ29uZmlnLmlz
UmVnZXgpOwogICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHNlYXJjaE1hdGNoZXMubGVuZ3Ro
OyBpKyspIHsKICAgICAgICAgICAgIHZhciBsaW5lTnVtYmVyID0gc2VhcmNoTWF0Y2hlc1tpXS5s
aW5lTnVtYmVyOworICAgICAgICAgICAgdmFyIGxpbmVDb250ZW50ID0gc2VhcmNoTWF0Y2hlc1tp
XS5saW5lQ29udGVudDsKKyAgICAgICAgICAgIHZhciBtYXRjaFJhbmdlcyA9IHRoaXMuX3JlZ2V4
TWF0Y2hSYW5nZXMobGluZUNvbnRlbnQsIHJlZ2V4KTsKICAgICAgICAgICAgIAotICAgICAgICAg
ICAgdmFyIGFuY2hvciA9IHRoaXMuY3JlYXRlQW5jaG9yKGZpbGUsIGxpbmVOdW1iZXIpOworICAg
ICAgICAgICAgdmFyIGFuY2hvciA9IHRoaXMuY3JlYXRlQW5jaG9yKGZpbGUsIGxpbmVOdW1iZXIs
IG1hdGNoUmFuZ2VzWzBdLm9mZnNldCk7CiAgICAgICAgICAgICAKICAgICAgICAgICAgIHZhciBu
dW1iZXJTdHJpbmcgPSBudW1iZXJUb1N0cmluZ1dpdGhTcGFjZXNQYWRkaW5nKGxpbmVOdW1iZXIg
KyAxLCA0KTsKICAgICAgICAgICAgIHZhciBsaW5lTnVtYmVyU3BhbiA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInNwYW4iKTsKQEAgLTM4NSw3ICszODksNyBAQCBXZWJJbnNwZWN0b3IuRmlsZUJh
c2VkU2VhcmNoUmVzdWx0c1BhbmUucHJvdG90eXBlID0gewogICAgICAgICAgICAgbGluZU51bWJl
clNwYW4udGV4dENvbnRlbnQgPSBudW1iZXJTdHJpbmc7CiAgICAgICAgICAgICBhbmNob3IuYXBw
ZW5kQ2hpbGQobGluZU51bWJlclNwYW4pOwogICAgICAgICAgICAgCi0gICAgICAgICAgICB2YXIg
Y29udGVudFNwYW4gPSB0aGlzLl9jcmVhdGVDb250ZW50U3BhbihzZWFyY2hNYXRjaGVzW2ldLmxp
bmVDb250ZW50LCByZWdleE9iamVjdCk7CisgICAgICAgICAgICB2YXIgY29udGVudFNwYW4gPSB0
aGlzLl9jcmVhdGVDb250ZW50U3BhbihsaW5lQ29udGVudCwgbWF0Y2hSYW5nZXMpOwogICAgICAg
ICAgICAgYW5jaG9yLmFwcGVuZENoaWxkKGNvbnRlbnRTcGFuKTsKICAgICAgICAgICAgIAogICAg
ICAgICAgICAgdmFyIHNlYXJjaE1hdGNoRWxlbWVudCA9IG5ldyBUcmVlRWxlbWVudCgiIiwgbnVs
bCwgZmFsc2UpOwpAQCAtNDI5LDI0ICs0MzMsMzEgQEAgV2ViSW5zcGVjdG9yLkZpbGVCYXNlZFNl
YXJjaFJlc3VsdHNQYW5lLnByb3RvdHlwZSA9IHsKIAogICAgIC8qKgogICAgICAqIEBwYXJhbSB7
c3RyaW5nfSBsaW5lQ29udGVudAotICAgICAqIEBwYXJhbSB7UmVnRXhwfSByZWdleE9iamVjdAor
ICAgICAqIEBwYXJhbSB7UmVnRXhwfSByZWdleAorICAgICAqIEByZXR1cm4ge0FycmF5LjxPYmpl
Y3Q+fQogICAgICAqLwotICAgIF9jcmVhdGVDb250ZW50U3BhbjogZnVuY3Rpb24obGluZUNvbnRl
bnQsIHJlZ2V4T2JqZWN0KQorICAgIF9yZWdleE1hdGNoUmFuZ2VzOiBmdW5jdGlvbihsaW5lQ29u
dGVudCwgcmVnZXgpCiAgICAgewotICAgICAgICB2YXIgY29udGVudFNwYW4gPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJzcGFuIik7Ci0gICAgICAgIGNvbnRlbnRTcGFuLmNsYXNzTmFtZSA9ICJz
ZWFyY2gtbWF0Y2gtY29udGVudCI7Ci0gICAgICAgIGNvbnRlbnRTcGFuLnRleHRDb250ZW50ID0g
bGluZUNvbnRlbnQ7Ci0gICAgICAgIAotICAgICAgICByZWdleE9iamVjdC5sYXN0SW5kZXggPSAw
OwotICAgICAgICB2YXIgbWF0Y2ggPSByZWdleE9iamVjdC5leGVjKGxpbmVDb250ZW50KTsKKyAg
ICAgICAgcmVnZXgubGFzdEluZGV4ID0gMDsKKyAgICAgICAgdmFyIG1hdGNoOwogICAgICAgICB2
YXIgb2Zmc2V0ID0gMDsKICAgICAgICAgdmFyIG1hdGNoUmFuZ2VzID0gW107Ci0gICAgICAgIHdo
aWxlIChtYXRjaCkgeworICAgICAgICB3aGlsZSAobWF0Y2ggPSByZWdleC5leGVjKGxpbmVDb250
ZW50KSkKICAgICAgICAgICAgIG1hdGNoUmFuZ2VzLnB1c2goeyBvZmZzZXQ6IG1hdGNoLmluZGV4
LCBsZW5ndGg6IG1hdGNoWzBdLmxlbmd0aCB9KTsKLSAgICAgICAgICAgIG1hdGNoID0gcmVnZXhP
YmplY3QuZXhlYyhsaW5lQ29udGVudCk7Ci0gICAgICAgIH0KLSAgICAgICAgaGlnaGxpZ2h0UmFu
Z2VzV2l0aFN0eWxlQ2xhc3MoY29udGVudFNwYW4sIG1hdGNoUmFuZ2VzLCAiaGlnaGxpZ2h0ZWQt
bWF0Y2giKTsKICAgICAgICAgCisgICAgICAgIHJldHVybiBtYXRjaFJhbmdlczsKKyAgICB9LAor
ICAgIAorICAgIC8qKgorICAgICAqIEBwYXJhbSB7c3RyaW5nfSBsaW5lQ29udGVudAorICAgICAq
IEBwYXJhbSB7QXJyYXkuPE9iamVjdD59IG1hdGNoUmFuZ2VzCisgICAgICovCisgICAgX2NyZWF0
ZUNvbnRlbnRTcGFuOiBmdW5jdGlvbihsaW5lQ29udGVudCwgbWF0Y2hSYW5nZXMpCisgICAgewor
ICAgICAgICB2YXIgY29udGVudFNwYW4gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7
CisgICAgICAgIGNvbnRlbnRTcGFuLmNsYXNzTmFtZSA9ICJzZWFyY2gtbWF0Y2gtY29udGVudCI7
CisgICAgICAgIGNvbnRlbnRTcGFuLnRleHRDb250ZW50ID0gbGluZUNvbnRlbnQ7CisgICAgICAg
IGhpZ2hsaWdodFJhbmdlc1dpdGhTdHlsZUNsYXNzKGNvbnRlbnRTcGFuLCBtYXRjaFJhbmdlcywg
ImhpZ2hsaWdodGVkLW1hdGNoIik7CiAgICAgICAgIHJldHVybiBjb250ZW50U3BhbjsKICAgICB9
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0JyZWFr
cG9pbnRNYW5hZ2VyLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9CcmVh
a3BvaW50TWFuYWdlci5qcwppbmRleCAyZjU3YjU4NjdkMjQ5OWYyOWNkNjVhMmEzYjVlODEyNTdi
MzI4NjMwLi43NDM5ZjkwMDg2OGQ1ODc0M2ZiYTg1YmM1NDI0ZDBmMDFlYTFiZmEyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0JyZWFrcG9pbnRNYW5hZ2Vy
LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQnJlYWtwb2ludE1h
bmFnZXIuanMKQEAgLTEyNyw3ICsxMjcsNyBAQCBXZWJJbnNwZWN0b3IuQnJlYWtwb2ludE1hbmFn
ZXIucHJvdG90eXBlID0gewogICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAgIGJyZWFrcG9p
bnQuX21hdGVyaWFsaXplZCA9IHRydWU7Ci0gICAgICAgIHZhciByYXdMb2NhdGlvbiA9IHNvdXJj
ZU1hcHBpbmcudWlMb2NhdGlvblRvUmF3TG9jYXRpb24odWlTb3VyY2VDb2RlLCBicmVha3BvaW50
LmxpbmVOdW1iZXIpOworICAgICAgICB2YXIgcmF3TG9jYXRpb24gPSBzb3VyY2VNYXBwaW5nLnVp
TG9jYXRpb25Ub1Jhd0xvY2F0aW9uKHVpU291cmNlQ29kZSwgYnJlYWtwb2ludC5saW5lTnVtYmVy
LCAwKTsKICAgICAgICAgdGhpcy5fc2V0QnJlYWtwb2ludEluRGVidWdnZXIoYnJlYWtwb2ludCwg
cmF3TG9jYXRpb24pOwogICAgIH0sCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvQ29tcGlsZXJTb3VyY2VNYXBwaW5nLmpzIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9Db21waWxlclNvdXJjZU1hcHBpbmcuanMKaW5kZXggOTFiOTNm
NDEwMjA3MzRkMGFmMGE3NGJiNGVjNjBiZTVkNjU2MGNkYS4uNjZhNTdiOWJmNjRiOTg4M2YxMDMy
OTMyZGI5MWYzZGQwNDQyYjdiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9Db21waWxlclNvdXJjZU1hcHBpbmcuanMKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9Db21waWxlclNvdXJjZU1hcHBpbmcuanMKQEAgLTQ2LDEwICs0
Niw5IEBAIFdlYkluc3BlY3Rvci5Db21waWxlclNvdXJjZU1hcHBpbmcucHJvdG90eXBlID0gewog
ICAgIC8qKgogICAgICAqIEBwYXJhbSB7c3RyaW5nfSBzb3VyY2VVUkwKICAgICAgKiBAcGFyYW0g
e251bWJlcn0gbGluZU51bWJlcgotICAgICAqIEBwYXJhbSB7bnVtYmVyfSBjb2x1bW5OdW1iZXIK
ICAgICAgKiBAcmV0dXJuIHtPYmplY3R9CiAgICAgICovCi0gICAgc291cmNlTG9jYXRpb25Ub0Nv
bXBpbGVkTG9jYXRpb246IGZ1bmN0aW9uKHNvdXJjZVVSTCwgbGluZU51bWJlciwgY29sdW1uTnVt
YmVyKSB7IH0sCisgICAgc291cmNlTG9jYXRpb25Ub0NvbXBpbGVkTG9jYXRpb246IGZ1bmN0aW9u
KHNvdXJjZVVSTCwgbGluZU51bWJlcikgeyB9LAogCiAgICAgLyoqCiAgICAgICogQHJldHVybiB7
QXJyYXkuPHN0cmluZz59CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL0RlYnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL0RlYnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwuanMKaW5kZXggYjIzNjYx
YWYwNWEzNzQ2Y2Y3NTVmZDMyNDJiYWM3M2EzODMxODFjMS4uOWI4ZDY3OTQ3NGJhOTZiOTRjZThj
ZGJlNThhOGViMGNjYTlmMTU5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsLmpzCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRGVidWdnZXJQcmVzZW50YXRpb25Nb2RlbC5qcwpAQCAt
NjgsOSArNjgsMTIgQEAgV2ViSW5zcGVjdG9yLkRlYnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwuRXZl
bnRzID0gewogfQogCiBXZWJJbnNwZWN0b3IuRGVidWdnZXJQcmVzZW50YXRpb25Nb2RlbC5wcm90
b3R5cGUgPSB7Ci0gICAgY3JlYXRlTGlua2lmaWVyOiBmdW5jdGlvbigpCisgICAgLyoqCisgICAg
ICogQHBhcmFtIHtXZWJJbnNwZWN0b3IuRGVidWdnZXJQcmVzZW50YXRpb25Nb2RlbC5MaW5raWZp
ZXJGb3JtYXR0ZXI9fSBmb3JtYXR0ZXIKKyAgICAgKi8KKyAgICBjcmVhdGVMaW5raWZpZXI6IGZ1
bmN0aW9uKGZvcm1hdHRlcikKICAgICB7Ci0gICAgICAgIHJldHVybiBuZXcgV2ViSW5zcGVjdG9y
LkRlYnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwuTGlua2lmaWVyKHRoaXMpOworICAgICAgICByZXR1
cm4gbmV3IFdlYkluc3BlY3Rvci5EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsLkxpbmtpZmllcih0
aGlzLCBmb3JtYXR0ZXIpOwogICAgIH0sCiAKICAgICAvKioKQEAgLTM2Miw3ICszNjUsNyBAQCBX
ZWJJbnNwZWN0b3IuRGVidWdnZXJQcmVzZW50YXRpb25Nb2RlbC5wcm90b3R5cGUgPSB7CiAgICAg
Y29udGludWVUb0xpbmU6IGZ1bmN0aW9uKHVpU291cmNlQ29kZSwgbGluZU51bWJlcikKICAgICB7
CiAgICAgICAgIC8vIEZJWE1FOiB1c2UgUmF3U291cmNlQ29kZS51aUxvY2F0aW9uVG9SYXdMb2Nh
dGlvbi4KLSAgICAgICAgdmFyIHJhd0xvY2F0aW9uID0gdWlTb3VyY2VDb2RlLnJhd1NvdXJjZUNv
ZGUuc291cmNlTWFwcGluZy51aUxvY2F0aW9uVG9SYXdMb2NhdGlvbih1aVNvdXJjZUNvZGUsIGxp
bmVOdW1iZXIpOworICAgICAgICB2YXIgcmF3TG9jYXRpb24gPSB1aVNvdXJjZUNvZGUucmF3U291
cmNlQ29kZS5zb3VyY2VNYXBwaW5nLnVpTG9jYXRpb25Ub1Jhd0xvY2F0aW9uKHVpU291cmNlQ29k
ZSwgbGluZU51bWJlciwgMCk7CiAgICAgICAgIFdlYkluc3BlY3Rvci5kZWJ1Z2dlck1vZGVsLmNv
bnRpbnVlVG9Mb2NhdGlvbihyYXdMb2NhdGlvbik7CiAgICAgfSwKIApAQCAtNzY5LDExICs3NzIs
NjQgQEAgV2ViSW5zcGVjdG9yLkRlYnVnZ2VyUHJlc2VudGF0aW9uTW9kZWxSZXNvdXJjZUJpbmRp
bmcucHJvdG90eXBlID0gewogCiAvKioKICAqIEBjb25zdHJ1Y3RvcgorICovCitXZWJJbnNwZWN0
b3IuRGVidWdnZXJQcmVzZW50YXRpb25Nb2RlbC5MaW5raWZpZXJGb3JtYXR0ZXIgPSBmdW5jdGlv
bigpCit7Cit9CisKK1dlYkluc3BlY3Rvci5EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsLkxpbmtp
ZmllckZvcm1hdHRlci5wcm90b3R5cGUgPSB7CisgICAgLyoqCisgICAgICogQHBhcmFtIHtXZWJJ
bnNwZWN0b3IuUmF3U291cmNlQ29kZX0gcmF3U291cmNlQ29kZQorICAgICAqIEBwYXJhbSB7RWxl
bWVudH0gYW5jaG9yCisgICAgICovCisgICAgZm9ybWF0UmF3U291cmNlQ29kZUFuY2hvcjogZnVu
Y3Rpb24ocmF3U291cmNlQ29kZSwgYW5jaG9yKSB7IH0sCisKKyAgICAvKioKKyAgICAgKiBAcGFy
YW0ge3N0cmluZ30gc291cmNlVVJMCisgICAgICogQHBhcmFtIHtudW1iZXI9fSBsaW5lTnVtYmVy
CisgICAgICogQHBhcmFtIHtzdHJpbmc9fSBjbGFzc2VzCisgICAgICovCisgICAgbGlua2lmeVJl
c291cmNlOiBmdW5jdGlvbihzb3VyY2VVUkwsIGxpbmVOdW1iZXIsIGNsYXNzZXMpCisgICAgewor
ICAgICAgICB2YXIgbGlua1RleHQgPSBXZWJJbnNwZWN0b3IuZm9ybWF0TGlua1RleHQoc291cmNl
VVJMLCBsaW5lTnVtYmVyKTsKKyAgICAgICAgdmFyIGFuY2hvciA9IFdlYkluc3BlY3Rvci5saW5r
aWZ5VVJMQXNOb2RlKHNvdXJjZVVSTCwgbGlua1RleHQsIGNsYXNzZXMsIGZhbHNlKTsKKyAgICAg
ICAgYW5jaG9yLnNldEF0dHJpYnV0ZSgicHJlZmVycmVkX3BhbmVsIiwgInJlc291cmNlcyIpOwor
ICAgICAgICBhbmNob3Iuc2V0QXR0cmlidXRlKCJsaW5lX251bWJlciIsIGxpbmVOdW1iZXIpOwor
ICAgICAgICByZXR1cm4gYW5jaG9yOworICAgIH0KK30KKworLyoqCisgKiBAY29uc3RydWN0b3IK
KyAqIEBleHRlbmRzIHtXZWJJbnNwZWN0b3IuRGVidWdnZXJQcmVzZW50YXRpb25Nb2RlbC5MaW5r
aWZpZXJGb3JtYXR0ZXJ9CisgKi8KK1dlYkluc3BlY3Rvci5EZWJ1Z2dlclByZXNlbnRhdGlvbk1v
ZGVsLkRlZmF1bHRMaW5raWZpZXJGb3JtYXR0ZXIgPSBmdW5jdGlvbigpCit7Cit9CisKK1dlYklu
c3BlY3Rvci5EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsLkRlZmF1bHRMaW5raWZpZXJGb3JtYXR0
ZXIucHJvdG90eXBlID0geworICAgIC8qKgorICAgICAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLlJh
d1NvdXJjZUNvZGV9IHJhd1NvdXJjZUNvZGUKKyAgICAgKiBAcGFyYW0ge0VsZW1lbnR9IGFuY2hv
cgorICAgICAqLworICAgIGZvcm1hdFJhd1NvdXJjZUNvZGVBbmNob3I6IGZ1bmN0aW9uKHJhd1Nv
dXJjZUNvZGUsIGFuY2hvcikKKyAgICB7CisgICAgICAgIHZhciB1aUxvY2F0aW9uID0gcmF3U291
cmNlQ29kZS5zb3VyY2VNYXBwaW5nLnJhd0xvY2F0aW9uVG9VSUxvY2F0aW9uKGFuY2hvci5yYXdM
b2NhdGlvbik7CisgICAgICAgIGFuY2hvci50ZXh0Q29udGVudCA9IFdlYkluc3BlY3Rvci5mb3Jt
YXRMaW5rVGV4dCh1aUxvY2F0aW9uLnVpU291cmNlQ29kZS51cmwsIHVpTG9jYXRpb24ubGluZU51
bWJlcik7CisgICAgfQorfQorCitXZWJJbnNwZWN0b3IuRGVidWdnZXJQcmVzZW50YXRpb25Nb2Rl
bC5EZWZhdWx0TGlua2lmaWVyRm9ybWF0dGVyLnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNw
ZWN0b3IuRGVidWdnZXJQcmVzZW50YXRpb25Nb2RlbC5MaW5raWZpZXJGb3JtYXR0ZXIucHJvdG90
eXBlOworCisvKioKKyAqIEBjb25zdHJ1Y3RvcgogICogQHBhcmFtIHtXZWJJbnNwZWN0b3IuRGVi
dWdnZXJQcmVzZW50YXRpb25Nb2RlbH0gbW9kZWwKKyAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLkRl
YnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwuTGlua2lmaWVyRm9ybWF0dGVyPX0gZm9ybWF0dGVyCiAg
Ki8KLVdlYkluc3BlY3Rvci5EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsLkxpbmtpZmllciA9IGZ1
bmN0aW9uKG1vZGVsKQorV2ViSW5zcGVjdG9yLkRlYnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwuTGlu
a2lmaWVyID0gZnVuY3Rpb24obW9kZWwsIGZvcm1hdHRlcikKIHsKICAgICB0aGlzLl9tb2RlbCA9
IG1vZGVsOworICAgIHRoaXMuX2Zvcm1hdHRlciA9IGZvcm1hdHRlciB8fCBuZXcgV2ViSW5zcGVj
dG9yLkRlYnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwuRGVmYXVsdExpbmtpZmllckZvcm1hdHRlcigp
OwogICAgIHRoaXMuX2FuY2hvcnNGb3JSYXdTb3VyY2VDb2RlID0ge307CiB9CiAKQEAgLTc4Niwx
NiArODQyLDIzIEBAIFdlYkluc3BlY3Rvci5EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsLkxpbmtp
Zmllci5wcm90b3R5cGUgPSB7CiAgICAgICovCiAgICAgbGlua2lmeUxvY2F0aW9uOiBmdW5jdGlv
bihzb3VyY2VVUkwsIGxpbmVOdW1iZXIsIGNvbHVtbk51bWJlciwgY2xhc3NlcykKICAgICB7Ci0g
ICAgICAgIHZhciBsaW5rVGV4dCA9IFdlYkluc3BlY3Rvci5mb3JtYXRMaW5rVGV4dChzb3VyY2VV
UkwsIGxpbmVOdW1iZXIpOwotICAgICAgICB2YXIgYW5jaG9yID0gV2ViSW5zcGVjdG9yLmxpbmtp
ZnlVUkxBc05vZGUoc291cmNlVVJMLCBsaW5rVGV4dCwgY2xhc3NlcywgZmFsc2UpOwotICAgICAg
ICBhbmNob3IucmF3TG9jYXRpb24gPSB7IGxpbmVOdW1iZXI6IGxpbmVOdW1iZXIsIGNvbHVtbk51
bWJlcjogY29sdW1uTnVtYmVyIH07Ci0KICAgICAgICAgdmFyIHJhd1NvdXJjZUNvZGUgPSB0aGlz
Ll9tb2RlbC5fcmF3U291cmNlQ29kZUZvclNjcmlwdFdpdGhVUkwoc291cmNlVVJMKTsKLSAgICAg
ICAgaWYgKCFyYXdTb3VyY2VDb2RlKSB7Ci0gICAgICAgICAgICBhbmNob3Iuc2V0QXR0cmlidXRl
KCJwcmVmZXJyZWRfcGFuZWwiLCAicmVzb3VyY2VzIik7Ci0gICAgICAgICAgICBhbmNob3Iuc2V0
QXR0cmlidXRlKCJsaW5lX251bWJlciIsIGxpbmVOdW1iZXIpOwotICAgICAgICAgICAgcmV0dXJu
IGFuY2hvcjsKLSAgICAgICAgfQorICAgICAgICBpZiAoIXJhd1NvdXJjZUNvZGUpCisgICAgICAg
ICAgICByZXR1cm4gdGhpcy5fZm9ybWF0dGVyLmxpbmtpZnlSZXNvdXJjZShzb3VyY2VVUkwsIGxp
bmVOdW1iZXIsIGNsYXNzZXMpOworICAgICAgICAKKyAgICAgICAgcmV0dXJuIHRoaXMubGlua2lm
eVJhd1NvdXJjZUNvZGUocmF3U291cmNlQ29kZSwgbGluZU51bWJlciwgY29sdW1uTnVtYmVyLCBj
bGFzc2VzKTsKKyAgICB9LAorCisgICAgLyoqCisgICAgICogQHBhcmFtIHtXZWJJbnNwZWN0b3Iu
UmF3U291cmNlQ29kZX0gcmF3U291cmNlQ29kZQorICAgICAqIEBwYXJhbSB7bnVtYmVyPX0gbGlu
ZU51bWJlcgorICAgICAqIEBwYXJhbSB7bnVtYmVyPX0gY29sdW1uTnVtYmVyCisgICAgICogQHBh
cmFtIHtzdHJpbmc9fSBjbGFzc2VzCisgICAgICovCisgICAgbGlua2lmeVJhd1NvdXJjZUNvZGU6
IGZ1bmN0aW9uKHJhd1NvdXJjZUNvZGUsIGxpbmVOdW1iZXIsIGNvbHVtbk51bWJlciwgY2xhc3Nl
cykKKyAgICB7CisgICAgICAgIHZhciBhbmNob3IgPSBXZWJJbnNwZWN0b3IubGlua2lmeVVSTEFz
Tm9kZShyYXdTb3VyY2VDb2RlLnVybCwgIiIsIGNsYXNzZXMsIGZhbHNlKTsKKyAgICAgICAgYW5j
aG9yLnJhd0xvY2F0aW9uID0geyBsaW5lTnVtYmVyOiBsaW5lTnVtYmVyLCBjb2x1bW5OdW1iZXI6
IGNvbHVtbk51bWJlciB9OwogCiAgICAgICAgIHZhciBhbmNob3JzID0gdGhpcy5fYW5jaG9yc0Zv
clJhd1NvdXJjZUNvZGVbcmF3U291cmNlQ29kZS5pZF07CiAgICAgICAgIGlmICghYW5jaG9ycykg
ewpAQCAtODM3LDEwICs5MDAsMTEgQEAgV2ViSW5zcGVjdG9yLkRlYnVnZ2VyUHJlc2VudGF0aW9u
TW9kZWwuTGlua2lmaWVyLnByb3RvdHlwZSA9IHsKICAgICBfdXBkYXRlQW5jaG9yOiBmdW5jdGlv
bihyYXdTb3VyY2VDb2RlLCBhbmNob3IpCiAgICAgewogICAgICAgICB2YXIgdWlMb2NhdGlvbiA9
IHJhd1NvdXJjZUNvZGUuc291cmNlTWFwcGluZy5yYXdMb2NhdGlvblRvVUlMb2NhdGlvbihhbmNo
b3IucmF3TG9jYXRpb24pOwotICAgICAgICBhbmNob3IudGV4dENvbnRlbnQgPSBXZWJJbnNwZWN0
b3IuZm9ybWF0TGlua1RleHQodWlMb2NhdGlvbi51aVNvdXJjZUNvZGUudXJsLCB1aUxvY2F0aW9u
LmxpbmVOdW1iZXIpOwogICAgICAgICBhbmNob3Iuc2V0QXR0cmlidXRlKCJwcmVmZXJyZWRfcGFu
ZWwiLCAic2NyaXB0cyIpOwogICAgICAgICBhbmNob3IudWlTb3VyY2VDb2RlID0gdWlMb2NhdGlv
bi51aVNvdXJjZUNvZGU7CiAgICAgICAgIGFuY2hvci5saW5lTnVtYmVyID0gdWlMb2NhdGlvbi5s
aW5lTnVtYmVyOworICAgICAgICAKKyAgICAgICAgdGhpcy5fZm9ybWF0dGVyLmZvcm1hdFJhd1Nv
dXJjZUNvZGVBbmNob3IocmF3U291cmNlQ29kZSwgYW5jaG9yKTsKICAgICB9CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmF3U291cmNlQ29kZS5q
cyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmF3U291cmNlQ29kZS5qcwpp
bmRleCAxNTg1NDA5YzU4YzNkZmFmNzUzMGRiODM2ZmU5MDMyNjY1OTFlZjQ1Li40ZTYwM2I0NzIz
NjMxZDBkOTYxOWQ2ZDMyMzM5YTZiNmEyZTg1NGI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jhd1NvdXJjZUNvZGUuanMKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SYXdTb3VyY2VDb2RlLmpzCkBAIC0yNjYsOSArMjY2LDEw
IEBAIFdlYkluc3BlY3Rvci5SYXdTb3VyY2VDb2RlLlNvdXJjZU1hcHBpbmcucHJvdG90eXBlID0g
ewogICAgIC8qKgogICAgICAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLlVJU291cmNlQ29kZX0gdWlT
b3VyY2VDb2RlCiAgICAgICogQHBhcmFtIHtudW1iZXJ9IGxpbmVOdW1iZXIKKyAgICAgKiBAcGFy
YW0ge251bWJlcn0gY29sdW1uTnVtYmVyCiAgICAgICogQHJldHVybiB7RGVidWdnZXJBZ2VudC5M
b2NhdGlvbn0KICAgICAgKi8KLSAgICB1aUxvY2F0aW9uVG9SYXdMb2NhdGlvbjogZnVuY3Rpb24o
dWlTb3VyY2VDb2RlLCBsaW5lTnVtYmVyKSB7IH0KKyAgICB1aUxvY2F0aW9uVG9SYXdMb2NhdGlv
bjogZnVuY3Rpb24odWlTb3VyY2VDb2RlLCBsaW5lTnVtYmVyLCBjb2x1bW5OdW1iZXIpIHsgfQog
fQogCiAvKioKQEAgLTI5NiwxMiArMjk3LDEzIEBAIFdlYkluc3BlY3Rvci5SYXdTb3VyY2VDb2Rl
LlBsYWluU291cmNlTWFwcGluZy5wcm90b3R5cGUgPSB7CiAgICAgLyoqCiAgICAgICogQHBhcmFt
IHtXZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2RlfSB1aVNvdXJjZUNvZGUKICAgICAgKiBAcGFyYW0g
e251bWJlcn0gbGluZU51bWJlcgorICAgICAqIEBwYXJhbSB7bnVtYmVyfSBjb2x1bW5OdW1iZXIK
ICAgICAgKiBAcmV0dXJuIHtEZWJ1Z2dlckFnZW50LkxvY2F0aW9ufQogICAgICAqLwotICAgIHVp
TG9jYXRpb25Ub1Jhd0xvY2F0aW9uOiBmdW5jdGlvbih1aVNvdXJjZUNvZGUsIGxpbmVOdW1iZXIp
CisgICAgdWlMb2NhdGlvblRvUmF3TG9jYXRpb246IGZ1bmN0aW9uKHVpU291cmNlQ29kZSwgbGlu
ZU51bWJlciwgY29sdW1uTnVtYmVyKQogICAgIHsKICAgICAgICAgY29uc29sZS5hc3NlcnQodWlT
b3VyY2VDb2RlID09PSB0aGlzLl91aVNvdXJjZUNvZGVMaXN0WzBdKTsKLSAgICAgICAgdmFyIHJh
d0xvY2F0aW9uID0geyBsaW5lTnVtYmVyOiBsaW5lTnVtYmVyLCBjb2x1bW5OdW1iZXI6IDAgfTsK
KyAgICAgICAgdmFyIHJhd0xvY2F0aW9uID0geyBsaW5lTnVtYmVyOiBsaW5lTnVtYmVyLCBjb2x1
bW5OdW1iZXI6IGNvbHVtbk51bWJlciB9OwogICAgICAgICByYXdMb2NhdGlvbi5zY3JpcHRJZCA9
IHRoaXMuX3Jhd1NvdXJjZUNvZGUuX3NjcmlwdEZvclJhd0xvY2F0aW9uKHJhd0xvY2F0aW9uLmxp
bmVOdW1iZXIsIHJhd0xvY2F0aW9uLmNvbHVtbk51bWJlcikuc2NyaXB0SWQ7CiAgICAgICAgIHJl
dHVybiAvKiogQHR5cGUge0RlYnVnZ2VyQWdlbnQuTG9jYXRpb259ICovIHJhd0xvY2F0aW9uOwog
ICAgIH0sCkBAIC0zNDIsMTIgKzM0NCwxMyBAQCBXZWJJbnNwZWN0b3IuUmF3U291cmNlQ29kZS5G
b3JtYXR0ZWRTb3VyY2VNYXBwaW5nLnByb3RvdHlwZSA9IHsKICAgICAvKioKICAgICAgKiBAcGFy
YW0ge1dlYkluc3BlY3Rvci5VSVNvdXJjZUNvZGV9IHVpU291cmNlQ29kZQogICAgICAqIEBwYXJh
bSB7bnVtYmVyfSBsaW5lTnVtYmVyCisgICAgICogQHBhcmFtIHtudW1iZXJ9IGNvbHVtbk51bWJl
cgogICAgICAqIEByZXR1cm4ge0RlYnVnZ2VyQWdlbnQuTG9jYXRpb259CiAgICAgICovCi0gICAg
dWlMb2NhdGlvblRvUmF3TG9jYXRpb246IGZ1bmN0aW9uKHVpU291cmNlQ29kZSwgbGluZU51bWJl
cikKKyAgICB1aUxvY2F0aW9uVG9SYXdMb2NhdGlvbjogZnVuY3Rpb24odWlTb3VyY2VDb2RlLCBs
aW5lTnVtYmVyLCBjb2x1bW5OdW1iZXIpCiAgICAgewogICAgICAgICBjb25zb2xlLmFzc2VydCh1
aVNvdXJjZUNvZGUgPT09IHRoaXMuX3VpU291cmNlQ29kZUxpc3RbMF0pOwotICAgICAgICB2YXIg
cmF3TG9jYXRpb24gPSB0aGlzLl9tYXBwaW5nLmZvcm1hdHRlZFRvT3JpZ2luYWwoeyBsaW5lTnVt
YmVyOiBsaW5lTnVtYmVyLCBjb2x1bW5OdW1iZXI6IDAgfSk7CisgICAgICAgIHZhciByYXdMb2Nh
dGlvbiA9IHRoaXMuX21hcHBpbmcuZm9ybWF0dGVkVG9PcmlnaW5hbCh7IGxpbmVOdW1iZXI6IGxp
bmVOdW1iZXIsIGNvbHVtbk51bWJlcjogY29sdW1uTnVtYmVyIH0pOwogICAgICAgICByYXdMb2Nh
dGlvbi5zY3JpcHRJZCA9IHRoaXMuX3Jhd1NvdXJjZUNvZGUuX3NjcmlwdEZvclJhd0xvY2F0aW9u
KHJhd0xvY2F0aW9uLmxpbmVOdW1iZXIsIHJhd0xvY2F0aW9uLmNvbHVtbk51bWJlcikuc2NyaXB0
SWQ7CiAgICAgICAgIHJldHVybiByYXdMb2NhdGlvbjsKICAgICB9LApAQCAtMzkyLDExICszOTUs
MTIgQEAgV2ViSW5zcGVjdG9yLlJhd1NvdXJjZUNvZGUuQ29tcGlsZXJTb3VyY2VNYXBwaW5nLnBy
b3RvdHlwZSA9IHsKICAgICAvKioKICAgICAgKiBAcGFyYW0ge1dlYkluc3BlY3Rvci5VSVNvdXJj
ZUNvZGV9IHVpU291cmNlQ29kZQogICAgICAqIEBwYXJhbSB7bnVtYmVyfSBsaW5lTnVtYmVyCisg
ICAgICogQHBhcmFtIHtudW1iZXJ9IGNvbHVtbk51bWJlcgogICAgICAqIEByZXR1cm4ge0RlYnVn
Z2VyQWdlbnQuTG9jYXRpb259CiAgICAgICovCi0gICAgdWlMb2NhdGlvblRvUmF3TG9jYXRpb246
IGZ1bmN0aW9uKHVpU291cmNlQ29kZSwgbGluZU51bWJlcikKKyAgICB1aUxvY2F0aW9uVG9SYXdM
b2NhdGlvbjogZnVuY3Rpb24odWlTb3VyY2VDb2RlLCBsaW5lTnVtYmVyLCBjb2x1bW5OdW1iZXIp
CiAgICAgewotICAgICAgICB2YXIgcmF3TG9jYXRpb24gPSB0aGlzLl9tYXBwaW5nLnNvdXJjZUxv
Y2F0aW9uVG9Db21waWxlZExvY2F0aW9uKHVpU291cmNlQ29kZS51cmwsIGxpbmVOdW1iZXIsIDAp
OworICAgICAgICB2YXIgcmF3TG9jYXRpb24gPSB0aGlzLl9tYXBwaW5nLnNvdXJjZUxvY2F0aW9u
VG9Db21waWxlZExvY2F0aW9uKHVpU291cmNlQ29kZS51cmwsIGxpbmVOdW1iZXIpOwogICAgICAg
ICByYXdMb2NhdGlvbi5zY3JpcHRJZCA9IHRoaXMuX3Jhd1NvdXJjZUNvZGUuX3NjcmlwdEZvclJh
d0xvY2F0aW9uKHJhd0xvY2F0aW9uLmxpbmVOdW1iZXIsIHJhd0xvY2F0aW9uLmNvbHVtbk51bWJl
cikuc2NyaXB0SWQ7CiAgICAgICAgIHJldHVybiAvKiogQHR5cGUge0RlYnVnZ2VyQWdlbnQuTG9j
YXRpb259ICovIHJhd0xvY2F0aW9uOwogICAgIH0sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdHNTZWFyY2hTY29wZS5qcyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0c1NlYXJjaFNjb3BlLmpzCmluZGV4IDkzZTk2
NTdmNGVjNzhiNDhmYTg3NTM4YTU3NTYyNGZlYzg3MGYxNDQuLjhhOTc5NDU3ZjZhOGIwOTFhZTM2
MDU2MWMwYjUyYWFmOWVhODZkOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvU2NyaXB0c1NlYXJjaFNjb3BlLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0c1NlYXJjaFNjb3BlLmpzCkBAIC0xMjUsMjMgKzEyNSwy
NCBAQCBXZWJJbnNwZWN0b3IuU2NyaXB0c1NlYXJjaFNjb3BlLnByb3RvdHlwZS5fX3Byb3RvX18g
PSBXZWJJbnNwZWN0b3IuU2VhcmNoU2NvcGUucAogV2ViSW5zcGVjdG9yLlNjcmlwdHNTZWFyY2hS
ZXN1bHRzUGFuZSA9IGZ1bmN0aW9uKHNlYXJjaENvbmZpZykKIHsKICAgICBXZWJJbnNwZWN0b3Iu
RmlsZUJhc2VkU2VhcmNoUmVzdWx0c1BhbmUuY2FsbCh0aGlzLCBzZWFyY2hDb25maWcpCisKKyAg
ICB0aGlzLl9saW5raWZpZXIgPSBXZWJJbnNwZWN0b3IuZGVidWdnZXJQcmVzZW50YXRpb25Nb2Rl
bC5jcmVhdGVMaW5raWZpZXIobmV3IFdlYkluc3BlY3Rvci5TY3JpcHRzU2VhcmNoUmVzdWx0c1Bh
bmUuTGlua2lmaWVyRm9ybWF0dGVyKCkpOwogfQogCiBXZWJJbnNwZWN0b3IuU2NyaXB0c1NlYXJj
aFJlc3VsdHNQYW5lLnByb3RvdHlwZSA9IHsKICAgICAvKioKICAgICAgKiBAcGFyYW0ge09iamVj
dH0gZmlsZQogICAgICAqIEBwYXJhbSB7bnVtYmVyfSBsaW5lTnVtYmVyCisgICAgICogQHBhcmFt
IHtudW1iZXJ9IGNvbHVtbk51bWJlcgogICAgICAqLwotICAgIGNyZWF0ZUFuY2hvcjogZnVuY3Rp
b24oZmlsZSwgbGluZU51bWJlcikKKyAgICBjcmVhdGVBbmNob3I6IGZ1bmN0aW9uKGZpbGUsIGxp
bmVOdW1iZXIsIGNvbHVtbk51bWJlcikKICAgICB7Ci0gICAgICAgIHZhciB1aVNvdXJjZUNvZGUg
PSBmaWxlOwogICAgICAgICAKLSAgICAgICAgdmFyIGFuY2hvciA9IFdlYkluc3BlY3Rvci5saW5r
aWZ5VVJMQXNOb2RlKHVpU291cmNlQ29kZS51cmwsICIiKTsKLSAgICAgICAgYW5jaG9yLnNldEF0
dHJpYnV0ZSgicHJlZmVycmVkX3BhbmVsIiwgInNjcmlwdHMiKTsKLSAgICAgICAgYW5jaG9yLnVp
U291cmNlQ29kZSA9IHVpU291cmNlQ29kZTsKLSAgICAgICAgYW5jaG9yLmxpbmVOdW1iZXIgPSBs
aW5lTnVtYmVyOworICAgICAgICB2YXIgdWlTb3VyY2VDb2RlID0gZmlsZTsKKyAgICAgICAgdmFy
IHJhd1NvdXJjZUNvZGUgPSB1aVNvdXJjZUNvZGUucmF3U291cmNlQ29kZTsKKyAgICAgICAgdmFy
IHJhd0xvY2F0aW9uID0gcmF3U291cmNlQ29kZS5zb3VyY2VNYXBwaW5nLnVpTG9jYXRpb25Ub1Jh
d0xvY2F0aW9uKHVpU291cmNlQ29kZSwgbGluZU51bWJlciwgY29sdW1uTnVtYmVyKTsKKyAgICAg
ICAgdmFyIGFuY2hvciA9IHRoaXMuX2xpbmtpZmllci5saW5raWZ5UmF3U291cmNlQ29kZSh1aVNv
dXJjZUNvZGUucmF3U291cmNlQ29kZSwgcmF3TG9jYXRpb24ubGluZU51bWJlciwgcmF3TG9jYXRp
b24uY29sdW1uTnVtYmVyKTsKICAgICAgICAgYW5jaG9yLnJlbW92ZUNoaWxkcmVuKCk7Ci0gICAg
ICAgIAogICAgICAgICByZXR1cm4gYW5jaG9yOwogICAgIH0sCiAgICAgCkBAIC0xNTcsMyArMTU4
LDI0IEBAIFdlYkluc3BlY3Rvci5TY3JpcHRzU2VhcmNoUmVzdWx0c1BhbmUucHJvdG90eXBlID0g
ewogfQogCiBXZWJJbnNwZWN0b3IuU2NyaXB0c1NlYXJjaFJlc3VsdHNQYW5lLnByb3RvdHlwZS5f
X3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuRmlsZUJhc2VkU2VhcmNoUmVzdWx0c1BhbmUucHJvdG90
eXBlOworCisvKioKKyAqIEBjb25zdHJ1Y3RvcgorICogQGV4dGVuZHMge1dlYkluc3BlY3Rvci5E
ZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsLkxpbmtpZmllckZvcm1hdHRlcn0KKyAqLworV2ViSW5z
cGVjdG9yLlNjcmlwdHNTZWFyY2hSZXN1bHRzUGFuZS5MaW5raWZpZXJGb3JtYXR0ZXIgPSBmdW5j
dGlvbigpCit7Cit9CisKK1dlYkluc3BlY3Rvci5TY3JpcHRzU2VhcmNoUmVzdWx0c1BhbmUuTGlu
a2lmaWVyRm9ybWF0dGVyLnByb3RvdHlwZSA9IHsKKyAgICAvKioKKyAgICAgKiBAcGFyYW0ge1dl
Ykluc3BlY3Rvci5SYXdTb3VyY2VDb2RlfSByYXdTb3VyY2VDb2RlCisgICAgICogQHBhcmFtIHtF
bGVtZW50fSBhbmNob3IKKyAgICAgKi8KKyAgICBmb3JtYXRSYXdTb3VyY2VDb2RlQW5jaG9yOiBm
dW5jdGlvbihyYXdTb3VyY2VDb2RlLCBhbmNob3IpCisgICAgeworICAgICAgICAvLyBFbXB0eSBi
ZWNhdXNlIHdlIGRvbid0IHdhbnQgdG8gZXZlciB1cGRhdGUgYW5jaG9yIGNvbnRlbnRzIGFmdGVy
IGNyZWF0aW9uLgorICAgIH0KK30KKworV2ViSW5zcGVjdG9yLlNjcmlwdHNTZWFyY2hSZXN1bHRz
UGFuZS5MaW5raWZpZXJGb3JtYXR0ZXIucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rv
ci5EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsLkxpbmtpZmllckZvcm1hdHRlci5wcm90b3R5cGU7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rv
ci5odG1sIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuaHRt
bAppbmRleCAxYzExY2QwOTUxZGIwZThlOWE3NTJiM2U0ZTg1YjU4YmI2OWI5ODIwLi43Yjc4NjNj
OTIyYzAwYjU0YWM4YWViMWNlN2E4MGFkNGNmMTc4M2U4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5odG1sCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmh0bWwKQEAgLTExNSw3ICsxMTUsNiBA
QCBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IlNvdXJj
ZUZyYW1lLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIg
c3JjPSJSZXNvdXJjZVZpZXcuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9q
YXZhc2NyaXB0IiBzcmM9IlNjcmlwdHNQYW5lbC5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCB0
eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iU2NyaXB0c1NlYXJjaFNjb3BlLmpzIj48L3Njcmlw
dD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJKYXZhU2NyaXB0U291
cmNlRnJhbWUuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0
IiBzcmM9IlJlc291cmNlc1BhbmVsLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5cGU9InRl
eHQvamF2YXNjcmlwdCIgc3JjPSJQcm9maWxlc1BhbmVsLmpzIj48L3NjcmlwdD4KQEAgLTE2OSw2
ICsxNjgsNyBAQCBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBz
cmM9IlJhd1NvdXJjZUNvZGUuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9q
YXZhc2NyaXB0IiBzcmM9IkNvbXBpbGVyU291cmNlTWFwcGluZy5qcyI+PC9zY3JpcHQ+CiAgICAg
PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iQ29tcGlsZXJTb3VyY2VNYXBwaW5n
UHJvdmlkZXIuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0
IiBzcmM9IlNjcmlwdHNTZWFyY2hTY29wZS5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCB0eXBl
PSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iRE9NQWdlbnQuanMiPjwvc2NyaXB0PgogICAgIDxzY3Jp
cHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IlRpbWVsaW5lQWdlbnQuanMiPjwvc2NyaXB0
PgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IlRpbWVsaW5lUGFuZWwu
anMiPjwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC91dGlsaXRpZXMuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL3V0
aWxpdGllcy5qcwppbmRleCA1NWMzMTcwMmU0OTU5NmFhOTlhMzZkZWUxMzJjYWM3NjQyYWJmYzEz
Li43MmU3YmZjOTBiMDI0N2MwZDQ1OGQyYWM5MzIxZjliZjFhZmJlMmJmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL3V0aWxpdGllcy5qcworKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL3V0aWxpdGllcy5qcwpAQCAtOTc3LDcgKzk3
Nyw3IEBAIGZ1bmN0aW9uIHJldmVydERvbUNoYW5nZXMoZG9tQ2hhbmdlcykKIAogLyoqCiAgKiBA
cGFyYW0ge3N0cmluZ30gcXVlcnkKLSAqIEBwYXJhbSB7Ym9vbGVhbn0gaWdub3JlQ2FzZQorICog
QHBhcmFtIHtib29sZWFufSBjYXNlU2Vuc2l0aXZlCiAgKiBAcGFyYW0ge2Jvb2xlYW59IGlzUmVn
ZXgKICAqIEByZXR1cm4ge1JlZ0V4cH0KICAqLwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDAyOTZiMjdjZDRmY2FiZmNhMzkw
NWJhZjI2ZjFmZTQ0NzZhYjliMjguLmZmZTE0ZTEwMjc0NzFmMWNjM2I3YmVmYzJjZDE2ZDJhODE5
ZWY0ZGEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKQEAgLTEsNSArMSwxNCBAQAogMjAxMS0xMC0yMCAgVnNldm9sb2QgVmxhc292
ICA8dnNldmlrQGNocm9taXVtLm9yZz4KIAorICAgICAgICBXZWIgSW5zcGVjdG9yOiBBZHZhbmNl
ZCBzZWFyY2ggcmVzdWx0cyBzaG91bGQga2VlcCB3b3JraW5nIGFmdGVyIHByZXR0eSBwcmludCB0
b2dnbGVkLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NzAzNDcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IGluc3BlY3Rvci9kZWJ1Z2dlci9yYXctc291cmNlLWNvZGUuaHRtbDoKKworMjAxMS0xMC0yMCAg
VnNldm9sb2QgVmxhc292ICA8dnNldmlrQGNocm9taXVtLm9yZz4KKwogICAgICAgICBXZWIgSW5z
cGVjdG9yOiBFbmFibGUgc3VwcG9ydCBmb3IgYWR2YW5jZWQgc2VhcmNoIGluIHNjcmlwdCdzIHN0
YXRpYyBjb250ZW50IHByb3ZpZGVyLgogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NzAzNTQKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L2RlYnVnZ2VyL3Jhdy1zb3VyY2UtY29kZS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Rl
YnVnZ2VyL3Jhdy1zb3VyY2UtY29kZS5odG1sCmluZGV4IGJjZjE4NGM5ODhiOTBmNDJkNjhiYmE2
NDEzYTk3MzRhZmI0ZTBhZjYuLjQyNTRjOTg2ZGY3ZTAxMDAwNjU4NThiNzhhZTA4NTAzZDA4OGM0
NDIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9yYXctc291cmNl
LWNvZGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvcmF3LXNvdXJj
ZS1jb2RlLmh0bWwKQEAgLTExMiw3ICsxMTIsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKICAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0RXF1YWxzKHRydWUsIHVpU291cmNlQ29kZS5pc0NvbnRl
bnRTY3JpcHQpOwogICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRFcXVhbHMocmF3U291
cmNlQ29kZSwgdWlTb3VyY2VDb2RlLnJhd1NvdXJjZUNvZGUpOwogICAgICAgICAgICAgY2hlY2tV
SUxvY2F0aW9uKHVpU291cmNlQ29kZSwgMCwgNSwgc291cmNlTWFwcGluZy5yYXdMb2NhdGlvblRv
VUlMb2NhdGlvbihjcmVhdGVSYXdMb2NhdGlvbigwLCA1KSkpOwotICAgICAgICAgICAgY2hlY2tS
YXdMb2NhdGlvbihzY3JpcHQsIDEwLCAwLCBzb3VyY2VNYXBwaW5nLnVpTG9jYXRpb25Ub1Jhd0xv
Y2F0aW9uKHVpU291cmNlQ29kZSwgMTApKTsKKyAgICAgICAgICAgIGNoZWNrUmF3TG9jYXRpb24o
c2NyaXB0LCAxMCwgMCwgc291cmNlTWFwcGluZy51aUxvY2F0aW9uVG9SYXdMb2NhdGlvbih1aVNv
dXJjZUNvZGUsIDEwLCAwKSk7CiAgICAgICAgICAgICB1aVNvdXJjZUNvZGUucmVxdWVzdENvbnRl
bnQoZGlkUmVxdWVzdENvbnRlbnQpOwogCiAgICAgICAgICAgICBmdW5jdGlvbiBkaWRSZXF1ZXN0
Q29udGVudChtaW1lVHlwZSwgY29udGVudCkKQEAgLTE3OCw4ICsxNzgsOCBAQCBmdW5jdGlvbiB0
ZXN0KCkKICAgICAgICAgICAgICAgICByYXdTb3VyY2VDb2RlLmFkZFNjcmlwdChzY3JpcHQyKTsK
ICAgICAgICAgICAgICAgICByYXdTb3VyY2VDb2RlLmZvcmNlVXBkYXRlU291cmNlTWFwcGluZygp
OwogICAgICAgICAgICAgICAgIGNoZWNrVUlMb2NhdGlvbih1aVNvdXJjZUNvZGUsIDEsIDIwLCBz
b3VyY2VNYXBwaW5nLnJhd0xvY2F0aW9uVG9VSUxvY2F0aW9uKGNyZWF0ZVJhd0xvY2F0aW9uKDEs
IDIwKSkpOwotICAgICAgICAgICAgICAgIGNoZWNrUmF3TG9jYXRpb24oc2NyaXB0MSwgMSwgMCwg
c291cmNlTWFwcGluZy51aUxvY2F0aW9uVG9SYXdMb2NhdGlvbih1aVNvdXJjZUNvZGUsIDEpKTsK
LSAgICAgICAgICAgICAgICBjaGVja1Jhd0xvY2F0aW9uKHNjcmlwdDIsIDYsIDAsIHNvdXJjZU1h
cHBpbmcudWlMb2NhdGlvblRvUmF3TG9jYXRpb24odWlTb3VyY2VDb2RlLCA2KSk7CisgICAgICAg
ICAgICAgICAgY2hlY2tSYXdMb2NhdGlvbihzY3JpcHQxLCAxLCAwLCBzb3VyY2VNYXBwaW5nLnVp
TG9jYXRpb25Ub1Jhd0xvY2F0aW9uKHVpU291cmNlQ29kZSwgMSwgMCkpOworICAgICAgICAgICAg
ICAgIGNoZWNrUmF3TG9jYXRpb24oc2NyaXB0MiwgNiwgMCwgc291cmNlTWFwcGluZy51aUxvY2F0
aW9uVG9SYXdMb2NhdGlvbih1aVNvdXJjZUNvZGUsIDYsIDApKTsKIAogICAgICAgICAgICAgICAg
IG5leHQoKTsKICAgICAgICAgICAgIH0KQEAgLTI2NCw3ICsyNjQsNyBAQCBmdW5jdGlvbiB0ZXN0
KCkKICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0RXF1YWxzKDEsIHNvdXJjZU1hcHBp
bmcudWlTb3VyY2VDb2RlTGlzdCgpLmxlbmd0aCk7CiAgICAgICAgICAgICB2YXIgdWlTb3VyY2VD
b2RlID0gc291cmNlTWFwcGluZy51aVNvdXJjZUNvZGVMaXN0KClbMF07CiAgICAgICAgICAgICBj
aGVja1VJTG9jYXRpb24odWlTb3VyY2VDb2RlLCAxLCAyLCBzb3VyY2VNYXBwaW5nLnJhd0xvY2F0
aW9uVG9VSUxvY2F0aW9uKGNyZWF0ZVJhd0xvY2F0aW9uKDEsIDIpKSk7Ci0gICAgICAgICAgICBj
aGVja1Jhd0xvY2F0aW9uKHNjcmlwdCwgMiwgMCwgc291cmNlTWFwcGluZy51aUxvY2F0aW9uVG9S
YXdMb2NhdGlvbih1aVNvdXJjZUNvZGUsIDIpKTsKKyAgICAgICAgICAgIGNoZWNrUmF3TG9jYXRp
b24oc2NyaXB0LCAyLCAwLCBzb3VyY2VNYXBwaW5nLnVpTG9jYXRpb25Ub1Jhd0xvY2F0aW9uKHVp
U291cmNlQ29kZSwgMiwgMCkpOwogICAgICAgICAgICAgdWlTb3VyY2VDb2RlLnJlcXVlc3RDb250
ZW50KGRpZFJlcXVlc3RDb250ZW50KTsKIAogICAgICAgICAgICAgZnVuY3Rpb24gZGlkUmVxdWVz
dENvbnRlbnQobWltZVR5cGUsIGNvbnRlbnQpCkBAIC0yODMsNyArMjgzLDcgQEAgZnVuY3Rpb24g
dGVzdCgpCiAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRFcXVhbHMoMSwgc291
cmNlTWFwcGluZy51aVNvdXJjZUNvZGVMaXN0KCkubGVuZ3RoKTsKICAgICAgICAgICAgICAgICB2
YXIgdWlTb3VyY2VDb2RlID0gc291cmNlTWFwcGluZy51aVNvdXJjZUNvZGVMaXN0KClbMF07CiAg
ICAgICAgICAgICAgICAgY2hlY2tVSUxvY2F0aW9uKHVpU291cmNlQ29kZSwgMiwgNCwgc291cmNl
TWFwcGluZy5yYXdMb2NhdGlvblRvVUlMb2NhdGlvbihjcmVhdGVSYXdMb2NhdGlvbigxLCAyKSkp
OwotICAgICAgICAgICAgICAgIGNoZWNrUmF3TG9jYXRpb24oc2NyaXB0LCAxLCAwLCBzb3VyY2VN
YXBwaW5nLnVpTG9jYXRpb25Ub1Jhd0xvY2F0aW9uKHVpU291cmNlQ29kZSwgMikpOworICAgICAg
ICAgICAgICAgIGNoZWNrUmF3TG9jYXRpb24oc2NyaXB0LCAxLCAwLCBzb3VyY2VNYXBwaW5nLnVp
TG9jYXRpb25Ub1Jhd0xvY2F0aW9uKHVpU291cmNlQ29kZSwgMiwgMCkpOwogICAgICAgICAgICAg
ICAgIHVpU291cmNlQ29kZS5yZXF1ZXN0Q29udGVudChkaWRSZXF1ZXN0Rm9ybWF0dGVkQ29udGVu
dCk7CiAgICAgICAgICAgICB9CiAKQEAgLTMwMiw3ICszMDIsNyBAQCBmdW5jdGlvbiB0ZXN0KCkK
ICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydEVxdWFscygxLCBzb3VyY2VNYXBw
aW5nLnVpU291cmNlQ29kZUxpc3QoKS5sZW5ndGgpOwogICAgICAgICAgICAgICAgIHZhciB1aVNv
dXJjZUNvZGUgPSBzb3VyY2VNYXBwaW5nLnVpU291cmNlQ29kZUxpc3QoKVswXTsKICAgICAgICAg
ICAgICAgICBjaGVja1VJTG9jYXRpb24odWlTb3VyY2VDb2RlLCAxLCAyLCBzb3VyY2VNYXBwaW5n
LnJhd0xvY2F0aW9uVG9VSUxvY2F0aW9uKGNyZWF0ZVJhd0xvY2F0aW9uKDEsIDIpKSk7Ci0gICAg
ICAgICAgICAgICAgY2hlY2tSYXdMb2NhdGlvbihzY3JpcHQsIDIsIDAsIHNvdXJjZU1hcHBpbmcu
dWlMb2NhdGlvblRvUmF3TG9jYXRpb24odWlTb3VyY2VDb2RlLCAyKSk7CisgICAgICAgICAgICAg
ICAgY2hlY2tSYXdMb2NhdGlvbihzY3JpcHQsIDIsIDAsIHNvdXJjZU1hcHBpbmcudWlMb2NhdGlv
blRvUmF3TG9jYXRpb24odWlTb3VyY2VDb2RlLCAyLCAwKSk7CiAgICAgICAgICAgICAgICAgdWlT
b3VyY2VDb2RlLnJlcXVlc3RDb250ZW50KGRpZFJlcXVlc3ROb3RGb3JtYXR0ZWRDb250ZW50KTsK
ICAgICAgICAgICAgIH0KIApAQCAtMzMyLDcgKzMzMiw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogICAg
ICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0RXF1YWxzKDEsIHNvdXJjZU1hcHBpbmcu
dWlTb3VyY2VDb2RlTGlzdCgpLmxlbmd0aCk7CiAgICAgICAgICAgICAgICAgdmFyIHVpU291cmNl
Q29kZSA9IHNvdXJjZU1hcHBpbmcudWlTb3VyY2VDb2RlTGlzdCgpWzBdOwogICAgICAgICAgICAg
ICAgIGNoZWNrVUlMb2NhdGlvbih1aVNvdXJjZUNvZGUsIDIsIDQsIHNvdXJjZU1hcHBpbmcucmF3
TG9jYXRpb25Ub1VJTG9jYXRpb24oY3JlYXRlUmF3TG9jYXRpb24oMSwgMikpKTsKLSAgICAgICAg
ICAgICAgICBjaGVja1Jhd0xvY2F0aW9uKHNjcmlwdCwgMSwgMCwgc291cmNlTWFwcGluZy51aUxv
Y2F0aW9uVG9SYXdMb2NhdGlvbih1aVNvdXJjZUNvZGUsIDIpKTsKKyAgICAgICAgICAgICAgICBj
aGVja1Jhd0xvY2F0aW9uKHNjcmlwdCwgMSwgMCwgc291cmNlTWFwcGluZy51aUxvY2F0aW9uVG9S
YXdMb2NhdGlvbih1aVNvdXJjZUNvZGUsIDIsIDApKTsKICAgICAgICAgICAgICAgICBuZXh0KCk7
CiAgICAgICAgICAgICB9CiAgICAgICAgIH0sCkBAIC0zODEsOCArMzgxLDggQEAgZnVuY3Rpb24g
dGVzdCgpCiAgICAgICAgICAgICAgICAgICAgIHVpU291cmNlQ29kZUJ5VVJMW3VpU291cmNlQ29k
ZUxpc3RbaV0udXJsXSA9IHVpU291cmNlQ29kZUxpc3RbaV07CiAgICAgICAgICAgICAgICAgY2hl
Y2tVSUxvY2F0aW9uKHVpU291cmNlQ29kZUJ5VVJMWyJzb3VyY2UxLmpzIl0sIDIsIDQsIHNvdXJj
ZU1hcHBpbmcucmF3TG9jYXRpb25Ub1VJTG9jYXRpb24oY3JlYXRlUmF3TG9jYXRpb24oMSwgMikp
KTsKICAgICAgICAgICAgICAgICBjaGVja1VJTG9jYXRpb24odWlTb3VyY2VDb2RlQnlVUkxbInNv
dXJjZTIuanMiXSwgMTAsIDQwLCBzb3VyY2VNYXBwaW5nLnJhd0xvY2F0aW9uVG9VSUxvY2F0aW9u
KGNyZWF0ZVJhd0xvY2F0aW9uKDE1LCAyMCkpKTsKLSAgICAgICAgICAgICAgICBjaGVja1Jhd0xv
Y2F0aW9uKHNjcmlwdCwgMSwgMCwgc291cmNlTWFwcGluZy51aUxvY2F0aW9uVG9SYXdMb2NhdGlv
bih1aVNvdXJjZUNvZGVCeVVSTFsic291cmNlMS5qcyJdLCAyKSk7Ci0gICAgICAgICAgICAgICAg
Y2hlY2tSYXdMb2NhdGlvbihzY3JpcHQsIDE1LCAwLCBzb3VyY2VNYXBwaW5nLnVpTG9jYXRpb25U
b1Jhd0xvY2F0aW9uKHVpU291cmNlQ29kZUJ5VVJMWyJzb3VyY2UyLmpzIl0sIDEwKSk7CisgICAg
ICAgICAgICAgICAgY2hlY2tSYXdMb2NhdGlvbihzY3JpcHQsIDEsIDAsIHNvdXJjZU1hcHBpbmcu
dWlMb2NhdGlvblRvUmF3TG9jYXRpb24odWlTb3VyY2VDb2RlQnlVUkxbInNvdXJjZTEuanMiXSwg
MiwgMCkpOworICAgICAgICAgICAgICAgIGNoZWNrUmF3TG9jYXRpb24oc2NyaXB0LCAxNSwgMCwg
c291cmNlTWFwcGluZy51aUxvY2F0aW9uVG9SYXdMb2NhdGlvbih1aVNvdXJjZUNvZGVCeVVSTFsi
c291cmNlMi5qcyJdLCAxMCwgMCkpOwogCiAgICAgICAgICAgICAgICAgdWlTb3VyY2VDb2RlTGlz
dFswXS5yZXF1ZXN0Q29udGVudChkaWRSZXF1ZXN0Q29udGVudDEpOwogICAgICAgICAgICAgfQo=
</data>
<flag name="review"
          id="109665"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
          </attachment>
      

    </bug>

</bugzilla>