<?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>113488</bug_id>
          
          <creation_ts>2013-03-28 01:24:26 -0700</creation_ts>
          <short_desc>Web Inspector: ResourceScriptFile should check if resource content really matches VM script when determining hasDiverged state.</short_desc>
          <delta_ts>2013-03-28 06:04:46 -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>
          <dependson>113489</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Vsevolod Vlasov">vsevik</reporter>
          <assigned_to name="Vsevolod Vlasov">vsevik</assigned_to>
          <cc>apavlov</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>vsevik</cc>
    
    <cc>web-inspector-bugs</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>865237</commentid>
    <comment_count>0</comment_count>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2013-03-28 01:24:26 -0700</bug_when>
    <thetext>Files loaded from file system could have been updated after the script was loaded to VM.
We should always compare these contents to determine whether certain file has diverged from VM script.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>865327</commentid>
    <comment_count>1</comment_count>
      <attachid>195528</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2013-03-28 04:23:59 -0700</bug_when>
    <thetext>Created attachment 195528
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>865332</commentid>
    <comment_count>2</comment_count>
      <attachid>195531</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2013-03-28 04:33:09 -0700</bug_when>
    <thetext>Created attachment 195531
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>865415</commentid>
    <comment_count>3</comment_count>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2013-03-28 06:04:46 -0700</bug_when>
    <thetext>Committed r147102: &lt;http://trac.webkit.org/changeset/147102&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>195528</attachid>
            <date>2013-03-28 04:23:59 -0700</date>
            <delta_ts>2013-03-28 04:33:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-113488-20130328152357.patch</filename>
            <type>text/plain</type>
            <size>20866</size>
            <attacher name="Vsevolod Vlasov">vsevik</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ3MDcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjVhNjc4N2QwODJkYzgy
ZjkyZjBiZTZhMjdjYjYyNmVlYzdjZTE3Yi4uMDAzOGQ1NDg3NjJhOWRlYjMwODdmYjAwNTEyOWUz
MmNlMzViNzE3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDMzIEBACiAyMDEzLTAzLTI4ICBWc2V2
b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3JnPgogCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IFJlc291cmNlU2NyaXB0RmlsZSBzaG91bGQgY2hlY2sgaWYgcmVzb3VyY2UgY29udGVudCBy
ZWFsbHkgbWF0Y2hlcyBWTSBzY3JpcHQgd2hlbiBkZXRlcm1pbmluZyBoYXNEaXZlcmdlZCBzdGF0
ZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMzQ4
OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEVuYWJs
ZWQgc3VwcG9ydCBmb3IgY2hlY2tpbmcgdGhhdCBmaWxlIGNvbnRlbnQgbWF0Y2hlcyBWTSBzY3Jp
cHQgaW4gUmVzb3VyY2VTY3JpcHRGaWxlIChGb3Igc2NyaXB0IHJlc291cmNlcyBvbmx5KS4KKyAg
ICAgICAgVGhpcyBjaGVjayBpcyBuZXZlciBkb25lIGJlZm9yZSBjb250ZW50IGlzIGxvYWRlZCBp
biBjb3JyZXNwb25kaW5nIGVkaXRvciB0byBhdm9pZCByZWdyZXNzaW5nIHBlcmZvcm1hbmNlLgor
CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9KYXZhU2NyaXB0U291cmNlRnJhbWUuanM6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuSmF2YVNjcmlwdFNvdXJjZUZyYW1lLnByb3RvdHlwZS5f
dXBkYXRlU2NyaXB0RmlsZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuSmF2YVNjcmlwdFNvdXJj
ZUZyYW1lLnByb3RvdHlwZS5vblRleHRFZGl0b3JDb250ZW50TG9hZGVkKToKKyAgICAgICAgKiBp
bnNwZWN0b3IvZnJvbnQtZW5kL0xpdmVFZGl0U3VwcG9ydC5qczoKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5MaXZlRWRpdFNjcmlwdEZpbGUucHJvdG90eXBlLmNoZWNrTWFwcGluZyk6CisgICAgICAg
ICogaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZVNjcmlwdE1hcHBpbmcuanM6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuUmVzb3VyY2VTY3JpcHRNYXBwaW5nLnByb3RvdHlwZS5fYmluZFVJU291
cmNlQ29kZVRvU2NyaXB0cyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2NyaXB0RmlsZS5wcm90
b3R5cGUuY2hlY2tNYXBwaW5nKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5SZXNvdXJjZVNjcmlw
dEZpbGUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlJlc291cmNlU2NyaXB0RmlsZS5wcm90b3R5
cGUuX3dvcmtpbmdDb3B5Q29tbWl0dGVkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5SZXNvdXJj
ZVNjcmlwdEZpbGUucHJvdG90eXBlLl9pc0RpdmVyZ2VkKToKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5SZXNvdXJjZVNjcmlwdEZpbGUucHJvdG90eXBlLl9zb3VyY2VNYXRjaGVzU2NyaXB0U291cmNl
KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5SZXNvdXJjZVNjcmlwdEZpbGUucHJvdG90eXBlLl9z
b3VyY2VFbmRzV2l0aFNvdXJjZVVSTCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUmVzb3VyY2VT
Y3JpcHRGaWxlLnByb3RvdHlwZS5jaGVja01hcHBpbmcuY2FsbGJhY2spOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLlJlc291cmNlU2NyaXB0RmlsZS5wcm90b3R5cGUuY2hlY2tNYXBwaW5nKToKKyAg
ICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdFNuaXBwZXRNb2RlbC5qczoKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5TbmlwcGV0U2NyaXB0RmlsZS5wcm90b3R5cGUuY2hlY2tNYXBwaW5n
KToKKworMjAxMy0wMy0yOCAgVnNldm9sb2QgVmxhc292ICA8dnNldmlrQGNocm9taXVtLm9yZz4K
KwogICAgICAgICBXZWIgSW5zcGVjdG9yOiBTaW1wbGlmeSBSZXNvdXJjZVNjcmlwdEZpbGUgc28g
dGhhdCBpdCBzdG9yZXMgaGFzRGl2ZXJnZWQgc3RhdGUgaW4gaXQuCiAgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTM0ODkKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9KYXZhU2NyaXB0U291cmNlRnJhbWUuanMg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0phdmFTY3JpcHRTb3VyY2VGcmFt
ZS5qcwppbmRleCBjYTQwZWUwZDRkNjI4ZmU4NjI4NjdlODJiNDc2MjRkYjcxMjM2MDBmLi4zMzZl
OTI3M2Q4NmY0OWFkZDZiZjE5YTI0MGRhYmI5MmM1NjdiNmE5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0phdmFTY3JpcHRTb3VyY2VGcmFtZS5qcworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0phdmFTY3JpcHRTb3VyY2VGcmFt
ZS5qcwpAQCAtNDkxLDYgKzQ5MSw5IEBAIFdlYkluc3BlY3Rvci5KYXZhU2NyaXB0U291cmNlRnJh
bWUucHJvdG90eXBlID0gewogICAgICAgICBpZiAodGhpcy5fc2NyaXB0RmlsZSkgewogICAgICAg
ICAgICAgdGhpcy5fc2NyaXB0RmlsZS5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5TY3Jp
cHRGaWxlLkV2ZW50cy5EaWRNZXJnZVRvVk0sIHRoaXMuX2RpZE1lcmdlVG9WTSwgdGhpcyk7CiAg
ICAgICAgICAgICB0aGlzLl9zY3JpcHRGaWxlLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9y
LlNjcmlwdEZpbGUuRXZlbnRzLkRpZERpdmVyZ2VGcm9tVk0sIHRoaXMuX2RpZERpdmVyZ2VGcm9t
Vk0sIHRoaXMpOworICAgIAorICAgICAgICAgICAgaWYgKHRoaXMubG9hZGVkKQorICAgICAgICAg
ICAgICAgIHRoaXMuX3NjcmlwdEZpbGUuY2hlY2tNYXBwaW5nKCk7CiAgICAgICAgIH0KICAgICB9
LAogCkBAIC01MDgsNiArNTExLDkgQEAgV2ViSW5zcGVjdG9yLkphdmFTY3JpcHRTb3VyY2VGcmFt
ZS5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICB2YXIgbWVzc2FnZSA9IG1lc3NhZ2VzW2ldOwog
ICAgICAgICAgICAgdGhpcy5hZGRNZXNzYWdlVG9Tb3VyY2UobWVzc2FnZS5saW5lTnVtYmVyLCBt
ZXNzYWdlLm9yaWdpbmFsTWVzc2FnZSk7CiAgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIGlm
ICh0aGlzLl9zY3JpcHRGaWxlKQorICAgICAgICAgICAgdGhpcy5fc2NyaXB0RmlsZS5jaGVja01h
cHBpbmcoKTsKICAgICB9LAogCiAgICAgLyoqCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL0xpdmVFZGl0U3VwcG9ydC5qcyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvTGl2ZUVkaXRTdXBwb3J0LmpzCmluZGV4IDZiZDY4YzBhOTc4NzAx
YTRlNDAyZjRhZmQzZGUwMjczODRmYWIwYjUuLmFjZTA5NGVlOTc0ZjkzYjljODliOTc3MmI5ZWI4
NDM1ZTg0ZGEzYTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvTGl2ZUVkaXRTdXBwb3J0LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvTGl2ZUVkaXRTdXBwb3J0LmpzCkBAIC0xMzQsNiArMTM0LDEwIEBAIFdlYkluc3BlY3Rv
ci5MaXZlRWRpdFNjcmlwdEZpbGUucHJvdG90eXBlID0gewogICAgICAgICByZXR1cm4gZmFsc2U7
CiAgICAgfSwKIAorICAgIGNoZWNrTWFwcGluZzogZnVuY3Rpb24oKQorICAgIHsKKyAgICB9LAor
CiAgICAgX19wcm90b19fOiBXZWJJbnNwZWN0b3IuT2JqZWN0LnByb3RvdHlwZQogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlU2NyaXB0
TWFwcGluZy5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2VT
Y3JpcHRNYXBwaW5nLmpzCmluZGV4IDY0OTc3YTExZGM5NzdlOGE0NzIxY2YxYmE1YTllOWM2Mjll
MzgzYjguLjZlZmY5ZDRhZjNmNjVlNTk0NzlmZjE4ZGE2NmQ3ZGE3NTNlZWExMjggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2VTY3JpcHRNYXBw
aW5nLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2VT
Y3JpcHRNYXBwaW5nLmpzCkBAIC0xODIsNyArMTgyLDcgQEAgV2ViSW5zcGVjdG9yLlJlc291cmNl
U2NyaXB0TWFwcGluZy5wcm90b3R5cGUgPSB7CiAgICAgX2JpbmRVSVNvdXJjZUNvZGVUb1Njcmlw
dHM6IGZ1bmN0aW9uKHVpU291cmNlQ29kZSwgc2NyaXB0cykKICAgICB7CiAgICAgICAgIGNvbnNv
bGUuYXNzZXJ0KHNjcmlwdHMubGVuZ3RoKTsKLSAgICAgICAgdmFyIHNjcmlwdEZpbGUgPSBuZXcg
V2ViSW5zcGVjdG9yLlJlc291cmNlU2NyaXB0RmlsZSh0aGlzLCB1aVNvdXJjZUNvZGUpOworICAg
ICAgICB2YXIgc2NyaXB0RmlsZSA9IG5ldyBXZWJJbnNwZWN0b3IuUmVzb3VyY2VTY3JpcHRGaWxl
KHRoaXMsIHVpU291cmNlQ29kZSwgc2NyaXB0cyk7CiAgICAgICAgIHVpU291cmNlQ29kZS5zZXRT
Y3JpcHRGaWxlKHNjcmlwdEZpbGUpOwogICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHNjcmlw
dHMubGVuZ3RoOyArK2kpCiAgICAgICAgICAgICBzY3JpcHRzW2ldLnVwZGF0ZUxvY2F0aW9ucygp
OwpAQCAtMjYyLDYgKzI2Miw4IEBAIFdlYkluc3BlY3Rvci5TY3JpcHRGaWxlLnByb3RvdHlwZSA9
IHsKICAgICAgKiBAcmV0dXJuIHtib29sZWFufQogICAgICAqLwogICAgIGlzTWVyZ2luZ1RvVk06
IGZ1bmN0aW9uKCkgeyByZXR1cm4gZmFsc2U7IH0sCisKKyAgICBjaGVja01hcHBpbmc6IGZ1bmN0
aW9uKCkgeyB9LAogfQogCiAvKioKQEAgLTI3MSwxMiArMjczLDE3IEBAIFdlYkluc3BlY3Rvci5T
Y3JpcHRGaWxlLnByb3RvdHlwZSA9IHsKICAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLlJlc291cmNl
U2NyaXB0TWFwcGluZ30gcmVzb3VyY2VTY3JpcHRNYXBwaW5nCiAgKiBAcGFyYW0ge1dlYkluc3Bl
Y3Rvci5VSVNvdXJjZUNvZGV9IHVpU291cmNlQ29kZQogICovCi1XZWJJbnNwZWN0b3IuUmVzb3Vy
Y2VTY3JpcHRGaWxlID0gZnVuY3Rpb24ocmVzb3VyY2VTY3JpcHRNYXBwaW5nLCB1aVNvdXJjZUNv
ZGUpCitXZWJJbnNwZWN0b3IuUmVzb3VyY2VTY3JpcHRGaWxlID0gZnVuY3Rpb24ocmVzb3VyY2VT
Y3JpcHRNYXBwaW5nLCB1aVNvdXJjZUNvZGUsIHNjcmlwdHMpCiB7CisgICAgY29uc29sZS5hc3Nl
cnQoc2NyaXB0cy5sZW5ndGgpOworCiAgICAgV2ViSW5zcGVjdG9yLlNjcmlwdEZpbGUuY2FsbCh0
aGlzKTsKICAgICB0aGlzLl9yZXNvdXJjZVNjcmlwdE1hcHBpbmcgPSByZXNvdXJjZVNjcmlwdE1h
cHBpbmc7CiAgICAgdGhpcy5fdWlTb3VyY2VDb2RlID0gdWlTb3VyY2VDb2RlOwogCisgICAgaWYg
KHRoaXMuX3VpU291cmNlQ29kZS5jb250ZW50VHlwZSgpID09PSBXZWJJbnNwZWN0b3IucmVzb3Vy
Y2VUeXBlcy5TY3JpcHQpCisgICAgICAgIHRoaXMuX3NjcmlwdCA9IHNjcmlwdHNbMF07CisKICAg
ICB0aGlzLl91aVNvdXJjZUNvZGUuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuVUlTb3Vy
Y2VDb2RlLkV2ZW50cy5Xb3JraW5nQ29weUNvbW1pdHRlZCwgdGhpcy5fd29ya2luZ0NvcHlDb21t
aXR0ZWQsIHRoaXMpOwogICAgIHRoaXMuX3VpU291cmNlQ29kZS5hZGRFdmVudExpc3RlbmVyKFdl
Ykluc3BlY3Rvci5VSVNvdXJjZUNvZGUuRXZlbnRzLldvcmtpbmdDb3B5Q2hhbmdlZCwgdGhpcy5f
d29ya2luZ0NvcHlDaGFuZ2VkLCB0aGlzKTsKICAgICB0aGlzLl91cGRhdGUoKTsKQEAgLTI5MSwy
OSArMjk4LDYxIEBAIFdlYkluc3BlY3Rvci5SZXNvdXJjZVNjcmlwdEZpbGUucHJvdG90eXBlID0g
ewogICAgICAgICBmdW5jdGlvbiBpbm5lckNhbGxiYWNrKGVycm9yKQogICAgICAgICB7CiAgICAg
ICAgICAgICBpZiAoZXJyb3IpIHsKLSAgICAgICAgICAgICAgICB0aGlzLl9sYXN0TGl2ZUVkaXRG
YWlsZWQgPSB0cnVlOworICAgICAgICAgICAgICAgIHRoaXMuX3VwZGF0ZSgpOwogICAgICAgICAg
ICAgICAgIFdlYkluc3BlY3Rvci5zaG93RXJyb3JNZXNzYWdlKGVycm9yKTsKICAgICAgICAgICAg
ICAgICByZXR1cm47CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIGRl
bGV0ZSB0aGlzLl9sYXN0TGl2ZUVkaXRGYWlsZWQ7Ci0gICAgICAgICAgICB0aGlzLl9tZXJnZVRv
Vk0oKTsKKworICAgICAgICAgICAgdGhpcy5fc2NyaXB0U291cmNlID0gc291cmNlOworICAgICAg
ICAgICAgdGhpcy5fdXBkYXRlKCk7CiAgICAgICAgIH0KLSAgICAgICAgCi0gICAgICAgIHZhciBy
YXdMb2NhdGlvbiA9IC8qKiBAdHlwZSB7V2ViSW5zcGVjdG9yLkRlYnVnZ2VyTW9kZWwuTG9jYXRp
b259ICovICh0aGlzLl91aVNvdXJjZUNvZGUudWlMb2NhdGlvblRvUmF3TG9jYXRpb24oMCwgMCkp
OwotICAgICAgICBpZiAoIXJhd0xvY2F0aW9uKQorICAgICAgICBpZiAoIXRoaXMuX3NjcmlwdCkK
ICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgdmFyIHNjcmlwdCA9IFdlYkluc3BlY3Rvci5k
ZWJ1Z2dlck1vZGVsLnNjcmlwdEZvcklkKHJhd0xvY2F0aW9uLnNjcmlwdElkKTsKLSAgICAgICAg
V2ViSW5zcGVjdG9yLmRlYnVnZ2VyTW9kZWwuc2V0U2NyaXB0U291cmNlKHNjcmlwdC5zY3JpcHRJ
ZCwgdGhpcy5fdWlTb3VyY2VDb2RlLndvcmtpbmdDb3B5KCksIGlubmVyQ2FsbGJhY2suYmluZCh0
aGlzKSk7CisgICAgICAgIHZhciBzb3VyY2UgPSB0aGlzLl91aVNvdXJjZUNvZGUud29ya2luZ0Nv
cHkoKTsKKyAgICAgICAgaWYgKHRoaXMuX3NjcmlwdC5oYXNTb3VyY2VVUkwgJiYgIXRoaXMuX3Nv
dXJjZUVuZHNXaXRoU291cmNlVVJMKHNvdXJjZSkpCisgICAgICAgICAgICBzb3VyY2UgKz0gIlxu
IC8vQCBzb3VyY2VVUkw9IiArIHRoaXMuX3NjcmlwdC5zb3VyY2VVUkw7CisgICAgICAgIFdlYklu
c3BlY3Rvci5kZWJ1Z2dlck1vZGVsLnNldFNjcmlwdFNvdXJjZSh0aGlzLl9zY3JpcHQuc2NyaXB0
SWQsIHNvdXJjZSwgaW5uZXJDYWxsYmFjay5iaW5kKHRoaXMpKTsKICAgICB9LAogCisgICAgLyoq
CisgICAgICogQHJldHVybiB7Ym9vbGVhbn0KKyAgICAgKi8KICAgICBfaXNEaXZlcmdlZDogZnVu
Y3Rpb24oKQogICAgIHsKICAgICAgICAgaWYgKHRoaXMuX3VpU291cmNlQ29kZS5pc0RpcnR5KCkp
CiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgcmV0dXJuIHRoaXMuX2xhc3RMaXZl
RWRpdEZhaWxlZDsKKyAgICAgICAgaWYgKCF0aGlzLl9zY3JpcHQpCisgICAgICAgICAgICByZXR1
cm4gZmFsc2U7CisgICAgICAgIGlmICh0eXBlb2YgdGhpcy5fc2NyaXB0U291cmNlID09PSAidW5k
ZWZpbmVkIikKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgcmV0dXJuICF0aGlz
Ll9zb3VyY2VNYXRjaGVzU2NyaXB0U291cmNlKHRoaXMuX3VpU291cmNlQ29kZS53b3JraW5nQ29w
eSgpLCB0aGlzLl9zY3JpcHRTb3VyY2UpOwogICAgIH0sCiAKKyAgICAvKioKKyAgICAgKiBAcGFy
YW0ge3N0cmluZ30gc291cmNlCisgICAgICogQHBhcmFtIHtzdHJpbmd9IHNjcmlwdFNvdXJjZQor
ICAgICAqIEByZXR1cm4ge2Jvb2xlYW59CisgICAgICovCisgICAgX3NvdXJjZU1hdGNoZXNTY3Jp
cHRTb3VyY2U6IGZ1bmN0aW9uKHNvdXJjZSwgc2NyaXB0U291cmNlKQorICAgIHsKKyAgICAgICAg
aWYgKCFzY3JpcHRTb3VyY2Uuc3RhcnRzV2l0aChzb3VyY2UpKQorICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOworICAgICAgICB2YXIgc2NyaXB0U291cmNlVGFpbCA9IHNjcmlwdFNvdXJjZS5zdWJz
dHIoc291cmNlLmxlbmd0aCkudHJpbSgpOworICAgICAgICByZXR1cm4gIXNjcmlwdFNvdXJjZVRh
aWwgfHwgc2NyaXB0U291cmNlVGFpbC5tYXRjaCgvXlwvXC9AXHNzb3VyY2VVUkw9XHMqKFxTKj8p
XHMqJC9tKTsKKyAgICB9LAorCisgICAgLyoqCisgICAgICogQHBhcmFtIHtzdHJpbmd9IHNvdXJj
ZQorICAgICAqIEByZXR1cm4ge2Jvb2xlYW59CisgICAgICovCisgICAgX3NvdXJjZUVuZHNXaXRo
U291cmNlVVJMOiBmdW5jdGlvbihzb3VyY2UpCisgICAgeworICAgICAgICByZXR1cm4gISFzb3Vy
Y2UubWF0Y2goL1wvXC9AXHNzb3VyY2VVUkw9XHMqKFxTKj8pXHMqJC9tKTsKKyAgICB9LAorCisg
ICAgLyoqCisgICAgICogQHBhcmFtIHtXZWJJbnNwZWN0b3IuRXZlbnR9IGV2ZW50CisgICAgICov
CiAgICAgX3dvcmtpbmdDb3B5Q2hhbmdlZDogZnVuY3Rpb24oZXZlbnQpCiAgICAgewogICAgICAg
ICB0aGlzLl91cGRhdGUoKTsKQEAgLTM2OSw2ICs0MDgsMjYgQEAgV2ViSW5zcGVjdG9yLlJlc291
cmNlU2NyaXB0RmlsZS5wcm90b3R5cGUgPSB7CiAgICAgICAgIHJldHVybiB0aGlzLl9pc01lcmdp
bmdUb1ZNOwogICAgIH0sCiAKKyAgICBjaGVja01hcHBpbmc6IGZ1bmN0aW9uKCkKKyAgICB7Cisg
ICAgICAgIGlmICghdGhpcy5fc2NyaXB0KQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICBp
ZiAodHlwZW9mIHRoaXMuX3NjcmlwdFNvdXJjZSAhPT0gInVuZGVmaW5lZCIpCisgICAgICAgICAg
ICByZXR1cm47CisgICAgICAgIHRoaXMuX3NjcmlwdC5yZXF1ZXN0Q29udGVudChjYWxsYmFjay5i
aW5kKHRoaXMpKTsKKworICAgICAgICAvKioKKyAgICAgICAgICogQHBhcmFtIHs/c3RyaW5nfSBz
b3VyY2UKKyAgICAgICAgICogQHBhcmFtIHtib29sZWFufSBlbmNvZGVkCisgICAgICAgICAqIEBw
YXJhbSB7c3RyaW5nfSBjb250ZW50VHlwZQorICAgICAgICAgKi8KKyAgICAgICAgZnVuY3Rpb24g
Y2FsbGJhY2soc291cmNlLCBlbmNvZGVkLCBjb250ZW50VHlwZSkKKyAgICAgICAgeworICAgICAg
ICAgICAgdGhpcy5fc2NyaXB0U291cmNlID0gc291cmNlOworICAgICAgICAgICAgdGhpcy5fdXBk
YXRlKCk7CisgICAgICAgIH0KKyAgICB9LAorCiAgICAgZGlzcG9zZTogZnVuY3Rpb24oKQogICAg
IHsKICAgICAgICAgdGhpcy5fdWlTb3VyY2VDb2RlLnJlbW92ZUV2ZW50TGlzdGVuZXIoV2ViSW5z
cGVjdG9yLlVJU291cmNlQ29kZS5FdmVudHMuV29ya2luZ0NvcHlDb21taXR0ZWQsIHRoaXMuX3dv
cmtpbmdDb3B5Q29tbWl0dGVkLCB0aGlzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0U25pcHBldE1vZGVsLmpzIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRTbmlwcGV0TW9kZWwuanMKaW5kZXggNGFkN2VlMjFm
ODU4NDEzNDM5MGYwZGViMjc3NDg1YTVhZmE0ZTkyYy4uZDQ1MDIwMDIxODhkYjQyMWY4MGQyNWYw
YTIxZDA5ZWE5Yjg5NjAyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9TY3JpcHRTbmlwcGV0TW9kZWwuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9TY3JpcHRTbmlwcGV0TW9kZWwuanMKQEAgLTQzMyw2ICs0MzMsMTAgQEAg
V2ViSW5zcGVjdG9yLlNuaXBwZXRTY3JpcHRGaWxlLnByb3RvdHlwZSA9IHsKICAgICAgICAgcmV0
dXJuIHRoaXMuX2lzRGl2ZXJnaW5nRnJvbVZNOwogICAgIH0sCiAKKyAgICBjaGVja01hcHBpbmc6
IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgfSwKKwogICAgIC8qKgogICAgICAqIEByZXR1cm4ge2Jv
b2xlYW59CiAgICAgICovCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYmEyMzU5MWQzZDVjZjUzYzg5NTE2MWQ2ODNkYjk5MjBk
ZjBiNDA3Zi4uZDU4MWYwOGFiODVjNDdlNmE0ZmU3ZWE2OTI3NTUwODI5N2Q0ZjhiNCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE0IEBACisyMDEzLTAzLTI4ICBWc2V2b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hy
b21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IFJlc291cmNlU2NyaXB0RmlsZSBz
aG91bGQgY2hlY2sgaWYgcmVzb3VyY2UgY29udGVudCByZWFsbHkgbWF0Y2hlcyBWTSBzY3JpcHQg
d2hlbiBkZXRlcm1pbmluZyBoYXNEaXZlcmdlZCBzdGF0ZS4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMzQ4OAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaHR0cC90ZXN0cy9pbnNwZWN0b3IvZGVidWdn
ZXItdGVzdC5qczoKKyAgICAgICAgKiBpbnNwZWN0b3IvZGVidWdnZXIvZmlsZS1zeXN0ZW0tcHJv
amVjdC1tYXBwaW5nLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBpbnNwZWN0b3IvZGVidWdnZXIv
ZmlsZS1zeXN0ZW0tcHJvamVjdC1tYXBwaW5nLmh0bWw6CisKIDIwMTMtMDMtMjcgIFNoaW55YSBL
YXdhbmFrYSAgPHNoaW55YWtAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtDaHJvbWl1bV0gVW5y
ZXZpZXdlZCBnYXJkZW5pbmcuIFRlc3QgRXhwZWN0YXRpb25zIHVwZGF0ZS4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyLXRlc3QuanMgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci10ZXN0LmpzCmluZGV4IDg4ZjIw
NTUzNmEyNGRlOTExODA0NGVjN2RhNWI0MmQ0NWU5ZDNlZjEuLmU0Mzk3ZjYwNmM1OWYyYjYxNmFk
YWI0ODY3ZjViMjg3NmQxMmUyMjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
aW5zcGVjdG9yL2RlYnVnZ2VyLXRlc3QuanMKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9p
bnNwZWN0b3IvZGVidWdnZXItdGVzdC5qcwpAQCAtMjg0LDcgKzI4NCw4IEBAIEluc3BlY3RvclRl
c3QuY3JlYXRlU2NyaXB0TW9jayA9IGZ1bmN0aW9uKHVybCwgc3RhcnRMaW5lLCBzdGFydENvbHVt
biwgaXNDb250ZW50CiAgICAgdmFyIGxpbmVDb3VudCA9IHNvdXJjZS5saW5lRW5kaW5ncygpLmxl
bmd0aDsKICAgICB2YXIgZW5kTGluZSA9IHN0YXJ0TGluZSArIGxpbmVDb3VudCAtIDE7CiAgICAg
dmFyIGVuZENvbHVtbiA9IGxpbmVDb3VudCA9PT0gMSA/IHN0YXJ0Q29sdW1uICsgc291cmNlLmxl
bmd0aCA6IHNvdXJjZS5sZW5ndGggLSBzb3VyY2UubGluZUVuZGluZ3MoKVtsaW5lQ291bnQgLSAy
XTsKLSAgICB2YXIgc2NyaXB0ID0gbmV3IFdlYkluc3BlY3Rvci5TY3JpcHQoc2NyaXB0SWQsIHVy
bCwgc3RhcnRMaW5lLCBzdGFydENvbHVtbiwgZW5kTGluZSwgZW5kQ29sdW1uLCBpc0NvbnRlbnRT
Y3JpcHQpOworICAgIHZhciBoYXNTb3VyY2VVUkwgPSAhIXNvdXJjZS5tYXRjaCgvXC9cL0Bcc3Nv
dXJjZVVSTD1ccyooXFMqPylccyokL20pOworICAgIHZhciBzY3JpcHQgPSBuZXcgV2ViSW5zcGVj
dG9yLlNjcmlwdChzY3JpcHRJZCwgdXJsLCBzdGFydExpbmUsIHN0YXJ0Q29sdW1uLCBlbmRMaW5l
LCBlbmRDb2x1bW4sIGlzQ29udGVudFNjcmlwdCwgbnVsbCwgaGFzU291cmNlVVJMKTsKICAgICBz
Y3JpcHQucmVxdWVzdENvbnRlbnQgPSBmdW5jdGlvbihjYWxsYmFjaykgeyBjYWxsYmFjayhzb3Vy
Y2UsIGZhbHNlLCAidGV4dC9qYXZhc2NyaXB0Iik7IH07CiAgICAgV2ViSW5zcGVjdG9yLmRlYnVn
Z2VyTW9kZWwuX3JlZ2lzdGVyU2NyaXB0KHNjcmlwdCk7CiAgICAgcmV0dXJuIHNjcmlwdDsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9maWxlLXN5c3RlbS1wcm9q
ZWN0LW1hcHBpbmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2Vy
L2ZpbGUtc3lzdGVtLXByb2plY3QtbWFwcGluZy1leHBlY3RlZC50eHQKaW5kZXggMjU2MGViOTE2
YzliZTg3NjI5Y2RjNGUyODU1ZDAzZWZhZWRhNmIyNi4uNDA3ZDU2MGE2NWM0Y2JkNGIwMDFjOTY3
MDk2OWZkNWVjNDRmNGQ5ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVn
Z2VyL2ZpbGUtc3lzdGVtLXByb2plY3QtbWFwcGluZy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL2ZpbGUtc3lzdGVtLXByb2plY3QtbWFwcGluZy1leHBl
Y3RlZC50eHQKQEAgLTIwLDE0ICsyMCwzNSBAQCBVSVNvdXJjZUNvZGUgdXJpIHRvIHVybCBtYXBw
aW5nczoKIAogUnVubmluZzogdGVzdFNjcmlwdEZpbGVPblJlbG9hZFdpdGhEaXJ0eUZpbGUKIEFk
ZGluZyBmaWxlIHN5c3RlbS4KK0R1bXBpbmcgdWlTb3VyY2VDb2RlIGFuZCBzY3JpcHQgY29udGVu
dDoKKyAgICB1aVNvdXJjZUNvZGU6IDxmb28gY29udGVudD4KKyAgICBzY3JpcHQ6IDxmb28gY29u
dGVudD4KKyAgLy9AIHNvdXJjZVVSTD1odHRwOi8vbG9jYWxob3N0L2h0bWwvZm9vLmpzICAKKyAK
ICAtIGhhc0RpdmVyZ2VkRnJvbVZNOiBmYWxzZQogRWRpdGluZyB1aVNvdXJjZUNvZGU6CiAgLSBo
YXNEaXZlcmdlZEZyb21WTTogdHJ1ZQogQ29tbWl0dGluZyB1aVNvdXJjZUNvZGUgd2l0aCBsaXZl
IGVkaXQgZmFpbHVyZToKK0R1bXBpbmcgdWlTb3VyY2VDb2RlIGFuZCBzY3JpcHQgY29udGVudDoK
KyAgICB1aVNvdXJjZUNvZGU6IDxmb28gY29udGVudCBlZGl0ZWQ+CisgICAgc2NyaXB0OiA8Zm9v
IGNvbnRlbnQ+CisgIC8vQCBzb3VyY2VVUkw9aHR0cDovL2xvY2FsaG9zdC9odG1sL2Zvby5qcyAg
CisgCisgLSBoYXNEaXZlcmdlZEZyb21WTTogdHJ1ZQorUmVsb2FkaW5nIHdpdGggc2F2ZWQgYnV0
IGRpdmVyZ2VkIHVpU291cmNlQ29kZToKK0R1bXBpbmcgdWlTb3VyY2VDb2RlIGFuZCBzY3JpcHQg
Y29udGVudDoKKyAgICB1aVNvdXJjZUNvZGU6IDxmb28gY29udGVudCBlZGl0ZWQ+CisgICAgc2Ny
aXB0OiA8Zm9vIGNvbnRlbnQ+CisgIC8vQCBzb3VyY2VVUkw9aHR0cDovL2xvY2FsaG9zdC9odG1s
L2Zvby5qcyAgCisgCiAgLSBoYXNEaXZlcmdlZEZyb21WTTogdHJ1ZQogRWRpdGluZyB1aVNvdXJj
ZUNvZGUgYWdhaW46CiAgLSBoYXNEaXZlcmdlZEZyb21WTTogdHJ1ZQogQ29tbWl0dGluZyB1aVNv
dXJjZUNvZGUgYWdhaW4gKHdpdGggbGl2ZSBlZGl0IHN1Y2Nlc3Mgbm93KToKK0R1bXBpbmcgdWlT
b3VyY2VDb2RlIGFuZCBzY3JpcHQgY29udGVudDoKKyAgICB1aVNvdXJjZUNvZGU6IDxmb28gY29u
dGVudCBlZGl0ZWQgYWdhaW4+CisgICAgc2NyaXB0OiA8Zm9vIGNvbnRlbnQgZWRpdGVkIGFnYWlu
PgorIC8vQCBzb3VyY2VVUkw9aHR0cDovL2xvY2FsaG9zdC9odG1sL2Zvby5qcwogIC0gaGFzRGl2
ZXJnZWRGcm9tVk06IGZhbHNlCiBSZWxvYWRpbmcgcGFnZToKICAtIGhhc0RpdmVyZ2VkRnJvbVZN
OiBmYWxzZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL2ZpbGUt
c3lzdGVtLXByb2plY3QtbWFwcGluZy5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVn
Z2VyL2ZpbGUtc3lzdGVtLXByb2plY3QtbWFwcGluZy5odG1sCmluZGV4IGQwN2IyMGY4NjdkZTI1
YzMxNzI1OTA3MjNhZTlkMjNjODZjYmMwYzUuLjg0MDBiY2U2ODYyNjJhY2NlMWZkZDc2YzAzY2I2
OTI4ZjUyZGI4YTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9m
aWxlLXN5c3RlbS1wcm9qZWN0LW1hcHBpbmcuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvZGVidWdnZXIvZmlsZS1zeXN0ZW0tcHJvamVjdC1tYXBwaW5nLmh0bWwKQEAgLTkwLDEzICs5
MCwxNiBAQCBmdW5jdGlvbiB0ZXN0KCkKIAogICAgICAgICBmdW5jdGlvbiB0ZXN0U2NyaXB0Rmls
ZU9uUmVsb2FkV2l0aERpcnR5RmlsZShuZXh0KQogICAgICAgICB7CisgICAgICAgICAgICB2YXIg
b3JpZ2luYWxGaWxlQ29udGVudCA9ICI8Zm9vIGNvbnRlbnQ+IjsKKyAgICAgICAgICAgIHZhciBz
Y3JpcHRVUkwgPSAiaHR0cDovL2xvY2FsaG9zdC9odG1sL2Zvby5qcyI7CisgICAgICAgICAgICB2
YXIgc2NyaXB0Q29udGVudCA9IG9yaWdpbmFsRmlsZUNvbnRlbnQgKyAiXG4gIC8vQCBzb3VyY2VV
Ukw9IiArIHNjcmlwdFVSTCArICIgIFxuICI7CiAgICAgICAgICAgICBmdW5jdGlvbiB1aVNvdXJj
ZUNvZGVBZGRlZCh1aVNvdXJjZUNvZGUpIHsgfQogCiAgICAgICAgICAgICBmdW5jdGlvbiByZWxv
YWQoKQogICAgICAgICAgICAgewogICAgICAgICAgICAgICAgIHJlc291cmNlU2NyaXB0TWFwcGlu
Zy5fZGVidWdnZXJSZXNldCgpOwogICAgICAgICAgICAgICAgIGRlZmF1bHRTY3JpcHRNYXBwaW5n
Ll9kZWJ1Z2dlclJlc2V0KCk7Ci0gICAgICAgICAgICAgICAgc2NyaXB0ID0gSW5zcGVjdG9yVGVz
dC5jcmVhdGVTY3JpcHRNb2NrKCJodHRwOi8vbG9jYWxob3N0L2h0bWwvZm9vLmpzIiwgMCwgMCwg
ZmFsc2UsICI8Zm9vIGNvbnRlbnQ+Iik7CisgICAgICAgICAgICAgICAgc2NyaXB0ID0gSW5zcGVj
dG9yVGVzdC5jcmVhdGVTY3JpcHRNb2NrKHNjcmlwdFVSTCwgMCwgMCwgZmFsc2UsIHNjcmlwdENv
bnRlbnQpOwogICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3Qud2FpdEZvcldvcmtzcGFjZVVJ
U291cmNlQ29kZUFkZGVkRXZlbnQodWlTb3VyY2VDb2RlQWRkZWQsIDEpOwogICAgICAgICAgICAg
ICAgIGRlZmF1bHRTY3JpcHRNYXBwaW5nLmFkZFNjcmlwdChzY3JpcHQpOwogICAgICAgICAgICAg
ICAgIHJlc291cmNlU2NyaXB0TWFwcGluZy5hZGRTY3JpcHQoc2NyaXB0KTsKQEAgLTEwNCw3ICsx
MDcsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKIAogICAgICAgICAgICAgdmFyIGZpbGVTeXN0ZW1QYXRo
ID0gIi92YXIvd3d3IjsKICAgICAgICAgICAgIHZhciBmaWxlU3lzdGVtUHJvamVjdElkID0gV2Vi
SW5zcGVjdG9yLkZpbGVTeXN0ZW1Qcm9qZWN0RGVsZWdhdGUucHJvamVjdElkKGZpbGVTeXN0ZW1Q
YXRoKTsKLSAgICAgICAgICAgIHZhciBmaWxlcyA9IHsiL2h0bWwvZm9vLmpzIjogIjxmb28gY29u
dGVudD4iLCAiL2Jhci5qcyI6ICI8YmFyIGNvbnRlbnQ+In07CisgICAgICAgICAgICB2YXIgZmls
ZXMgPSB7Ii9odG1sL2Zvby5qcyI6IG9yaWdpbmFsRmlsZUNvbnRlbnQsICIvYmFyLmpzIjogIjxi
YXIgY29udGVudD4ifTsKICAgICAgICAgICAgIGNyZWF0ZU9iamVjdHMoKTsKICAgICAgICAgICAg
IHZhciBlbnRyeTEgPSBuZXcgV2ViSW5zcGVjdG9yLkZpbGVNYXBwaW5nLkVudHJ5KCJodHRwOi8v
bG9jYWxob3N0LyIsICIvdmFyL3d3dy8iKTsKICAgICAgICAgICAgIEluc3BlY3RvclRlc3QudGVz
dEZpbGVNYXBwaW5nLnNldE1hcHBpbmdFbnRyaWVzKFtlbnRyeTFdKTsKQEAgLTExNSw0MiArMTE4
LDY2IEBAIGZ1bmN0aW9uIHRlc3QoKQogICAgICAgICAgICAgcmVsb2FkKCk7CiAKICAgICAgICAg
ICAgIHZhciB1aVNvdXJjZUNvZGUgPSBJbnNwZWN0b3JUZXN0LnRlc3RXb3Jrc3BhY2UudWlTb3Vy
Y2VDb2RlKGZpbGVTeXN0ZW1Qcm9qZWN0SWQsIFsiaHRtbCIsICJmb28uanMiXSk7Ci0gICAgICAg
ICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiIC0gaGFzRGl2ZXJnZWRGcm9tVk06ICIgKyAh
IXVpU291cmNlQ29kZS5zY3JpcHRGaWxlKCkuaGFzRGl2ZXJnZWRGcm9tVk0oKSk7Ci0gICAgICAg
ICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiRWRpdGluZyB1aVNvdXJjZUNvZGU6Iik7Ci0g
ICAgICAgICAgICB1aVNvdXJjZUNvZGUuc2V0V29ya2luZ0NvcHkoIjxmb28gY29udGVudCBlZGl0
ZWQ+Iik7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiIC0gaGFzRGl2ZXJn
ZWRGcm9tVk06ICIgKyAhIXVpU291cmNlQ29kZS5zY3JpcHRGaWxlKCkuaGFzRGl2ZXJnZWRGcm9t
Vk0oKSk7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LnNob3dVSVNvdXJjZUNvZGUodWlTb3Vy
Y2VDb2RlLCBkaWRTaG93U2NyaXB0U291cmNlKTsKIAotICAgICAgICAgICAgZnVuY3Rpb24gc2V0
U2NyaXB0U291cmNlT3ZlcnJpZGVGYWlsdXJlKHNjcmlwdElkLCBuZXdDb250ZW50LCBjYWxsYmFj
aykKKyAgICAgICAgICAgIGZ1bmN0aW9uIGR1bXBVSVNvdXJjZUNvZGVBbmRTY3JpcHRDb250ZW50
cygpCiAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgY2FsbGJhY2soImVycm9yIik7Cisg
ICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkR1bXBpbmcgdWlTb3VyY2VD
b2RlIGFuZCBzY3JpcHQgY29udGVudDoiKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LmFkZFJlc3VsdCgiICAgIHVpU291cmNlQ29kZTogIiArIHVpU291cmNlQ29kZS53b3JraW5nQ29w
eSgpKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiICAgIHNjcmlw
dDogIiArIHNjcmlwdENvbnRlbnQpOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgSW5zcGVj
dG9yVGVzdC5vdmVycmlkZShXZWJJbnNwZWN0b3IuZGVidWdnZXJNb2RlbCwgInNldFNjcmlwdFNv
dXJjZSIsIHNldFNjcmlwdFNvdXJjZU92ZXJyaWRlRmFpbHVyZSk7Ci0gICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFkZFJlc3VsdCgiQ29tbWl0dGluZyB1aVNvdXJjZUNvZGUgd2l0aCBsaXZlIGVk
aXQgZmFpbHVyZToiKTsKLSAgICAgICAgICAgIHVpU291cmNlQ29kZS5jb21taXRXb3JraW5nQ29w
eShmdW5jdGlvbigpIHsgfSk7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgi
IC0gaGFzRGl2ZXJnZWRGcm9tVk06ICIgKyAhIXVpU291cmNlQ29kZS5zY3JpcHRGaWxlKCkuaGFz
RGl2ZXJnZWRGcm9tVk0oKSk7Ci0KLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0
KCJFZGl0aW5nIHVpU291cmNlQ29kZSBhZ2FpbjoiKTsKLSAgICAgICAgICAgIHVpU291cmNlQ29k
ZS5zZXRXb3JraW5nQ29weSgiPGZvbyBjb250ZW50IGVkaXRlZCBhZ2Fpbj4iKTsKLSAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCIgLSBoYXNEaXZlcmdlZEZyb21WTTogIiArICEh
dWlTb3VyY2VDb2RlLnNjcmlwdEZpbGUoKS5oYXNEaXZlcmdlZEZyb21WTSgpKTsKIAotICAgICAg
ICAgICAgZnVuY3Rpb24gc2V0U2NyaXB0U291cmNlT3ZlcnJpZGVTdWNjZXNzKHNjcmlwdElkLCBu
ZXdDb250ZW50LCBjYWxsYmFjaykKKyAgICAgICAgICAgIGZ1bmN0aW9uIGRpZFNob3dTY3JpcHRT
b3VyY2Uoc291cmNlRnJhbWUpCiAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgY2FsbGJh
Y2soKTsKKyAgICAgICAgICAgICAgICBkdW1wVUlTb3VyY2VDb2RlQW5kU2NyaXB0Q29udGVudHMo
KTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiIC0gaGFzRGl2ZXJn
ZWRGcm9tVk06ICIgKyAhIXVpU291cmNlQ29kZS5zY3JpcHRGaWxlKCkuaGFzRGl2ZXJnZWRGcm9t
Vk0oKSk7CisKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiRWRpdGlu
ZyB1aVNvdXJjZUNvZGU6Iik7CisgICAgICAgICAgICAgICAgdWlTb3VyY2VDb2RlLnNldFdvcmtp
bmdDb3B5KCI8Zm9vIGNvbnRlbnQgZWRpdGVkPiIpOworICAgICAgICAgICAgICAgIEluc3BlY3Rv
clRlc3QuYWRkUmVzdWx0KCIgLSBoYXNEaXZlcmdlZEZyb21WTTogIiArICEhdWlTb3VyY2VDb2Rl
LnNjcmlwdEZpbGUoKS5oYXNEaXZlcmdlZEZyb21WTSgpKTsKKworICAgICAgICAgICAgICAgIGZ1
bmN0aW9uIHNldFNjcmlwdFNvdXJjZU92ZXJyaWRlRmFpbHVyZShzY3JpcHRJZCwgbmV3Q29udGVu
dCwgY2FsbGJhY2spCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICBjYWxs
YmFjaygiZXJyb3IiKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgSW5zcGVj
dG9yVGVzdC5vdmVycmlkZShXZWJJbnNwZWN0b3IuZGVidWdnZXJNb2RlbCwgInNldFNjcmlwdFNv
dXJjZSIsIHNldFNjcmlwdFNvdXJjZU92ZXJyaWRlRmFpbHVyZSk7CisKKyAgICAgICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiQ29tbWl0dGluZyB1aVNvdXJjZUNvZGUgd2l0aCBs
aXZlIGVkaXQgZmFpbHVyZToiKTsKKyAgICAgICAgICAgICAgICB1aVNvdXJjZUNvZGUuY29tbWl0
V29ya2luZ0NvcHkoZnVuY3Rpb24oKSB7IH0pOworICAgICAgICAgICAgICAgIGR1bXBVSVNvdXJj
ZUNvZGVBbmRTY3JpcHRDb250ZW50cygpOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
YWRkUmVzdWx0KCIgLSBoYXNEaXZlcmdlZEZyb21WTTogIiArICEhdWlTb3VyY2VDb2RlLnNjcmlw
dEZpbGUoKS5oYXNEaXZlcmdlZEZyb21WTSgpKTsKKworICAgICAgICAgICAgICAgIEluc3BlY3Rv
clRlc3QuYWRkUmVzdWx0KCJSZWxvYWRpbmcgd2l0aCBzYXZlZCBidXQgZGl2ZXJnZWQgdWlTb3Vy
Y2VDb2RlOiIpOworICAgICAgICAgICAgICAgIHJlbG9hZCgpOworICAgICAgICAgICAgICAgIGR1
bXBVSVNvdXJjZUNvZGVBbmRTY3JpcHRDb250ZW50cygpOworICAgICAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3QuYWRkUmVzdWx0KCIgLSBoYXNEaXZlcmdlZEZyb21WTTogIiArICEhdWlTb3VyY2VD
b2RlLnNjcmlwdEZpbGUoKS5oYXNEaXZlcmdlZEZyb21WTSgpKTsKKworICAgICAgICAgICAgICAg
IEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJFZGl0aW5nIHVpU291cmNlQ29kZSBhZ2FpbjoiKTsK
KyAgICAgICAgICAgICAgICB1aVNvdXJjZUNvZGUuc2V0V29ya2luZ0NvcHkoIjxmb28gY29udGVu
dCBlZGl0ZWQgYWdhaW4+Iik7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1
bHQoIiAtIGhhc0RpdmVyZ2VkRnJvbVZNOiAiICsgISF1aVNvdXJjZUNvZGUuc2NyaXB0RmlsZSgp
Lmhhc0RpdmVyZ2VkRnJvbVZNKCkpOworCisgICAgICAgICAgICAgICAgZnVuY3Rpb24gc2V0U2Ny
aXB0U291cmNlT3ZlcnJpZGVTdWNjZXNzKHNjcmlwdElkLCBuZXdDb250ZW50LCBjYWxsYmFjaykK
KyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIHNjcmlwdENvbnRlbnQgPSBu
ZXdDb250ZW50OworICAgICAgICAgICAgICAgICAgICBjYWxsYmFjaygpOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0Lm92ZXJyaWRlKFdlYkluc3BlY3Rv
ci5kZWJ1Z2dlck1vZGVsLCAic2V0U2NyaXB0U291cmNlIiwgc2V0U2NyaXB0U291cmNlT3ZlcnJp
ZGVTdWNjZXNzKTsKKworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJD
b21taXR0aW5nIHVpU291cmNlQ29kZSBhZ2FpbiAod2l0aCBsaXZlIGVkaXQgc3VjY2VzcyBub3cp
OiIpOworICAgICAgICAgICAgICAgIHVpU291cmNlQ29kZS5jb21taXRXb3JraW5nQ29weShmdW5j
dGlvbigpIHsgfSk7CisgICAgICAgICAgICAgICAgZHVtcFVJU291cmNlQ29kZUFuZFNjcmlwdENv
bnRlbnRzKCk7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiAtIGhh
c0RpdmVyZ2VkRnJvbVZNOiAiICsgISF1aVNvdXJjZUNvZGUuc2NyaXB0RmlsZSgpLmhhc0RpdmVy
Z2VkRnJvbVZNKCkpOworCisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQo
IlJlbG9hZGluZyBwYWdlOiIpOworICAgICAgICAgICAgICAgIHJlbG9hZCgpOworICAgICAgICAg
ICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCIgLSBoYXNEaXZlcmdlZEZyb21WTTogIiAr
ICEhdWlTb3VyY2VDb2RlLnNjcmlwdEZpbGUoKS5oYXNEaXZlcmdlZEZyb21WTSgpKTsKKworICAg
ICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJFZGl0aW5nIHVpU291cmNlQ29k
ZSBhZ2FpbiBhbmQgcmVsb2FkaW5nIHdoaWxlIGl0IGlzIGRpcnR5OiIpOworICAgICAgICAgICAg
ICAgIHVpU291cmNlQ29kZS5zZXRXb3JraW5nQ29weSgiPGZvbyBjb250ZW50IGVkaXRlZCBhbmQg
ZGlydHk+Iik7CisgICAgICAgICAgICAgICAgcmVsb2FkKCk7CisgICAgICAgICAgICAgICAgSW5z
cGVjdG9yVGVzdC5hZGRSZXN1bHQoIiAtIGhhc0RpdmVyZ2VkRnJvbVZNOiAiICsgISF1aVNvdXJj
ZUNvZGUuc2NyaXB0RmlsZSgpLmhhc0RpdmVyZ2VkRnJvbVZNKCkpOworICAgICAgICAgICAgICAg
IG5leHQoKTsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIEluc3BlY3RvclRlc3Qub3ZlcnJp
ZGUoV2ViSW5zcGVjdG9yLmRlYnVnZ2VyTW9kZWwsICJzZXRTY3JpcHRTb3VyY2UiLCBzZXRTY3Jp
cHRTb3VyY2VPdmVycmlkZVN1Y2Nlc3MpOwotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRS
ZXN1bHQoIkNvbW1pdHRpbmcgdWlTb3VyY2VDb2RlIGFnYWluICh3aXRoIGxpdmUgZWRpdCBzdWNj
ZXNzIG5vdyk6Iik7Ci0gICAgICAgICAgICB1aVNvdXJjZUNvZGUuY29tbWl0V29ya2luZ0NvcHko
ZnVuY3Rpb24oKSB7IH0pOwotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiAt
IGhhc0RpdmVyZ2VkRnJvbVZNOiAiICsgISF1aVNvdXJjZUNvZGUuc2NyaXB0RmlsZSgpLmhhc0Rp
dmVyZ2VkRnJvbVZNKCkpOwotCi0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgi
UmVsb2FkaW5nIHBhZ2U6Iik7Ci0gICAgICAgICAgICByZWxvYWQoKTsKLSAgICAgICAgICAgIElu
c3BlY3RvclRlc3QuYWRkUmVzdWx0KCIgLSBoYXNEaXZlcmdlZEZyb21WTTogIiArICEhdWlTb3Vy
Y2VDb2RlLnNjcmlwdEZpbGUoKS5oYXNEaXZlcmdlZEZyb21WTSgpKTsKLQotICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkVkaXRpbmcgdWlTb3VyY2VDb2RlIGFnYWluIGFuZCBy
ZWxvYWRpbmcgd2hpbGUgaXQgaXMgZGlydHk6Iik7Ci0gICAgICAgICAgICB1aVNvdXJjZUNvZGUu
c2V0V29ya2luZ0NvcHkoIjxmb28gY29udGVudCBlZGl0ZWQgYW5kIGRpcnR5PiIpOwotICAgICAg
ICAgICAgcmVsb2FkKCk7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiIC0g
aGFzRGl2ZXJnZWRGcm9tVk06ICIgKyAhIXVpU291cmNlQ29kZS5zY3JpcHRGaWxlKCkuaGFzRGl2
ZXJnZWRGcm9tVk0oKSk7Ci0gICAgICAgICAgICBuZXh0KCk7CiAgICAgICAgIH0KICAgICBdKTsK
IH07Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>195531</attachid>
            <date>2013-03-28 04:33:09 -0700</date>
            <delta_ts>2013-03-28 04:57:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-113488-20130328153306.patch</filename>
            <type>text/plain</type>
            <size>21047</size>
            <attacher name="Vsevolod Vlasov">vsevik</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ3MDcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjVhNjc4N2QwODJkYzgy
ZjkyZjBiZTZhMjdjYjYyNmVlYzdjZTE3Yi4uYjg3ZDJjYTI1OWI3MzMzZDM0OTYzOGMyZjVlOTky
NmE4NTQ2NDJiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDM1IEBACiAyMDEzLTAzLTI4ICBWc2V2
b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3JnPgogCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IFJlc291cmNlU2NyaXB0RmlsZSBzaG91bGQgY2hlY2sgaWYgcmVzb3VyY2UgY29udGVudCBy
ZWFsbHkgbWF0Y2hlcyBWTSBzY3JpcHQgd2hlbiBkZXRlcm1pbmluZyBoYXNEaXZlcmdlZCBzdGF0
ZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMzQ4
OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEVuYWJs
ZWQgc3VwcG9ydCBmb3IgY2hlY2tpbmcgdGhhdCBmaWxlIGNvbnRlbnQgbWF0Y2hlcyBWTSBzY3Jp
cHQgaW4gUmVzb3VyY2VTY3JpcHRGaWxlIChGb3Igc2NyaXB0IHJlc291cmNlcyBvbmx5KS4KKyAg
ICAgICAgVGhpcyBjaGVjayBpcyBuZXZlciBkb25lIGJlZm9yZSBjb250ZW50IGlzIGxvYWRlZCBp
biBjb3JyZXNwb25kaW5nIGVkaXRvciB0byBhdm9pZCByZWdyZXNzaW5nIHBlcmZvcm1hbmNlLgor
ICAgICAgICBGaWxlIC0gc2NyaXB0IGNvbnRlbnQgbWF0Y2hpbmcgaXMgZG9uZSBiZWFyaW5nIGlu
IG1pbmQgc291cmNlVVJMcy4gCisgICAgICAgIExpdmUgZWRpdCBrZWVwcyBzb3VyY2VVUkwgaW4g
c2NyaXB0IGNvbnRlbnQgbm93IGV2ZW4gaWYgaXQgaXMgbm90IHByZXNlbnQgaW4gZmlsZSdzIGNv
bnRlbnQuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0phdmFTY3JpcHRTb3VyY2VG
cmFtZS5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5KYXZhU2NyaXB0U291cmNlRnJhbWUucHJv
dG90eXBlLl91cGRhdGVTY3JpcHRGaWxlKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5KYXZhU2Ny
aXB0U291cmNlRnJhbWUucHJvdG90eXBlLm9uVGV4dEVkaXRvckNvbnRlbnRMb2FkZWQpOgorICAg
ICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvTGl2ZUVkaXRTdXBwb3J0LmpzOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLkxpdmVFZGl0U2NyaXB0RmlsZS5wcm90b3R5cGUuY2hlY2tNYXBwaW5nKToK
KyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlU2NyaXB0TWFwcGluZy5qczoK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5SZXNvdXJjZVNjcmlwdE1hcHBpbmcucHJvdG90eXBlLl9i
aW5kVUlTb3VyY2VDb2RlVG9TY3JpcHRzKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TY3JpcHRG
aWxlLnByb3RvdHlwZS5jaGVja01hcHBpbmcpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlJlc291
cmNlU2NyaXB0RmlsZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUmVzb3VyY2VTY3JpcHRGaWxl
LnByb3RvdHlwZS5fd29ya2luZ0NvcHlDb21taXR0ZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LlJlc291cmNlU2NyaXB0RmlsZS5wcm90b3R5cGUuX2lzRGl2ZXJnZWQpOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLlJlc291cmNlU2NyaXB0RmlsZS5wcm90b3R5cGUuX3NvdXJjZU1hdGNoZXNTY3Jp
cHRTb3VyY2UpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlJlc291cmNlU2NyaXB0RmlsZS5wcm90
b3R5cGUuX3NvdXJjZUVuZHNXaXRoU291cmNlVVJMKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5S
ZXNvdXJjZVNjcmlwdEZpbGUucHJvdG90eXBlLmNoZWNrTWFwcGluZy5jYWxsYmFjayk6CisgICAg
ICAgIChXZWJJbnNwZWN0b3IuUmVzb3VyY2VTY3JpcHRGaWxlLnByb3RvdHlwZS5jaGVja01hcHBp
bmcpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0U25pcHBldE1vZGVsLmpz
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNuaXBwZXRTY3JpcHRGaWxlLnByb3RvdHlwZS5jaGVj
a01hcHBpbmcpOgorCisyMDEzLTAzLTI4ICBWc2V2b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21p
dW0ub3JnPgorCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IFNpbXBsaWZ5IFJlc291cmNlU2NyaXB0
RmlsZSBzbyB0aGF0IGl0IHN0b3JlcyBoYXNEaXZlcmdlZCBzdGF0ZSBpbiBpdC4KICAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMzQ4OQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0phdmFTY3JpcHRTb3VyY2VG
cmFtZS5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSmF2YVNjcmlwdFNv
dXJjZUZyYW1lLmpzCmluZGV4IGNhNDBlZTBkNGQ2MjhmZTg2Mjg2N2U4MmI0NzYyNGRiNzEyMzYw
MGYuLjMzNmU5MjczZDg2ZjQ5YWRkNmJmMTlhMjQwZGFiYjkyYzU2N2I2YTkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSmF2YVNjcmlwdFNvdXJjZUZyYW1l
LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSmF2YVNjcmlwdFNv
dXJjZUZyYW1lLmpzCkBAIC00OTEsNiArNDkxLDkgQEAgV2ViSW5zcGVjdG9yLkphdmFTY3JpcHRT
b3VyY2VGcmFtZS5wcm90b3R5cGUgPSB7CiAgICAgICAgIGlmICh0aGlzLl9zY3JpcHRGaWxlKSB7
CiAgICAgICAgICAgICB0aGlzLl9zY3JpcHRGaWxlLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVj
dG9yLlNjcmlwdEZpbGUuRXZlbnRzLkRpZE1lcmdlVG9WTSwgdGhpcy5fZGlkTWVyZ2VUb1ZNLCB0
aGlzKTsKICAgICAgICAgICAgIHRoaXMuX3NjcmlwdEZpbGUuYWRkRXZlbnRMaXN0ZW5lcihXZWJJ
bnNwZWN0b3IuU2NyaXB0RmlsZS5FdmVudHMuRGlkRGl2ZXJnZUZyb21WTSwgdGhpcy5fZGlkRGl2
ZXJnZUZyb21WTSwgdGhpcyk7CisgICAgCisgICAgICAgICAgICBpZiAodGhpcy5sb2FkZWQpCisg
ICAgICAgICAgICAgICAgdGhpcy5fc2NyaXB0RmlsZS5jaGVja01hcHBpbmcoKTsKICAgICAgICAg
fQogICAgIH0sCiAKQEAgLTUwOCw2ICs1MTEsOSBAQCBXZWJJbnNwZWN0b3IuSmF2YVNjcmlwdFNv
dXJjZUZyYW1lLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIHZhciBtZXNzYWdlID0gbWVzc2Fn
ZXNbaV07CiAgICAgICAgICAgICB0aGlzLmFkZE1lc3NhZ2VUb1NvdXJjZShtZXNzYWdlLmxpbmVO
dW1iZXIsIG1lc3NhZ2Uub3JpZ2luYWxNZXNzYWdlKTsKICAgICAgICAgfQorICAgICAgICAKKyAg
ICAgICAgaWYgKHRoaXMuX3NjcmlwdEZpbGUpCisgICAgICAgICAgICB0aGlzLl9zY3JpcHRGaWxl
LmNoZWNrTWFwcGluZygpOwogICAgIH0sCiAKICAgICAvKioKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTGl2ZUVkaXRTdXBwb3J0LmpzIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9MaXZlRWRpdFN1cHBvcnQuanMKaW5kZXggNmJkNjhj
MGE5Nzg3MDFhNGU0MDJmNGFmZDNkZTAyNzM4NGZhYjBiNS4uYWNlMDk0ZWU5NzRmOTNiOWM4OWI5
NzcyYjllYjg0MzVlODRkYTNhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9MaXZlRWRpdFN1cHBvcnQuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9MaXZlRWRpdFN1cHBvcnQuanMKQEAgLTEzNCw2ICsxMzQsMTAgQEAgV2Vi
SW5zcGVjdG9yLkxpdmVFZGl0U2NyaXB0RmlsZS5wcm90b3R5cGUgPSB7CiAgICAgICAgIHJldHVy
biBmYWxzZTsKICAgICB9LAogCisgICAgY2hlY2tNYXBwaW5nOiBmdW5jdGlvbigpCisgICAgewor
ICAgIH0sCisKICAgICBfX3Byb3RvX186IFdlYkluc3BlY3Rvci5PYmplY3QucHJvdG90eXBlCiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVzb3Vy
Y2VTY3JpcHRNYXBwaW5nLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9S
ZXNvdXJjZVNjcmlwdE1hcHBpbmcuanMKaW5kZXggNjQ5NzdhMTFkYzk3N2U4YTQ3MjFjZjFiYTVh
OWU5YzYyOWUzODNiOC4uMzkwOTBhYzEwZGRhZDRmMmZiNWRiOGYyNzk2ZjU0OTE2YjBmMWEyMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZVNj
cmlwdE1hcHBpbmcuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9S
ZXNvdXJjZVNjcmlwdE1hcHBpbmcuanMKQEAgLTE4Miw3ICsxODIsNyBAQCBXZWJJbnNwZWN0b3Iu
UmVzb3VyY2VTY3JpcHRNYXBwaW5nLnByb3RvdHlwZSA9IHsKICAgICBfYmluZFVJU291cmNlQ29k
ZVRvU2NyaXB0czogZnVuY3Rpb24odWlTb3VyY2VDb2RlLCBzY3JpcHRzKQogICAgIHsKICAgICAg
ICAgY29uc29sZS5hc3NlcnQoc2NyaXB0cy5sZW5ndGgpOwotICAgICAgICB2YXIgc2NyaXB0Rmls
ZSA9IG5ldyBXZWJJbnNwZWN0b3IuUmVzb3VyY2VTY3JpcHRGaWxlKHRoaXMsIHVpU291cmNlQ29k
ZSk7CisgICAgICAgIHZhciBzY3JpcHRGaWxlID0gbmV3IFdlYkluc3BlY3Rvci5SZXNvdXJjZVNj
cmlwdEZpbGUodGhpcywgdWlTb3VyY2VDb2RlLCBzY3JpcHRzKTsKICAgICAgICAgdWlTb3VyY2VD
b2RlLnNldFNjcmlwdEZpbGUoc2NyaXB0RmlsZSk7CiAgICAgICAgIGZvciAodmFyIGkgPSAwOyBp
IDwgc2NyaXB0cy5sZW5ndGg7ICsraSkKICAgICAgICAgICAgIHNjcmlwdHNbaV0udXBkYXRlTG9j
YXRpb25zKCk7CkBAIC0yNjIsNiArMjYyLDggQEAgV2ViSW5zcGVjdG9yLlNjcmlwdEZpbGUucHJv
dG90eXBlID0gewogICAgICAqIEByZXR1cm4ge2Jvb2xlYW59CiAgICAgICovCiAgICAgaXNNZXJn
aW5nVG9WTTogZnVuY3Rpb24oKSB7IHJldHVybiBmYWxzZTsgfSwKKworICAgIGNoZWNrTWFwcGlu
ZzogZnVuY3Rpb24oKSB7IH0sCiB9CiAKIC8qKgpAQCAtMjcxLDEyICsyNzMsMTcgQEAgV2ViSW5z
cGVjdG9yLlNjcmlwdEZpbGUucHJvdG90eXBlID0gewogICogQHBhcmFtIHtXZWJJbnNwZWN0b3Iu
UmVzb3VyY2VTY3JpcHRNYXBwaW5nfSByZXNvdXJjZVNjcmlwdE1hcHBpbmcKICAqIEBwYXJhbSB7
V2ViSW5zcGVjdG9yLlVJU291cmNlQ29kZX0gdWlTb3VyY2VDb2RlCiAgKi8KLVdlYkluc3BlY3Rv
ci5SZXNvdXJjZVNjcmlwdEZpbGUgPSBmdW5jdGlvbihyZXNvdXJjZVNjcmlwdE1hcHBpbmcsIHVp
U291cmNlQ29kZSkKK1dlYkluc3BlY3Rvci5SZXNvdXJjZVNjcmlwdEZpbGUgPSBmdW5jdGlvbihy
ZXNvdXJjZVNjcmlwdE1hcHBpbmcsIHVpU291cmNlQ29kZSwgc2NyaXB0cykKIHsKKyAgICBjb25z
b2xlLmFzc2VydChzY3JpcHRzLmxlbmd0aCk7CisKICAgICBXZWJJbnNwZWN0b3IuU2NyaXB0Rmls
ZS5jYWxsKHRoaXMpOwogICAgIHRoaXMuX3Jlc291cmNlU2NyaXB0TWFwcGluZyA9IHJlc291cmNl
U2NyaXB0TWFwcGluZzsKICAgICB0aGlzLl91aVNvdXJjZUNvZGUgPSB1aVNvdXJjZUNvZGU7CiAK
KyAgICBpZiAodGhpcy5fdWlTb3VyY2VDb2RlLmNvbnRlbnRUeXBlKCkgPT09IFdlYkluc3BlY3Rv
ci5yZXNvdXJjZVR5cGVzLlNjcmlwdCkKKyAgICAgICAgdGhpcy5fc2NyaXB0ID0gc2NyaXB0c1sw
XTsKKwogICAgIHRoaXMuX3VpU291cmNlQ29kZS5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rv
ci5VSVNvdXJjZUNvZGUuRXZlbnRzLldvcmtpbmdDb3B5Q29tbWl0dGVkLCB0aGlzLl93b3JraW5n
Q29weUNvbW1pdHRlZCwgdGhpcyk7CiAgICAgdGhpcy5fdWlTb3VyY2VDb2RlLmFkZEV2ZW50TGlz
dGVuZXIoV2ViSW5zcGVjdG9yLlVJU291cmNlQ29kZS5FdmVudHMuV29ya2luZ0NvcHlDaGFuZ2Vk
LCB0aGlzLl93b3JraW5nQ29weUNoYW5nZWQsIHRoaXMpOwogICAgIHRoaXMuX3VwZGF0ZSgpOwpA
QCAtMjkxLDI5ICsyOTgsNjEgQEAgV2ViSW5zcGVjdG9yLlJlc291cmNlU2NyaXB0RmlsZS5wcm90
b3R5cGUgPSB7CiAgICAgICAgIGZ1bmN0aW9uIGlubmVyQ2FsbGJhY2soZXJyb3IpCiAgICAgICAg
IHsKICAgICAgICAgICAgIGlmIChlcnJvcikgewotICAgICAgICAgICAgICAgIHRoaXMuX2xhc3RM
aXZlRWRpdEZhaWxlZCA9IHRydWU7CisgICAgICAgICAgICAgICAgdGhpcy5fdXBkYXRlKCk7CiAg
ICAgICAgICAgICAgICAgV2ViSW5zcGVjdG9yLnNob3dFcnJvck1lc3NhZ2UoZXJyb3IpOwogICAg
ICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIAotICAgICAg
ICAgICAgZGVsZXRlIHRoaXMuX2xhc3RMaXZlRWRpdEZhaWxlZDsKLSAgICAgICAgICAgIHRoaXMu
X21lcmdlVG9WTSgpOworCisgICAgICAgICAgICB0aGlzLl9zY3JpcHRTb3VyY2UgPSBzb3VyY2U7
CisgICAgICAgICAgICB0aGlzLl91cGRhdGUoKTsKICAgICAgICAgfQotICAgICAgICAKLSAgICAg
ICAgdmFyIHJhd0xvY2F0aW9uID0gLyoqIEB0eXBlIHtXZWJJbnNwZWN0b3IuRGVidWdnZXJNb2Rl
bC5Mb2NhdGlvbn0gKi8gKHRoaXMuX3VpU291cmNlQ29kZS51aUxvY2F0aW9uVG9SYXdMb2NhdGlv
bigwLCAwKSk7Ci0gICAgICAgIGlmICghcmF3TG9jYXRpb24pCisgICAgICAgIGlmICghdGhpcy5f
c2NyaXB0KQogICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB2YXIgc2NyaXB0ID0gV2ViSW5z
cGVjdG9yLmRlYnVnZ2VyTW9kZWwuc2NyaXB0Rm9ySWQocmF3TG9jYXRpb24uc2NyaXB0SWQpOwot
ICAgICAgICBXZWJJbnNwZWN0b3IuZGVidWdnZXJNb2RlbC5zZXRTY3JpcHRTb3VyY2Uoc2NyaXB0
LnNjcmlwdElkLCB0aGlzLl91aVNvdXJjZUNvZGUud29ya2luZ0NvcHkoKSwgaW5uZXJDYWxsYmFj
ay5iaW5kKHRoaXMpKTsKKyAgICAgICAgdmFyIHNvdXJjZSA9IHRoaXMuX3VpU291cmNlQ29kZS53
b3JraW5nQ29weSgpOworICAgICAgICBpZiAodGhpcy5fc2NyaXB0Lmhhc1NvdXJjZVVSTCAmJiAh
dGhpcy5fc291cmNlRW5kc1dpdGhTb3VyY2VVUkwoc291cmNlKSkKKyAgICAgICAgICAgIHNvdXJj
ZSArPSAiXG4gLy9AIHNvdXJjZVVSTD0iICsgdGhpcy5fc2NyaXB0LnNvdXJjZVVSTDsKKyAgICAg
ICAgV2ViSW5zcGVjdG9yLmRlYnVnZ2VyTW9kZWwuc2V0U2NyaXB0U291cmNlKHRoaXMuX3Njcmlw
dC5zY3JpcHRJZCwgc291cmNlLCBpbm5lckNhbGxiYWNrLmJpbmQodGhpcykpOwogICAgIH0sCiAK
KyAgICAvKioKKyAgICAgKiBAcmV0dXJuIHtib29sZWFufQorICAgICAqLwogICAgIF9pc0RpdmVy
Z2VkOiBmdW5jdGlvbigpCiAgICAgewogICAgICAgICBpZiAodGhpcy5fdWlTb3VyY2VDb2RlLmlz
RGlydHkoKSkKICAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICByZXR1cm4gdGhpcy5f
bGFzdExpdmVFZGl0RmFpbGVkOworICAgICAgICBpZiAoIXRoaXMuX3NjcmlwdCkKKyAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgaWYgKHR5cGVvZiB0aGlzLl9zY3JpcHRTb3VyY2Ug
PT09ICJ1bmRlZmluZWQiKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICByZXR1
cm4gIXRoaXMuX3NvdXJjZU1hdGNoZXNTY3JpcHRTb3VyY2UodGhpcy5fdWlTb3VyY2VDb2RlLndv
cmtpbmdDb3B5KCksIHRoaXMuX3NjcmlwdFNvdXJjZSk7CiAgICAgfSwKIAorICAgIC8qKgorICAg
ICAqIEBwYXJhbSB7c3RyaW5nfSBzb3VyY2UKKyAgICAgKiBAcGFyYW0ge3N0cmluZ30gc2NyaXB0
U291cmNlCisgICAgICogQHJldHVybiB7Ym9vbGVhbn0KKyAgICAgKi8KKyAgICBfc291cmNlTWF0
Y2hlc1NjcmlwdFNvdXJjZTogZnVuY3Rpb24oc291cmNlLCBzY3JpcHRTb3VyY2UpCisgICAgewor
ICAgICAgICBpZiAoIXNjcmlwdFNvdXJjZS5zdGFydHNXaXRoKHNvdXJjZSkpCisgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7CisgICAgICAgIHZhciBzY3JpcHRTb3VyY2VUYWlsID0gc2NyaXB0U291
cmNlLnN1YnN0cihzb3VyY2UubGVuZ3RoKS50cmltKCk7CisgICAgICAgIHJldHVybiAhc2NyaXB0
U291cmNlVGFpbCB8fCAhIXNjcmlwdFNvdXJjZVRhaWwubWF0Y2goL15cL1wvQFxzc291cmNlVVJM
PVxzKihcUyo/KVxzKiQvbSk7CisgICAgfSwKKworICAgIC8qKgorICAgICAqIEBwYXJhbSB7c3Ry
aW5nfSBzb3VyY2UKKyAgICAgKiBAcmV0dXJuIHtib29sZWFufQorICAgICAqLworICAgIF9zb3Vy
Y2VFbmRzV2l0aFNvdXJjZVVSTDogZnVuY3Rpb24oc291cmNlKQorICAgIHsKKyAgICAgICAgcmV0
dXJuICEhc291cmNlLm1hdGNoKC9cL1wvQFxzc291cmNlVVJMPVxzKihcUyo/KVxzKiQvbSk7Cisg
ICAgfSwKKworICAgIC8qKgorICAgICAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLkV2ZW50fSBldmVu
dAorICAgICAqLwogICAgIF93b3JraW5nQ29weUNoYW5nZWQ6IGZ1bmN0aW9uKGV2ZW50KQogICAg
IHsKICAgICAgICAgdGhpcy5fdXBkYXRlKCk7CkBAIC0zNjksNiArNDA4LDI2IEBAIFdlYkluc3Bl
Y3Rvci5SZXNvdXJjZVNjcmlwdEZpbGUucHJvdG90eXBlID0gewogICAgICAgICByZXR1cm4gdGhp
cy5faXNNZXJnaW5nVG9WTTsKICAgICB9LAogCisgICAgY2hlY2tNYXBwaW5nOiBmdW5jdGlvbigp
CisgICAgeworICAgICAgICBpZiAoIXRoaXMuX3NjcmlwdCkKKyAgICAgICAgICAgIHJldHVybjsK
KyAgICAgICAgaWYgKHR5cGVvZiB0aGlzLl9zY3JpcHRTb3VyY2UgIT09ICJ1bmRlZmluZWQiKQor
ICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB0aGlzLl9zY3JpcHQucmVxdWVzdENvbnRlbnQo
Y2FsbGJhY2suYmluZCh0aGlzKSk7CisKKyAgICAgICAgLyoqCisgICAgICAgICAqIEBwYXJhbSB7
P3N0cmluZ30gc291cmNlCisgICAgICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gZW5jb2RlZAorICAg
ICAgICAgKiBAcGFyYW0ge3N0cmluZ30gY29udGVudFR5cGUKKyAgICAgICAgICovCisgICAgICAg
IGZ1bmN0aW9uIGNhbGxiYWNrKHNvdXJjZSwgZW5jb2RlZCwgY29udGVudFR5cGUpCisgICAgICAg
IHsKKyAgICAgICAgICAgIHRoaXMuX3NjcmlwdFNvdXJjZSA9IHNvdXJjZTsKKyAgICAgICAgICAg
IHRoaXMuX3VwZGF0ZSgpOworICAgICAgICB9CisgICAgfSwKKwogICAgIGRpc3Bvc2U6IGZ1bmN0
aW9uKCkKICAgICB7CiAgICAgICAgIHRoaXMuX3VpU291cmNlQ29kZS5yZW1vdmVFdmVudExpc3Rl
bmVyKFdlYkluc3BlY3Rvci5VSVNvdXJjZUNvZGUuRXZlbnRzLldvcmtpbmdDb3B5Q29tbWl0dGVk
LCB0aGlzLl93b3JraW5nQ29weUNvbW1pdHRlZCwgdGhpcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdFNuaXBwZXRNb2RlbC5qcyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0U25pcHBldE1vZGVsLmpzCmluZGV4
IDRhZDdlZTIxZjg1ODQxMzQzOTBmMGRlYjI3NzQ4NWE1YWZhNGU5MmMuLmQ0NTAyMDAyMTg4ZGI0
MjFmODBkMjVmMGEyMWQwOWVhOWI4OTYwMmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0U25pcHBldE1vZGVsLmpzCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0U25pcHBldE1vZGVsLmpzCkBAIC00MzMsNiAr
NDMzLDEwIEBAIFdlYkluc3BlY3Rvci5TbmlwcGV0U2NyaXB0RmlsZS5wcm90b3R5cGUgPSB7CiAg
ICAgICAgIHJldHVybiB0aGlzLl9pc0RpdmVyZ2luZ0Zyb21WTTsKICAgICB9LAogCisgICAgY2hl
Y2tNYXBwaW5nOiBmdW5jdGlvbigpCisgICAgeworICAgIH0sCisKICAgICAvKioKICAgICAgKiBA
cmV0dXJuIHtib29sZWFufQogICAgICAqLwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGJhMjM1OTFkM2Q1Y2Y1M2M4OTUxNjFk
NjgzZGI5OTIwZGYwYjQwN2YuLmQ1ODFmMDhhYjg1YzQ3ZTZhNGZlN2VhNjkyNzU1MDgyOTdkNGY4
YjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMy0wMy0yOCAgVnNldm9sb2QgVmxhc292ICA8
dnNldmlrQGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBSZXNvdXJjZVNj
cmlwdEZpbGUgc2hvdWxkIGNoZWNrIGlmIHJlc291cmNlIGNvbnRlbnQgcmVhbGx5IG1hdGNoZXMg
Vk0gc2NyaXB0IHdoZW4gZGV0ZXJtaW5pbmcgaGFzRGl2ZXJnZWQgc3RhdGUuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTM0ODgKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGh0dHAvdGVzdHMvaW5zcGVj
dG9yL2RlYnVnZ2VyLXRlc3QuanM6CisgICAgICAgICogaW5zcGVjdG9yL2RlYnVnZ2VyL2ZpbGUt
c3lzdGVtLXByb2plY3QtbWFwcGluZy1leHBlY3RlZC50eHQ6CisgICAgICAgICogaW5zcGVjdG9y
L2RlYnVnZ2VyL2ZpbGUtc3lzdGVtLXByb2plY3QtbWFwcGluZy5odG1sOgorCiAyMDEzLTAzLTI3
ICBTaGlueWEgS2F3YW5ha2EgIDxzaGlueWFrQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbQ2hy
b21pdW1dIFVucmV2aWV3ZWQgZ2FyZGVuaW5nLiBUZXN0IEV4cGVjdGF0aW9ucyB1cGRhdGUuCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci10ZXN0
LmpzIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvZGVidWdnZXItdGVzdC5qcwpp
bmRleCA4OGYyMDU1MzZhMjRkZTkxMTgwNDRlYzdkYTViNDJkNDVlOWQzZWYxLi5lNDM5N2Y2MDZj
NTlmMmI2MTZhZGFiNDg2N2Y1YjI4NzZkMTJlMjI0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci10ZXN0LmpzCisrKyBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyLXRlc3QuanMKQEAgLTI4NCw3ICsyODQsOCBAQCBJ
bnNwZWN0b3JUZXN0LmNyZWF0ZVNjcmlwdE1vY2sgPSBmdW5jdGlvbih1cmwsIHN0YXJ0TGluZSwg
c3RhcnRDb2x1bW4sIGlzQ29udGVudAogICAgIHZhciBsaW5lQ291bnQgPSBzb3VyY2UubGluZUVu
ZGluZ3MoKS5sZW5ndGg7CiAgICAgdmFyIGVuZExpbmUgPSBzdGFydExpbmUgKyBsaW5lQ291bnQg
LSAxOwogICAgIHZhciBlbmRDb2x1bW4gPSBsaW5lQ291bnQgPT09IDEgPyBzdGFydENvbHVtbiAr
IHNvdXJjZS5sZW5ndGggOiBzb3VyY2UubGVuZ3RoIC0gc291cmNlLmxpbmVFbmRpbmdzKClbbGlu
ZUNvdW50IC0gMl07Ci0gICAgdmFyIHNjcmlwdCA9IG5ldyBXZWJJbnNwZWN0b3IuU2NyaXB0KHNj
cmlwdElkLCB1cmwsIHN0YXJ0TGluZSwgc3RhcnRDb2x1bW4sIGVuZExpbmUsIGVuZENvbHVtbiwg
aXNDb250ZW50U2NyaXB0KTsKKyAgICB2YXIgaGFzU291cmNlVVJMID0gISFzb3VyY2UubWF0Y2go
L1wvXC9AXHNzb3VyY2VVUkw9XHMqKFxTKj8pXHMqJC9tKTsKKyAgICB2YXIgc2NyaXB0ID0gbmV3
IFdlYkluc3BlY3Rvci5TY3JpcHQoc2NyaXB0SWQsIHVybCwgc3RhcnRMaW5lLCBzdGFydENvbHVt
biwgZW5kTGluZSwgZW5kQ29sdW1uLCBpc0NvbnRlbnRTY3JpcHQsIG51bGwsIGhhc1NvdXJjZVVS
TCk7CiAgICAgc2NyaXB0LnJlcXVlc3RDb250ZW50ID0gZnVuY3Rpb24oY2FsbGJhY2spIHsgY2Fs
bGJhY2soc291cmNlLCBmYWxzZSwgInRleHQvamF2YXNjcmlwdCIpOyB9OwogICAgIFdlYkluc3Bl
Y3Rvci5kZWJ1Z2dlck1vZGVsLl9yZWdpc3RlclNjcmlwdChzY3JpcHQpOwogICAgIHJldHVybiBz
Y3JpcHQ7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvZmlsZS1z
eXN0ZW0tcHJvamVjdC1tYXBwaW5nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9kZWJ1Z2dlci9maWxlLXN5c3RlbS1wcm9qZWN0LW1hcHBpbmctZXhwZWN0ZWQudHh0CmluZGV4
IDI1NjBlYjkxNmM5YmU4NzYyOWNkYzRlMjg1NWQwM2VmYWVkYTZiMjYuLjQwN2Q1NjBhNjVjNGNi
ZDRiMDAxYzk2NzA5NjlmZDVlYzQ0ZjRkOWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci9kZWJ1Z2dlci9maWxlLXN5c3RlbS1wcm9qZWN0LW1hcHBpbmctZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9maWxlLXN5c3RlbS1wcm9qZWN0LW1h
cHBpbmctZXhwZWN0ZWQudHh0CkBAIC0yMCwxNCArMjAsMzUgQEAgVUlTb3VyY2VDb2RlIHVyaSB0
byB1cmwgbWFwcGluZ3M6CiAKIFJ1bm5pbmc6IHRlc3RTY3JpcHRGaWxlT25SZWxvYWRXaXRoRGly
dHlGaWxlCiBBZGRpbmcgZmlsZSBzeXN0ZW0uCitEdW1waW5nIHVpU291cmNlQ29kZSBhbmQgc2Ny
aXB0IGNvbnRlbnQ6CisgICAgdWlTb3VyY2VDb2RlOiA8Zm9vIGNvbnRlbnQ+CisgICAgc2NyaXB0
OiA8Zm9vIGNvbnRlbnQ+CisgIC8vQCBzb3VyY2VVUkw9aHR0cDovL2xvY2FsaG9zdC9odG1sL2Zv
by5qcyAgCisgCiAgLSBoYXNEaXZlcmdlZEZyb21WTTogZmFsc2UKIEVkaXRpbmcgdWlTb3VyY2VD
b2RlOgogIC0gaGFzRGl2ZXJnZWRGcm9tVk06IHRydWUKIENvbW1pdHRpbmcgdWlTb3VyY2VDb2Rl
IHdpdGggbGl2ZSBlZGl0IGZhaWx1cmU6CitEdW1waW5nIHVpU291cmNlQ29kZSBhbmQgc2NyaXB0
IGNvbnRlbnQ6CisgICAgdWlTb3VyY2VDb2RlOiA8Zm9vIGNvbnRlbnQgZWRpdGVkPgorICAgIHNj
cmlwdDogPGZvbyBjb250ZW50PgorICAvL0Agc291cmNlVVJMPWh0dHA6Ly9sb2NhbGhvc3QvaHRt
bC9mb28uanMgIAorIAorIC0gaGFzRGl2ZXJnZWRGcm9tVk06IHRydWUKK1JlbG9hZGluZyB3aXRo
IHNhdmVkIGJ1dCBkaXZlcmdlZCB1aVNvdXJjZUNvZGU6CitEdW1waW5nIHVpU291cmNlQ29kZSBh
bmQgc2NyaXB0IGNvbnRlbnQ6CisgICAgdWlTb3VyY2VDb2RlOiA8Zm9vIGNvbnRlbnQgZWRpdGVk
PgorICAgIHNjcmlwdDogPGZvbyBjb250ZW50PgorICAvL0Agc291cmNlVVJMPWh0dHA6Ly9sb2Nh
bGhvc3QvaHRtbC9mb28uanMgIAorIAogIC0gaGFzRGl2ZXJnZWRGcm9tVk06IHRydWUKIEVkaXRp
bmcgdWlTb3VyY2VDb2RlIGFnYWluOgogIC0gaGFzRGl2ZXJnZWRGcm9tVk06IHRydWUKIENvbW1p
dHRpbmcgdWlTb3VyY2VDb2RlIGFnYWluICh3aXRoIGxpdmUgZWRpdCBzdWNjZXNzIG5vdyk6CitE
dW1waW5nIHVpU291cmNlQ29kZSBhbmQgc2NyaXB0IGNvbnRlbnQ6CisgICAgdWlTb3VyY2VDb2Rl
OiA8Zm9vIGNvbnRlbnQgZWRpdGVkIGFnYWluPgorICAgIHNjcmlwdDogPGZvbyBjb250ZW50IGVk
aXRlZCBhZ2Fpbj4KKyAvL0Agc291cmNlVVJMPWh0dHA6Ly9sb2NhbGhvc3QvaHRtbC9mb28uanMK
ICAtIGhhc0RpdmVyZ2VkRnJvbVZNOiBmYWxzZQogUmVsb2FkaW5nIHBhZ2U6CiAgLSBoYXNEaXZl
cmdlZEZyb21WTTogZmFsc2UKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1
Z2dlci9maWxlLXN5c3RlbS1wcm9qZWN0LW1hcHBpbmcuaHRtbCBiL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci9kZWJ1Z2dlci9maWxlLXN5c3RlbS1wcm9qZWN0LW1hcHBpbmcuaHRtbAppbmRleCBkMDdi
MjBmODY3ZGUyNWMzMTcyNTkwNzIzYWU5ZDIzYzg2Y2JjMGM1Li44NDAwYmNlNjg2MjYyYWNjZTFm
ZGQ3NmMwM2NiNjkyOGY1MmRiOGE4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
ZGVidWdnZXIvZmlsZS1zeXN0ZW0tcHJvamVjdC1tYXBwaW5nLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL2RlYnVnZ2VyL2ZpbGUtc3lzdGVtLXByb2plY3QtbWFwcGluZy5odG1sCkBA
IC05MCwxMyArOTAsMTYgQEAgZnVuY3Rpb24gdGVzdCgpCiAKICAgICAgICAgZnVuY3Rpb24gdGVz
dFNjcmlwdEZpbGVPblJlbG9hZFdpdGhEaXJ0eUZpbGUobmV4dCkKICAgICAgICAgeworICAgICAg
ICAgICAgdmFyIG9yaWdpbmFsRmlsZUNvbnRlbnQgPSAiPGZvbyBjb250ZW50PiI7CisgICAgICAg
ICAgICB2YXIgc2NyaXB0VVJMID0gImh0dHA6Ly9sb2NhbGhvc3QvaHRtbC9mb28uanMiOworICAg
ICAgICAgICAgdmFyIHNjcmlwdENvbnRlbnQgPSBvcmlnaW5hbEZpbGVDb250ZW50ICsgIlxuICAv
L0Agc291cmNlVVJMPSIgKyBzY3JpcHRVUkwgKyAiICBcbiAiOwogICAgICAgICAgICAgZnVuY3Rp
b24gdWlTb3VyY2VDb2RlQWRkZWQodWlTb3VyY2VDb2RlKSB7IH0KIAogICAgICAgICAgICAgZnVu
Y3Rpb24gcmVsb2FkKCkKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICByZXNvdXJjZVNj
cmlwdE1hcHBpbmcuX2RlYnVnZ2VyUmVzZXQoKTsKICAgICAgICAgICAgICAgICBkZWZhdWx0U2Ny
aXB0TWFwcGluZy5fZGVidWdnZXJSZXNldCgpOwotICAgICAgICAgICAgICAgIHNjcmlwdCA9IElu
c3BlY3RvclRlc3QuY3JlYXRlU2NyaXB0TW9jaygiaHR0cDovL2xvY2FsaG9zdC9odG1sL2Zvby5q
cyIsIDAsIDAsIGZhbHNlLCAiPGZvbyBjb250ZW50PiIpOworICAgICAgICAgICAgICAgIHNjcmlw
dCA9IEluc3BlY3RvclRlc3QuY3JlYXRlU2NyaXB0TW9jayhzY3JpcHRVUkwsIDAsIDAsIGZhbHNl
LCBzY3JpcHRDb250ZW50KTsKICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LndhaXRGb3JX
b3Jrc3BhY2VVSVNvdXJjZUNvZGVBZGRlZEV2ZW50KHVpU291cmNlQ29kZUFkZGVkLCAxKTsKICAg
ICAgICAgICAgICAgICBkZWZhdWx0U2NyaXB0TWFwcGluZy5hZGRTY3JpcHQoc2NyaXB0KTsKICAg
ICAgICAgICAgICAgICByZXNvdXJjZVNjcmlwdE1hcHBpbmcuYWRkU2NyaXB0KHNjcmlwdCk7CkBA
IC0xMDQsNyArMTA3LDcgQEAgZnVuY3Rpb24gdGVzdCgpCiAKICAgICAgICAgICAgIHZhciBmaWxl
U3lzdGVtUGF0aCA9ICIvdmFyL3d3dyI7CiAgICAgICAgICAgICB2YXIgZmlsZVN5c3RlbVByb2pl
Y3RJZCA9IFdlYkluc3BlY3Rvci5GaWxlU3lzdGVtUHJvamVjdERlbGVnYXRlLnByb2plY3RJZChm
aWxlU3lzdGVtUGF0aCk7Ci0gICAgICAgICAgICB2YXIgZmlsZXMgPSB7Ii9odG1sL2Zvby5qcyI6
ICI8Zm9vIGNvbnRlbnQ+IiwgIi9iYXIuanMiOiAiPGJhciBjb250ZW50PiJ9OworICAgICAgICAg
ICAgdmFyIGZpbGVzID0geyIvaHRtbC9mb28uanMiOiBvcmlnaW5hbEZpbGVDb250ZW50LCAiL2Jh
ci5qcyI6ICI8YmFyIGNvbnRlbnQ+In07CiAgICAgICAgICAgICBjcmVhdGVPYmplY3RzKCk7CiAg
ICAgICAgICAgICB2YXIgZW50cnkxID0gbmV3IFdlYkluc3BlY3Rvci5GaWxlTWFwcGluZy5FbnRy
eSgiaHR0cDovL2xvY2FsaG9zdC8iLCAiL3Zhci93d3cvIik7CiAgICAgICAgICAgICBJbnNwZWN0
b3JUZXN0LnRlc3RGaWxlTWFwcGluZy5zZXRNYXBwaW5nRW50cmllcyhbZW50cnkxXSk7CkBAIC0x
MTUsNDIgKzExOCw2NiBAQCBmdW5jdGlvbiB0ZXN0KCkKICAgICAgICAgICAgIHJlbG9hZCgpOwog
CiAgICAgICAgICAgICB2YXIgdWlTb3VyY2VDb2RlID0gSW5zcGVjdG9yVGVzdC50ZXN0V29ya3Nw
YWNlLnVpU291cmNlQ29kZShmaWxlU3lzdGVtUHJvamVjdElkLCBbImh0bWwiLCAiZm9vLmpzIl0p
OwotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiAtIGhhc0RpdmVyZ2VkRnJv
bVZNOiAiICsgISF1aVNvdXJjZUNvZGUuc2NyaXB0RmlsZSgpLmhhc0RpdmVyZ2VkRnJvbVZNKCkp
OwotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkVkaXRpbmcgdWlTb3VyY2VD
b2RlOiIpOwotICAgICAgICAgICAgdWlTb3VyY2VDb2RlLnNldFdvcmtpbmdDb3B5KCI8Zm9vIGNv
bnRlbnQgZWRpdGVkPiIpOwotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiAt
IGhhc0RpdmVyZ2VkRnJvbVZNOiAiICsgISF1aVNvdXJjZUNvZGUuc2NyaXB0RmlsZSgpLmhhc0Rp
dmVyZ2VkRnJvbVZNKCkpOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5zaG93VUlTb3VyY2VD
b2RlKHVpU291cmNlQ29kZSwgZGlkU2hvd1NjcmlwdFNvdXJjZSk7CiAKLSAgICAgICAgICAgIGZ1
bmN0aW9uIHNldFNjcmlwdFNvdXJjZU92ZXJyaWRlRmFpbHVyZShzY3JpcHRJZCwgbmV3Q29udGVu
dCwgY2FsbGJhY2spCisgICAgICAgICAgICBmdW5jdGlvbiBkdW1wVUlTb3VyY2VDb2RlQW5kU2Ny
aXB0Q29udGVudHMoKQogICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIGNhbGxiYWNrKCJl
cnJvciIpOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJEdW1waW5n
IHVpU291cmNlQ29kZSBhbmQgc2NyaXB0IGNvbnRlbnQ6Iik7CisgICAgICAgICAgICAgICAgSW5z
cGVjdG9yVGVzdC5hZGRSZXN1bHQoIiAgICB1aVNvdXJjZUNvZGU6ICIgKyB1aVNvdXJjZUNvZGUu
d29ya2luZ0NvcHkoKSk7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQo
IiAgICBzY3JpcHQ6ICIgKyBzY3JpcHRDb250ZW50KTsKICAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgIEluc3BlY3RvclRlc3Qub3ZlcnJpZGUoV2ViSW5zcGVjdG9yLmRlYnVnZ2VyTW9kZWwsICJz
ZXRTY3JpcHRTb3VyY2UiLCBzZXRTY3JpcHRTb3VyY2VPdmVycmlkZUZhaWx1cmUpOwotICAgICAg
ICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkNvbW1pdHRpbmcgdWlTb3VyY2VDb2RlIHdp
dGggbGl2ZSBlZGl0IGZhaWx1cmU6Iik7Ci0gICAgICAgICAgICB1aVNvdXJjZUNvZGUuY29tbWl0
V29ya2luZ0NvcHkoZnVuY3Rpb24oKSB7IH0pOwotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5h
ZGRSZXN1bHQoIiAtIGhhc0RpdmVyZ2VkRnJvbVZNOiAiICsgISF1aVNvdXJjZUNvZGUuc2NyaXB0
RmlsZSgpLmhhc0RpdmVyZ2VkRnJvbVZNKCkpOwotCi0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LmFkZFJlc3VsdCgiRWRpdGluZyB1aVNvdXJjZUNvZGUgYWdhaW46Iik7Ci0gICAgICAgICAgICB1
aVNvdXJjZUNvZGUuc2V0V29ya2luZ0NvcHkoIjxmb28gY29udGVudCBlZGl0ZWQgYWdhaW4+Iik7
Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiIC0gaGFzRGl2ZXJnZWRGcm9t
Vk06ICIgKyAhIXVpU291cmNlQ29kZS5zY3JpcHRGaWxlKCkuaGFzRGl2ZXJnZWRGcm9tVk0oKSk7
CiAKLSAgICAgICAgICAgIGZ1bmN0aW9uIHNldFNjcmlwdFNvdXJjZU92ZXJyaWRlU3VjY2Vzcyhz
Y3JpcHRJZCwgbmV3Q29udGVudCwgY2FsbGJhY2spCisgICAgICAgICAgICBmdW5jdGlvbiBkaWRT
aG93U2NyaXB0U291cmNlKHNvdXJjZUZyYW1lKQogICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgIGNhbGxiYWNrKCk7CisgICAgICAgICAgICAgICAgZHVtcFVJU291cmNlQ29kZUFuZFNjcmlw
dENvbnRlbnRzKCk7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiAt
IGhhc0RpdmVyZ2VkRnJvbVZNOiAiICsgISF1aVNvdXJjZUNvZGUuc2NyaXB0RmlsZSgpLmhhc0Rp
dmVyZ2VkRnJvbVZNKCkpOworCisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1
bHQoIkVkaXRpbmcgdWlTb3VyY2VDb2RlOiIpOworICAgICAgICAgICAgICAgIHVpU291cmNlQ29k
ZS5zZXRXb3JraW5nQ29weSgiPGZvbyBjb250ZW50IGVkaXRlZD4iKTsKKyAgICAgICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiIC0gaGFzRGl2ZXJnZWRGcm9tVk06ICIgKyAhIXVp
U291cmNlQ29kZS5zY3JpcHRGaWxlKCkuaGFzRGl2ZXJnZWRGcm9tVk0oKSk7CisKKyAgICAgICAg
ICAgICAgICBmdW5jdGlvbiBzZXRTY3JpcHRTb3VyY2VPdmVycmlkZUZhaWx1cmUoc2NyaXB0SWQs
IG5ld0NvbnRlbnQsIGNhbGxiYWNrKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAg
ICAgICAgY2FsbGJhY2soImVycm9yIik7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
ICAgIEluc3BlY3RvclRlc3Qub3ZlcnJpZGUoV2ViSW5zcGVjdG9yLmRlYnVnZ2VyTW9kZWwsICJz
ZXRTY3JpcHRTb3VyY2UiLCBzZXRTY3JpcHRTb3VyY2VPdmVycmlkZUZhaWx1cmUpOworCisgICAg
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkNvbW1pdHRpbmcgdWlTb3VyY2VD
b2RlIHdpdGggbGl2ZSBlZGl0IGZhaWx1cmU6Iik7CisgICAgICAgICAgICAgICAgdWlTb3VyY2VD
b2RlLmNvbW1pdFdvcmtpbmdDb3B5KGZ1bmN0aW9uKCkgeyB9KTsKKyAgICAgICAgICAgICAgICBk
dW1wVUlTb3VyY2VDb2RlQW5kU2NyaXB0Q29udGVudHMoKTsKKyAgICAgICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFkZFJlc3VsdCgiIC0gaGFzRGl2ZXJnZWRGcm9tVk06ICIgKyAhIXVpU291cmNl
Q29kZS5zY3JpcHRGaWxlKCkuaGFzRGl2ZXJnZWRGcm9tVk0oKSk7CisKKyAgICAgICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiUmVsb2FkaW5nIHdpdGggc2F2ZWQgYnV0IGRpdmVy
Z2VkIHVpU291cmNlQ29kZToiKTsKKyAgICAgICAgICAgICAgICByZWxvYWQoKTsKKyAgICAgICAg
ICAgICAgICBkdW1wVUlTb3VyY2VDb2RlQW5kU2NyaXB0Q29udGVudHMoKTsKKyAgICAgICAgICAg
ICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiIC0gaGFzRGl2ZXJnZWRGcm9tVk06ICIgKyAh
IXVpU291cmNlQ29kZS5zY3JpcHRGaWxlKCkuaGFzRGl2ZXJnZWRGcm9tVk0oKSk7CisKKyAgICAg
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiRWRpdGluZyB1aVNvdXJjZUNvZGUg
YWdhaW46Iik7CisgICAgICAgICAgICAgICAgdWlTb3VyY2VDb2RlLnNldFdvcmtpbmdDb3B5KCI8
Zm9vIGNvbnRlbnQgZWRpdGVkIGFnYWluPiIpOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuYWRkUmVzdWx0KCIgLSBoYXNEaXZlcmdlZEZyb21WTTogIiArICEhdWlTb3VyY2VDb2RlLnNj
cmlwdEZpbGUoKS5oYXNEaXZlcmdlZEZyb21WTSgpKTsKKworICAgICAgICAgICAgICAgIGZ1bmN0
aW9uIHNldFNjcmlwdFNvdXJjZU92ZXJyaWRlU3VjY2VzcyhzY3JpcHRJZCwgbmV3Q29udGVudCwg
Y2FsbGJhY2spCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICBzY3JpcHRD
b250ZW50ID0gbmV3Q29udGVudDsKKyAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2soKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5vdmVycmlkZShX
ZWJJbnNwZWN0b3IuZGVidWdnZXJNb2RlbCwgInNldFNjcmlwdFNvdXJjZSIsIHNldFNjcmlwdFNv
dXJjZU92ZXJyaWRlU3VjY2Vzcyk7CisKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFk
ZFJlc3VsdCgiQ29tbWl0dGluZyB1aVNvdXJjZUNvZGUgYWdhaW4gKHdpdGggbGl2ZSBlZGl0IHN1
Y2Nlc3Mgbm93KToiKTsKKyAgICAgICAgICAgICAgICB1aVNvdXJjZUNvZGUuY29tbWl0V29ya2lu
Z0NvcHkoZnVuY3Rpb24oKSB7IH0pOworICAgICAgICAgICAgICAgIGR1bXBVSVNvdXJjZUNvZGVB
bmRTY3JpcHRDb250ZW50cygpOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVz
dWx0KCIgLSBoYXNEaXZlcmdlZEZyb21WTTogIiArICEhdWlTb3VyY2VDb2RlLnNjcmlwdEZpbGUo
KS5oYXNEaXZlcmdlZEZyb21WTSgpKTsKKworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
YWRkUmVzdWx0KCJSZWxvYWRpbmcgcGFnZToiKTsKKyAgICAgICAgICAgICAgICByZWxvYWQoKTsK
KyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiIC0gaGFzRGl2ZXJnZWRG
cm9tVk06ICIgKyAhIXVpU291cmNlQ29kZS5zY3JpcHRGaWxlKCkuaGFzRGl2ZXJnZWRGcm9tVk0o
KSk7CisKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiRWRpdGluZyB1
aVNvdXJjZUNvZGUgYWdhaW4gYW5kIHJlbG9hZGluZyB3aGlsZSBpdCBpcyBkaXJ0eToiKTsKKyAg
ICAgICAgICAgICAgICB1aVNvdXJjZUNvZGUuc2V0V29ya2luZ0NvcHkoIjxmb28gY29udGVudCBl
ZGl0ZWQgYW5kIGRpcnR5PiIpOworICAgICAgICAgICAgICAgIHJlbG9hZCgpOworICAgICAgICAg
ICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCIgLSBoYXNEaXZlcmdlZEZyb21WTTogIiAr
ICEhdWlTb3VyY2VDb2RlLnNjcmlwdEZpbGUoKS5oYXNEaXZlcmdlZEZyb21WTSgpKTsKKyAgICAg
ICAgICAgICAgICBuZXh0KCk7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0Lm92ZXJyaWRlKFdlYkluc3BlY3Rvci5kZWJ1Z2dlck1vZGVsLCAic2V0U2NyaXB0U291cmNl
Iiwgc2V0U2NyaXB0U291cmNlT3ZlcnJpZGVTdWNjZXNzKTsKLSAgICAgICAgICAgIEluc3BlY3Rv
clRlc3QuYWRkUmVzdWx0KCJDb21taXR0aW5nIHVpU291cmNlQ29kZSBhZ2FpbiAod2l0aCBsaXZl
IGVkaXQgc3VjY2VzcyBub3cpOiIpOwotICAgICAgICAgICAgdWlTb3VyY2VDb2RlLmNvbW1pdFdv
cmtpbmdDb3B5KGZ1bmN0aW9uKCkgeyB9KTsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRk
UmVzdWx0KCIgLSBoYXNEaXZlcmdlZEZyb21WTTogIiArICEhdWlTb3VyY2VDb2RlLnNjcmlwdEZp
bGUoKS5oYXNEaXZlcmdlZEZyb21WTSgpKTsKLQotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5h
ZGRSZXN1bHQoIlJlbG9hZGluZyBwYWdlOiIpOwotICAgICAgICAgICAgcmVsb2FkKCk7Ci0gICAg
ICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiIC0gaGFzRGl2ZXJnZWRGcm9tVk06ICIg
KyAhIXVpU291cmNlQ29kZS5zY3JpcHRGaWxlKCkuaGFzRGl2ZXJnZWRGcm9tVk0oKSk7Ci0KLSAg
ICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJFZGl0aW5nIHVpU291cmNlQ29kZSBh
Z2FpbiBhbmQgcmVsb2FkaW5nIHdoaWxlIGl0IGlzIGRpcnR5OiIpOwotICAgICAgICAgICAgdWlT
b3VyY2VDb2RlLnNldFdvcmtpbmdDb3B5KCI8Zm9vIGNvbnRlbnQgZWRpdGVkIGFuZCBkaXJ0eT4i
KTsKLSAgICAgICAgICAgIHJlbG9hZCgpOwotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRS
ZXN1bHQoIiAtIGhhc0RpdmVyZ2VkRnJvbVZNOiAiICsgISF1aVNvdXJjZUNvZGUuc2NyaXB0Rmls
ZSgpLmhhc0RpdmVyZ2VkRnJvbVZNKCkpOwotICAgICAgICAgICAgbmV4dCgpOwogICAgICAgICB9
CiAgICAgXSk7CiB9Owo=
</data>
<flag name="review"
          id="217430"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
          </attachment>
      

    </bug>

</bugzilla>