<?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>52723</bug_id>
          
          <creation_ts>2011-01-19 07:56:27 -0800</creation_ts>
          <short_desc>Web Inspector: extract presentation code from debugger model</short_desc>
          <delta_ts>2011-01-20 07:20:17 -0800</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="Pavel Podivilov">podivilov</reporter>
          <assigned_to name="Pavel Podivilov">podivilov</assigned_to>
          <cc>abarth</cc>
    
    <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>eric</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>336526</commentid>
    <comment_count>0</comment_count>
    <who name="Pavel Podivilov">podivilov</who>
    <bug_when>2011-01-19 07:56:27 -0800</bug_when>
    <thetext>Move breakpoints-related presentation code from debugger model to JavaScriptBreakpointSidebarPane.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>336528</commentid>
    <comment_count>1</comment_count>
      <attachid>79427</attachid>
    <who name="Pavel Podivilov">podivilov</who>
    <bug_when>2011-01-19 07:57:11 -0800</bug_when>
    <thetext>Created attachment 79427
Patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>336667</commentid>
    <comment_count>2</comment_count>
      <attachid>79427</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-01-19 11:29:57 -0800</bug_when>
    <thetext>Comment on attachment 79427
Patch.

View in context: https://bugs.webkit.org/attachment.cgi?id=79427&amp;action=review

This does not look like &quot;move&quot; - too much new code. Could you split this change into refactoring + new code?

&gt; Source/WebCore/ChangeLog:5
&gt; +        Move breakpoints-related presentation code from debugger model to JavaScriptBreakpointSidebarPane.

Web Inspector prefix please.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337173</commentid>
    <comment_count>3</comment_count>
      <attachid>79560</attachid>
    <who name="Pavel Podivilov">podivilov</who>
    <bug_when>2011-01-20 00:28:06 -0800</bug_when>
    <thetext>Created attachment 79560
Fix changelog message.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337317</commentid>
    <comment_count>4</comment_count>
    <who name="Pavel Podivilov">podivilov</who>
    <bug_when>2011-01-20 06:47:33 -0800</bug_when>
    <thetext>Committed r76239: &lt;http://trac.webkit.org/changeset/76239&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337327</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-01-20 07:20:17 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/76239 might have broken SnowLeopard Intel Release (Tests)
The following tests are not passing:
http/tests/xmlhttprequest/open-async-overload.html</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>79427</attachid>
            <date>2011-01-19 07:57:11 -0800</date>
            <delta_ts>2011-01-20 00:28:06 -0800</delta_ts>
            <desc>Patch.</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>19796</size>
            <attacher name="Pavel Podivilov">podivilov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBhM2U1ZGM4Li44YzQzYjVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDQg
QEAKKzIwMTEtMDEtMTkgIFBhdmVsIFBvZGl2aWxvdiAgPHBvZGl2aWxvdkBjaHJvbWl1bS5vcmc+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTW92ZSBi
cmVha3BvaW50cy1yZWxhdGVkIHByZXNlbnRhdGlvbiBjb2RlIGZyb20gZGVidWdnZXIgbW9kZWwg
dG8gSmF2YVNjcmlwdEJyZWFrcG9pbnRTaWRlYmFyUGFuZS4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUyNzIzCisKKyAgICAgICAgKiBpbnNwZWN0b3Iv
ZnJvbnQtZW5kL0JyZWFrcG9pbnQuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQnJlYWtwb2lu
dCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQnJlYWtwb2ludC5wcm90b3R5cGUuZ2V0IGRhdGEp
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLkJyZWFrcG9pbnQucHJvdG90eXBlLnJlbW92ZSk6Cisg
ICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9CcmVha3BvaW50c1NpZGViYXJQYW5lLmpzOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLkphdmFTY3JpcHRCcmVha3BvaW50c1NpZGViYXJQYW5lKToK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5KYXZhU2NyaXB0QnJlYWtwb2ludHNTaWRlYmFyUGFuZS5w
cm90b3R5cGUuX2JyZWFrcG9pbnRBZGRlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuSmF2YVNj
cmlwdEJyZWFrcG9pbnRzU2lkZWJhclBhbmUucHJvdG90eXBlLl9icmVha3BvaW50UmVtb3ZlZCk6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuSmF2YVNjcmlwdEJyZWFrcG9pbnRzU2lkZWJhclBhbmUu
cHJvdG90eXBlLl9icmVha3BvaW50RW5hYmxlQ2hhbmdlZCk6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuSmF2YVNjcmlwdEJyZWFrcG9pbnRzU2lkZWJhclBhbmUucHJvdG90eXBlLl9icmVha3BvaW50
SXRlbUNoZWNrYm94Q2xpY2tlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuSmF2YVNjcmlwdEJy
ZWFrcG9pbnRzU2lkZWJhclBhbmUucHJvdG90eXBlLl9jb250ZXh0TWVudUV2ZW50RmlyZWQpOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLkphdmFTY3JpcHRCcmVha3BvaW50c1NpZGViYXJQYW5lLnBy
b3RvdHlwZS5fZGVidWdnZXJQYXVzZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkphdmFTY3Jp
cHRCcmVha3BvaW50c1NpZGViYXJQYW5lLnByb3RvdHlwZS5fZGVidWdnZXJSZXN1bWVkKToKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5KYXZhU2NyaXB0QnJlYWtwb2ludHNTaWRlYmFyUGFuZS5wcm90
b3R5cGUuX2FkZExpc3RFbGVtZW50KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5KYXZhU2NyaXB0
QnJlYWtwb2ludHNTaWRlYmFyUGFuZS5wcm90b3R5cGUuX3JlbW92ZUxpc3RFbGVtZW50KToKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5KYXZhU2NyaXB0QnJlYWtwb2ludHNTaWRlYmFyUGFuZS5wcm90
b3R5cGUuX3Byb2plY3RDaGFuZ2VkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5KYXZhU2NyaXB0
QnJlYWtwb2ludHNTaWRlYmFyUGFuZS5wcm90b3R5cGUuX2NvbXBhcmUpOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLkphdmFTY3JpcHRCcmVha3BvaW50c1NpZGViYXJQYW5lLnByb3RvdHlwZS5fY29t
cGFyZUJyZWFrcG9pbnRzKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5KYXZhU2NyaXB0QnJlYWtw
b2ludHNTaWRlYmFyUGFuZS5wcm90b3R5cGUuX3NldHVwQnJlYWtwb2ludEVsZW1lbnQuZGlkR2V0
U291cmNlTGluZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuSmF2YVNjcmlwdEJyZWFrcG9pbnRz
U2lkZWJhclBhbmUucHJvdG90eXBlLl9zZXR1cEJyZWFrcG9pbnRFbGVtZW50KToKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5KYXZhU2NyaXB0QnJlYWtwb2ludHNTaWRlYmFyUGFuZS5wcm90b3R5cGUu
X2JyZWFrcG9pbnRJZEZvckRlYnVnZ2VyUGF1c2VkRXZlbnQpOgorICAgICAgICAoV2ViSW5zcGVj
dG9yLkphdmFTY3JpcHRCcmVha3BvaW50c1NpZGViYXJQYW5lLnByb3RvdHlwZS5fc2V0QnJlYWtw
b2ludEVuYWJsZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkphdmFTY3JpcHRCcmVha3BvaW50
c1NpZGViYXJQYW5lLnByb3RvdHlwZS5fcmVtb3ZlQnJlYWtwb2ludCk6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuTmF0aXZlQnJlYWtwb2ludHNTaWRlYmFyUGFuZSk6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuWEhSQnJlYWtwb2ludHNTaWRlYmFyUGFuZS5wcm90b3R5cGUuYWRkQnJlYWtwb2ludEl0
ZW0pOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvRGVidWdnZXJNb2RlbC5qczoKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5EZWJ1Z2dlck1vZGVsLnByb3RvdHlwZS5yZW1vdmVCcmVha3Bv
aW50KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5EZWJ1Z2dlck1vZGVsLnByb3RvdHlwZS5icmVh
a3BvaW50Rm9ySWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRlYnVnZ2VyTW9kZWwucHJvdG90
eXBlLl9wYXVzZWRTY3JpcHQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRlYnVnZ2VyTW9kZWwu
cHJvdG90eXBlLl9yZXN1bWVkU2NyaXB0KToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5k
L1NjcmlwdHNQYW5lbC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TY3JpcHRzUGFuZWwpOgor
ICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzOgorCiAyMDExLTAxLTE4
IE1PUklUQSBIYWppbWUgIDxtb3JyaXRhQGdvb2dsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQg
YnkgUnlvc3VrZSBOaXdhLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9CcmVha3BvaW50LmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9CcmVha3BvaW50LmpzCmluZGV4IGU1ZTE3NjguLmFhNjAwYTcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQnJlYWtwb2ludC5qcworKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0JyZWFrcG9pbnQuanMKQEAgLTM3LDcgKzM3LDYg
QEAgV2ViSW5zcGVjdG9yLkJyZWFrcG9pbnQgPSBmdW5jdGlvbihkZWJ1Z2dlck1vZGVsLCBicmVh
a3BvaW50SWQsIHNvdXJjZUlELCB1cmwsIGwKICAgICB0aGlzLnNvdXJjZUlEID0gc291cmNlSUQ7
CiAgICAgdGhpcy5fZW5hYmxlZCA9IGVuYWJsZWQ7CiAgICAgdGhpcy5fY29uZGl0aW9uID0gY29u
ZGl0aW9uIHx8ICIiOwotICAgIHRoaXMuX2hpdCA9IGZhbHNlOwogICAgIHRoaXMuX2RlYnVnZ2Vy
TW9kZWwgPSBkZWJ1Z2dlck1vZGVsOwogfQogCkBAIC02MCw1MiArNTksMTQgQEAgV2ViSW5zcGVj
dG9yLkJyZWFrcG9pbnQucHJvdG90eXBlID0gewogICAgICAgICByZXR1cm4gdGhpcy5fY29uZGl0
aW9uOwogICAgIH0sCiAKLSAgICBnZXQgaGl0KCkKKyAgICBnZXQgZGF0YSgpCiAgICAgewotICAg
ICAgICByZXR1cm4gdGhpcy5faGl0OwotICAgIH0sCi0KLSAgICBzZXQgaGl0KGhpdCkKLSAgICB7
Ci0gICAgICAgIHRoaXMuX2hpdCA9IGhpdDsKLSAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9M
aXN0ZW5lcnMoImhpdC1zdGF0ZS1jaGFuZ2VkIik7Ci0gICAgfSwKLQotICAgIGNsaWNrOiBmdW5j
dGlvbihldmVudCkKLSAgICB7Ci0gICAgICAgIFdlYkluc3BlY3Rvci5wYW5lbHMuc2NyaXB0cy5z
aG93U291cmNlTGluZSh0aGlzLnVybCwgdGhpcy5saW5lKTsKLSAgICB9LAotCi0gICAgY29tcGFy
ZVRvOiBmdW5jdGlvbihvdGhlcikKLSAgICB7Ci0gICAgICAgIGlmICh0aGlzLnVybCAhPSBvdGhl
ci51cmwpCi0gICAgICAgICAgICByZXR1cm4gdGhpcy51cmwgPCBvdGhlci51cmwgPyAtMSA6IDE7
Ci0gICAgICAgIGlmICh0aGlzLmxpbmUgIT0gb3RoZXIubGluZSkKLSAgICAgICAgICAgIHJldHVy
biB0aGlzLmxpbmUgPCBvdGhlci5saW5lID8gLTEgOiAxOwotICAgICAgICByZXR1cm4gMDsKLSAg
ICB9LAotCi0gICAgcG9wdWxhdGVMYWJlbEVsZW1lbnQ6IGZ1bmN0aW9uKGVsZW1lbnQpCi0gICAg
ewotICAgICAgICBmdW5jdGlvbiBkaWRHZXRTb3VyY2VMaW5lKHRleHQpCi0gICAgICAgIHsKLSAg
ICAgICAgICAgIHZhciBkaXNwbGF5TmFtZSA9IHRoaXMudXJsID8gV2ViSW5zcGVjdG9yLmRpc3Bs
YXlOYW1lRm9yVVJMKHRoaXMudXJsKSA6IFdlYkluc3BlY3Rvci5VSVN0cmluZygiKHByb2dyYW0p
Iik7Ci0gICAgICAgICAgICB2YXIgbGFiZWxFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlVGV4dE5v
ZGUoZGlzcGxheU5hbWUgKyAiOiIgKyB0aGlzLmxpbmUpOwotICAgICAgICAgICAgZWxlbWVudC5h
cHBlbmRDaGlsZChsYWJlbEVsZW1lbnQpOwotCi0gICAgICAgICAgICB2YXIgc291cmNlVGV4dEVs
ZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKLSAgICAgICAgICAgIHNvdXJj
ZVRleHRFbGVtZW50LnRleHRDb250ZW50ID0gdGV4dDsKLSAgICAgICAgICAgIHNvdXJjZVRleHRF
bGVtZW50LmNsYXNzTmFtZSA9ICJzb3VyY2UtdGV4dCBtb25vc3BhY2UiOwotICAgICAgICAgICAg
ZWxlbWVudC5hcHBlbmRDaGlsZChzb3VyY2VUZXh0RWxlbWVudCk7Ci0gICAgICAgIH0KLSAgICAg
ICAgdmFyIHNjcmlwdCA9IHRoaXMuX2RlYnVnZ2VyTW9kZWwuc2NyaXB0Rm9yU291cmNlSUQodGhp
cy5zb3VyY2VJRCk7Ci0gICAgICAgIHNjcmlwdC5zb3VyY2VMaW5lKHRoaXMubGluZSwgZGlkR2V0
U291cmNlTGluZS5iaW5kKHRoaXMpKTsKKyAgICAgICAgcmV0dXJuIHsgaWQ6IHRoaXMuaWQsIHVy
bDogdGhpcy51cmwsIHNvdXJjZUlEOiB0aGlzLnNvdXJjZUlELCBsaW5lTnVtYmVyOiB0aGlzLmxp
bmUsIGNvbmRpdGlvbjogdGhpcy5jb25kaXRpb24gfTsKICAgICB9LAogCiAgICAgcmVtb3ZlOiBm
dW5jdGlvbigpCiAgICAgewogICAgICAgICB0aGlzLl9kZWJ1Z2dlck1vZGVsLnJlbW92ZUJyZWFr
cG9pbnQodGhpcy5pZCk7Ci0gICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKCJy
ZW1vdmVkIik7CiAgICAgICAgIHRoaXMucmVtb3ZlQWxsTGlzdGVuZXJzKCk7CiAgICAgICAgIGRl
bGV0ZSB0aGlzLl9kZWJ1Z2dlck1vZGVsOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQnJlYWtwb2ludHNTaWRlYmFyUGFuZS5qcyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQnJlYWtwb2ludHNTaWRlYmFyUGFuZS5qcwpp
bmRleCA0MDhjNWJhLi5iMjM3Y2EyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL0JyZWFrcG9pbnRzU2lkZWJhclBhbmUuanMKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9CcmVha3BvaW50c1NpZGViYXJQYW5lLmpzCkBAIC0yMyw3
ICsyMywyMTMgQEAKICAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotV2ViSW5zcGVjdG9yLkJyZWFrcG9p
bnRzU2lkZWJhclBhbmUgPSBmdW5jdGlvbih0aXRsZSkKK1dlYkluc3BlY3Rvci5KYXZhU2NyaXB0
QnJlYWtwb2ludHNTaWRlYmFyUGFuZSA9IGZ1bmN0aW9uKHRpdGxlKQoreworICAgIFdlYkluc3Bl
Y3Rvci5TaWRlYmFyUGFuZS5jYWxsKHRoaXMsIFdlYkluc3BlY3Rvci5VSVN0cmluZygiQnJlYWtw
b2ludHMiKSk7CisKKyAgICB0aGlzLmxpc3RFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgib2wiKTsKKyAgICB0aGlzLmxpc3RFbGVtZW50LmNsYXNzTmFtZSA9ICJicmVha3BvaW50LWxp
c3QiOworCisgICAgdGhpcy5lbXB0eUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJk
aXYiKTsKKyAgICB0aGlzLmVtcHR5RWxlbWVudC5jbGFzc05hbWUgPSAiaW5mbyI7CisgICAgdGhp
cy5lbXB0eUVsZW1lbnQudGV4dENvbnRlbnQgPSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIk5vIEJy
ZWFrcG9pbnRzIik7CisKKyAgICB0aGlzLmJvZHlFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuZW1w
dHlFbGVtZW50KTsKKworICAgIHRoaXMuX2l0ZW1zID0ge307CisKKyAgICBXZWJJbnNwZWN0b3Iu
ZGVidWdnZXJNb2RlbC5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5EZWJ1Z2dlck1vZGVs
LkV2ZW50cy5CcmVha3BvaW50QWRkZWQsIHRoaXMuX2JyZWFrcG9pbnRBZGRlZCwgdGhpcyk7Cisg
ICAgV2ViSW5zcGVjdG9yLmRlYnVnZ2VyTW9kZWwuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0
b3IuRGVidWdnZXJNb2RlbC5FdmVudHMuQnJlYWtwb2ludFJlbW92ZWQsIHRoaXMuX2JyZWFrcG9p
bnRSZW1vdmVkLCB0aGlzKTsKKyAgICBXZWJJbnNwZWN0b3IuZGVidWdnZXJNb2RlbC5hZGRFdmVu
dExpc3RlbmVyKFdlYkluc3BlY3Rvci5EZWJ1Z2dlck1vZGVsLkV2ZW50cy5EZWJ1Z2dlclBhdXNl
ZCwgdGhpcy5fZGVidWdnZXJQYXVzZWQsIHRoaXMpOworICAgIFdlYkluc3BlY3Rvci5kZWJ1Z2dl
ck1vZGVsLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkRlYnVnZ2VyTW9kZWwuRXZlbnRz
LkRlYnVnZ2VyUmVzdW1lZCwgdGhpcy5fZGVidWdnZXJSZXN1bWVkLCB0aGlzKTsKKyAgICBXZWJJ
bnNwZWN0b3IuYnJlYWtwb2ludE1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3Iu
QnJlYWtwb2ludE1hbmFnZXIuRXZlbnRzLlByb2plY3RDaGFuZ2VkLCB0aGlzLl9wcm9qZWN0Q2hh
bmdlZCwgdGhpcyk7Cit9CisKK1dlYkluc3BlY3Rvci5KYXZhU2NyaXB0QnJlYWtwb2ludHNTaWRl
YmFyUGFuZS5wcm90b3R5cGUgPSB7CisgICAgX2JyZWFrcG9pbnRBZGRlZDogZnVuY3Rpb24oZXZl
bnQpCisgICAgeworICAgICAgICB2YXIgYnJlYWtwb2ludCA9IGV2ZW50LmRhdGE7CisgICAgICAg
IHZhciBicmVha3BvaW50SWQgPSBicmVha3BvaW50LmlkOworICAgICAgICB2YXIgZGF0YSA9IGJy
ZWFrcG9pbnQuZGF0YTsKKworICAgICAgICB2YXIgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoImxpIik7CisKKyAgICAgICAgdmFyIGNoZWNrYm94ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgiaW5wdXQiKTsKKyAgICAgICAgY2hlY2tib3guY2xhc3NOYW1lID0gImNoZWNrYm94LWVs
ZW0iOworICAgICAgICBjaGVja2JveC50eXBlID0gImNoZWNrYm94IjsKKyAgICAgICAgY2hlY2ti
b3guY2hlY2tlZCA9IGJyZWFrcG9pbnQuZW5hYmxlZDsKKyAgICAgICAgY2hlY2tib3guYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCB0aGlzLl9icmVha3BvaW50SXRlbUNoZWNrYm94Q2xpY2tlZC5i
aW5kKHRoaXMsIGJyZWFrcG9pbnRJZCksIGZhbHNlKTsKKyAgICAgICAgZWxlbWVudC5hcHBlbmRD
aGlsZChjaGVja2JveCk7CisKKyAgICAgICAgdmFyIGxhYmVsID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgic3BhbiIpOworICAgICAgICBlbGVtZW50LmFwcGVuZENoaWxkKGxhYmVsKTsKKworICAg
ICAgICBlbGVtZW50Ll9kYXRhID0gZGF0YTsKKyAgICAgICAgdmFyIGN1cnJlbnRFbGVtZW50ID0g
dGhpcy5saXN0RWxlbWVudC5maXJzdENoaWxkOworICAgICAgICB3aGlsZSAoY3VycmVudEVsZW1l
bnQpIHsKKyAgICAgICAgICAgIGlmIChjdXJyZW50RWxlbWVudC5fZGF0YSAmJiB0aGlzLl9jb21w
YXJlQnJlYWtwb2ludHMoY3VycmVudEVsZW1lbnQuX2RhdGEsIGVsZW1lbnQuX2RhdGEpID4gMCkK
KyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGN1cnJlbnRFbGVtZW50ID0gY3Vy
cmVudEVsZW1lbnQubmV4dFNpYmxpbmc7CisgICAgICAgIH0KKyAgICAgICAgdGhpcy5fYWRkTGlz
dEVsZW1lbnQoZWxlbWVudCwgY3VycmVudEVsZW1lbnQpOworCisgICAgICAgIGVsZW1lbnQuYWRk
RXZlbnRMaXN0ZW5lcigiY29udGV4dG1lbnUiLCB0aGlzLl9jb250ZXh0TWVudUV2ZW50RmlyZWQu
YmluZCh0aGlzLCBicmVha3BvaW50SWQpLCB0cnVlKTsKKworICAgICAgICB0aGlzLl9zZXR1cEJy
ZWFrcG9pbnRFbGVtZW50KGRhdGEsIGVsZW1lbnQpOworCisgICAgICAgIHZhciBicmVha3BvaW50
SXRlbSA9IHt9OworICAgICAgICBicmVha3BvaW50SXRlbS5kYXRhID0gZGF0YTsKKyAgICAgICAg
YnJlYWtwb2ludEl0ZW0uZWxlbWVudCA9IGVsZW1lbnQ7CisgICAgICAgIGJyZWFrcG9pbnRJdGVt
LmNoZWNrYm94ID0gY2hlY2tib3g7CisgICAgICAgIHRoaXMuX2l0ZW1zW2JyZWFrcG9pbnRJZF0g
PSBicmVha3BvaW50SXRlbTsKKworICAgICAgICBpZiAoIXRoaXMuZXhwYW5kZWQpCisgICAgICAg
ICAgICB0aGlzLmV4cGFuZGVkID0gdHJ1ZTsKKyAgICB9LAorCisgICAgX2JyZWFrcG9pbnRSZW1v
dmVkOiBmdW5jdGlvbihldmVudCkKKyAgICB7CisgICAgICAgIHZhciBicmVha3BvaW50SWQgPSBl
dmVudC5kYXRhOworICAgICAgICB2YXIgYnJlYWtwb2ludEl0ZW0gPSB0aGlzLl9pdGVtc1ticmVh
a3BvaW50SWRdOworICAgICAgICBpZiAoYnJlYWtwb2ludEl0ZW0pIHsKKyAgICAgICAgICAgIGRl
bGV0ZSB0aGlzLl9pdGVtc1ticmVha3BvaW50SWRdOworICAgICAgICAgICAgdGhpcy5fcmVtb3Zl
TGlzdEVsZW1lbnQoYnJlYWtwb2ludEl0ZW0uZWxlbWVudCk7CisgICAgICAgIH0KKyAgICB9LAor
CisgICAgX2JyZWFrcG9pbnRFbmFibGVDaGFuZ2VkOiBmdW5jdGlvbihlbmFibGVkLCBldmVudCkK
KyAgICB7CisgICAgICAgIHZhciBicmVha3BvaW50SWQgPSBldmVudC5kYXRhOworICAgICAgICB2
YXIgYnJlYWtwb2ludEl0ZW0gPSB0aGlzLl9pdGVtc1ticmVha3BvaW50SWRdOworICAgICAgICBp
ZiAoYnJlYWtwb2ludEl0ZW0pCisgICAgICAgICAgICBicmVha3BvaW50SXRlbS5jaGVja2JveC5j
aGVja2VkID0gZW5hYmxlZDsKKyAgICB9LAorCisgICAgX2JyZWFrcG9pbnRJdGVtQ2hlY2tib3hD
bGlja2VkOiBmdW5jdGlvbihicmVha3BvaW50SWQsIGV2ZW50KQorICAgIHsKKyAgICAgICAgdGhp
cy5fc2V0QnJlYWtwb2ludEVuYWJsZWQoYnJlYWtwb2ludElkLCBldmVudC50YXJnZXQuY2hlY2tl
ZCk7CisKKyAgICAgICAgLy8gQnJlYWtwb2ludCBlbGVtZW50IG1heSBoYXZlIGl0J3Mgb3duIGNs
aWNrIGhhbmRsZXIuCisgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOworICAgIH0sCisK
KyAgICBfY29udGV4dE1lbnVFdmVudEZpcmVkOiBmdW5jdGlvbihicmVha3BvaW50SWQsIGV2ZW50
KQorICAgIHsKKyAgICAgICAgdmFyIGNvbnRleHRNZW51ID0gbmV3IFdlYkluc3BlY3Rvci5Db250
ZXh0TWVudSgpOworICAgICAgICBjb250ZXh0TWVudS5hcHBlbmRJdGVtKFdlYkluc3BlY3Rvci5V
SVN0cmluZygiUmVtb3ZlIEJyZWFrcG9pbnQiKSwgdGhpcy5fcmVtb3ZlQnJlYWtwb2ludC5iaW5k
KHRoaXMsIGJyZWFrcG9pbnRJZCkpOworICAgICAgICBjb250ZXh0TWVudS5zaG93KGV2ZW50KTsK
KyAgICB9LAorCisgICAgX2RlYnVnZ2VyUGF1c2VkOiBmdW5jdGlvbihldmVudCkKKyAgICB7Cisg
ICAgICAgIHZhciBicmVha3BvaW50SWQgPSB0aGlzLl9icmVha3BvaW50SWRGb3JEZWJ1Z2dlclBh
dXNlZEV2ZW50KGV2ZW50LmRhdGEpOworICAgICAgICBpZiAoIWJyZWFrcG9pbnRJZCkKKyAgICAg
ICAgICAgIHJldHVybjsKKyAgICAgICAgdmFyIGJyZWFrcG9pbnRJdGVtID0gdGhpcy5faXRlbXNb
YnJlYWtwb2ludElkXTsKKyAgICAgICAgaWYgKCFicmVha3BvaW50SXRlbSkKKyAgICAgICAgICAg
IHJldHVybjsKKyAgICAgICAgYnJlYWtwb2ludEl0ZW0uZWxlbWVudC5hZGRTdHlsZUNsYXNzKCJi
cmVha3BvaW50LWhpdCIpOworICAgICAgICB0aGlzLl9sYXN0SGl0QnJlYWtwb2ludEl0ZW0gPSBi
cmVha3BvaW50SXRlbTsKKyAgICB9LAorCisgICAgX2RlYnVnZ2VyUmVzdW1lZDogZnVuY3Rpb24o
KQorICAgIHsKKyAgICAgICAgaWYgKHRoaXMuX2xhc3RIaXRCcmVha3BvaW50SXRlbSkgeworICAg
ICAgICAgICAgdGhpcy5fbGFzdEhpdEJyZWFrcG9pbnRJdGVtLmVsZW1lbnQucmVtb3ZlU3R5bGVD
bGFzcygiYnJlYWtwb2ludC1oaXQiKTsKKyAgICAgICAgICAgIGRlbGV0ZSB0aGlzLl9sYXN0SGl0
QnJlYWtwb2ludEl0ZW07CisgICAgICAgIH0KKyAgICB9LAorCisgICAgX2FkZExpc3RFbGVtZW50
OiBmdW5jdGlvbihlbGVtZW50LCBiZWZvcmVFbGVtZW50KQorICAgIHsKKyAgICAgICAgaWYgKGJl
Zm9yZUVsZW1lbnQpCisgICAgICAgICAgICB0aGlzLmxpc3RFbGVtZW50Lmluc2VydEJlZm9yZShl
bGVtZW50LCBiZWZvcmVFbGVtZW50KTsKKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBpZiAo
IXRoaXMubGlzdEVsZW1lbnQuZmlyc3RDaGlsZCkgeworICAgICAgICAgICAgICAgIHRoaXMuYm9k
eUVsZW1lbnQucmVtb3ZlQ2hpbGQodGhpcy5lbXB0eUVsZW1lbnQpOworICAgICAgICAgICAgICAg
IHRoaXMuYm9keUVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5saXN0RWxlbWVudCk7CisgICAgICAg
ICAgICB9CisgICAgICAgICAgICB0aGlzLmxpc3RFbGVtZW50LmFwcGVuZENoaWxkKGVsZW1lbnQp
OworICAgICAgICB9CisgICAgfSwKKworICAgIF9yZW1vdmVMaXN0RWxlbWVudDogZnVuY3Rpb24o
ZWxlbWVudCkKKyAgICB7CisgICAgICAgIHRoaXMubGlzdEVsZW1lbnQucmVtb3ZlQ2hpbGQoZWxl
bWVudCk7CisgICAgICAgIGlmICghdGhpcy5saXN0RWxlbWVudC5maXJzdENoaWxkKSB7CisgICAg
ICAgICAgICB0aGlzLmJvZHlFbGVtZW50LnJlbW92ZUNoaWxkKHRoaXMubGlzdEVsZW1lbnQpOwor
ICAgICAgICAgICAgdGhpcy5ib2R5RWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLmVtcHR5RWxlbWVu
dCk7CisgICAgICAgIH0KKyAgICB9LAorCisgICAgX3Byb2plY3RDaGFuZ2VkOiBmdW5jdGlvbigp
CisgICAgeworICAgICAgICB0aGlzLmxpc3RFbGVtZW50LnJlbW92ZUNoaWxkcmVuKCk7CisgICAg
ICAgIGlmICh0aGlzLmxpc3RFbGVtZW50LnBhcmVudEVsZW1lbnQpIHsKKyAgICAgICAgICAgIHRo
aXMuYm9keUVsZW1lbnQucmVtb3ZlQ2hpbGQodGhpcy5saXN0RWxlbWVudCk7CisgICAgICAgICAg
ICB0aGlzLmJvZHlFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuZW1wdHlFbGVtZW50KTsKKyAgICAg
ICAgfQorICAgICAgICB0aGlzLl9pdGVtcyA9IHt9OworICAgIH0sCisKKyAgICBfY29tcGFyZTog
ZnVuY3Rpb24oeCwgeSkKKyAgICB7CisgICAgICAgIGlmICh4ICE9PSB5KQorICAgICAgICAgICAg
cmV0dXJuIHggPCB5ID8gLTEgOiAxOworICAgICAgICByZXR1cm4gMDsKKyAgICB9LAorCisgICAg
X2NvbXBhcmVCcmVha3BvaW50czogZnVuY3Rpb24oYjEsIGIyKQorICAgIHsKKyAgICAgICAgcmV0
dXJuIHRoaXMuX2NvbXBhcmUoYjEudXJsLCBiMi51cmwpIHx8IHRoaXMuX2NvbXBhcmUoYjEubGlu
ZU51bWJlciwgYjIubGluZU51bWJlcik7CisgICAgfSwKKworICAgIF9zZXR1cEJyZWFrcG9pbnRF
bGVtZW50OiBmdW5jdGlvbihkYXRhLCBlbGVtZW50KQorICAgIHsKKyAgICAgICAgdmFyIGRpc3Bs
YXlOYW1lID0gZGF0YS51cmwgPyBXZWJJbnNwZWN0b3IuZGlzcGxheU5hbWVGb3JVUkwoZGF0YS51
cmwpIDogV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCIocHJvZ3JhbSkiKTsKKyAgICAgICAgdmFyIGxh
YmVsRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGRpc3BsYXlOYW1lICsgIjoiICsg
ZGF0YS5saW5lTnVtYmVyKTsKKyAgICAgICAgZWxlbWVudC5hcHBlbmRDaGlsZChsYWJlbEVsZW1l
bnQpOworCisgICAgICAgIHZhciBzb3VyY2VUZXh0RWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoImRpdiIpOworICAgICAgICBzb3VyY2VUZXh0RWxlbWVudC5jbGFzc05hbWUgPSAic291
cmNlLXRleHQgbW9ub3NwYWNlIjsKKyAgICAgICAgZWxlbWVudC5hcHBlbmRDaGlsZChzb3VyY2VU
ZXh0RWxlbWVudCk7CisKKyAgICAgICAgZnVuY3Rpb24gZGlkR2V0U291cmNlTGluZSh0ZXh0KQor
ICAgICAgICB7CisgICAgICAgICAgICBzb3VyY2VUZXh0RWxlbWVudC50ZXh0Q29udGVudCA9IHRl
eHQ7CisgICAgICAgIH0KKyAgICAgICAgdmFyIHNjcmlwdCA9IFdlYkluc3BlY3Rvci5kZWJ1Z2dl
ck1vZGVsLnNjcmlwdEZvclNvdXJjZUlEKGRhdGEuc291cmNlSUQpOworICAgICAgICBzY3JpcHQu
c291cmNlTGluZShkYXRhLmxpbmVOdW1iZXIsIGRpZEdldFNvdXJjZUxpbmUuYmluZCh0aGlzKSk7
CisKKyAgICAgICAgZWxlbWVudC5hZGRTdHlsZUNsYXNzKCJjdXJzb3ItcG9pbnRlciIpOworICAg
ICAgICB2YXIgY2xpY2tIYW5kbGVyID0gV2ViSW5zcGVjdG9yLnBhbmVscy5zY3JpcHRzLnNob3dT
b3VyY2VMaW5lLmJpbmQoV2ViSW5zcGVjdG9yLnBhbmVscy5zY3JpcHRzLCBkYXRhLnVybCwgZGF0
YS5saW5lTnVtYmVyKTsKKyAgICAgICAgZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGNsaWNrSGFuZGxlciwgZmFsc2UpOworICAgIH0sCisKKyAgICBfYnJlYWtwb2ludElkRm9yRGVi
dWdnZXJQYXVzZWRFdmVudDogZnVuY3Rpb24oZGV0YWlscykKKyAgICB7CisgICAgICAgIHZhciBj
YWxsRnJhbWUgPSBkZXRhaWxzLmNhbGxGcmFtZXNbMF07CisgICAgICAgIHZhciBicmVha3BvaW50
ID0gV2ViSW5zcGVjdG9yLmRlYnVnZ2VyTW9kZWwuZmluZEJyZWFrcG9pbnQoY2FsbEZyYW1lLnNv
dXJjZUlELCBjYWxsRnJhbWUubGluZSk7CisgICAgICAgIGlmIChicmVha3BvaW50KQorICAgICAg
ICAgICAgcmV0dXJuIGJyZWFrcG9pbnQuaWQ7CisgICB9LAorCisgICAgX3NldEJyZWFrcG9pbnRF
bmFibGVkOiBmdW5jdGlvbihicmVha3BvaW50SWQsIGVuYWJsZWQpCisgICAgeworICAgICAgICB2
YXIgYnJlYWtwb2ludCA9IFdlYkluc3BlY3Rvci5kZWJ1Z2dlck1vZGVsLmJyZWFrcG9pbnRGb3JJ
ZChicmVha3BvaW50SWQpOworICAgICAgICBXZWJJbnNwZWN0b3IuZGVidWdnZXJNb2RlbC5yZW1v
dmVCcmVha3BvaW50KGJyZWFrcG9pbnRJZCk7CisgICAgICAgIFdlYkluc3BlY3Rvci5kZWJ1Z2dl
ck1vZGVsLnNldEJyZWFrcG9pbnQoYnJlYWtwb2ludC5zb3VyY2VJRCwgYnJlYWtwb2ludC5saW5l
LCBlbmFibGVkLCBicmVha3BvaW50LmNvbmRpdGlvbik7CisgICAgfSwKKworICAgIF9yZW1vdmVC
cmVha3BvaW50OiBmdW5jdGlvbihicmVha3BvaW50SWQpCisgICAgeworICAgICAgICBXZWJJbnNw
ZWN0b3IuZGVidWdnZXJNb2RlbC5yZW1vdmVCcmVha3BvaW50KGJyZWFrcG9pbnRJZCk7CisgICAg
fQorfQorCitXZWJJbnNwZWN0b3IuSmF2YVNjcmlwdEJyZWFrcG9pbnRzU2lkZWJhclBhbmUucHJv
dG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5TaWRlYmFyUGFuZS5wcm90b3R5cGU7CisK
K1dlYkluc3BlY3Rvci5OYXRpdmVCcmVha3BvaW50c1NpZGViYXJQYW5lID0gZnVuY3Rpb24odGl0
bGUpCiB7CiAgICAgV2ViSW5zcGVjdG9yLlNpZGViYXJQYW5lLmNhbGwodGhpcywgdGl0bGUpOwog
CkBAIC0zOSw3ICsyNDUsNyBAQCBXZWJJbnNwZWN0b3IuQnJlYWtwb2ludHNTaWRlYmFyUGFuZSA9
IGZ1bmN0aW9uKHRpdGxlKQogICAgIFdlYkluc3BlY3Rvci5icmVha3BvaW50TWFuYWdlci5hZGRF
dmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5CcmVha3BvaW50TWFuYWdlci5FdmVudHMuUHJvamVj
dENoYW5nZWQsIHRoaXMuX3Byb2plY3RDaGFuZ2VkLCB0aGlzKTsKIH0KIAotV2ViSW5zcGVjdG9y
LkJyZWFrcG9pbnRzU2lkZWJhclBhbmUucHJvdG90eXBlID0geworV2ViSW5zcGVjdG9yLk5hdGl2
ZUJyZWFrcG9pbnRzU2lkZWJhclBhbmUucHJvdG90eXBlID0gewogICAgIGFkZEJyZWFrcG9pbnRJ
dGVtOiBmdW5jdGlvbihicmVha3BvaW50SXRlbSkKICAgICB7CiAgICAgICAgIHZhciBlbGVtZW50
ID0gYnJlYWtwb2ludEl0ZW0uZWxlbWVudDsKQEAgLTEwMiwxMSArMzA4LDExIEBAIFdlYkluc3Bl
Y3Rvci5CcmVha3BvaW50c1NpZGViYXJQYW5lLnByb3RvdHlwZSA9IHsKICAgICB9CiB9CiAKLVdl
Ykluc3BlY3Rvci5CcmVha3BvaW50c1NpZGViYXJQYW5lLnByb3RvdHlwZS5fX3Byb3RvX18gPSBX
ZWJJbnNwZWN0b3IuU2lkZWJhclBhbmUucHJvdG90eXBlOworV2ViSW5zcGVjdG9yLk5hdGl2ZUJy
ZWFrcG9pbnRzU2lkZWJhclBhbmUucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5T
aWRlYmFyUGFuZS5wcm90b3R5cGU7CiAKIFdlYkluc3BlY3Rvci5YSFJCcmVha3BvaW50c1NpZGVi
YXJQYW5lID0gZnVuY3Rpb24oKQogewotICAgIFdlYkluc3BlY3Rvci5CcmVha3BvaW50c1NpZGVi
YXJQYW5lLmNhbGwodGhpcywgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJYSFIgQnJlYWtwb2ludHMi
KSk7CisgICAgV2ViSW5zcGVjdG9yLk5hdGl2ZUJyZWFrcG9pbnRzU2lkZWJhclBhbmUuY2FsbCh0
aGlzLCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlhIUiBCcmVha3BvaW50cyIpKTsKIAogICAgIGZ1
bmN0aW9uIGFkZEJ1dHRvbkNsaWNrZWQoZXZlbnQpCiAgICAgewpAQCAtMTIzLDcgKzMyOSw3IEBA
IFdlYkluc3BlY3Rvci5YSFJCcmVha3BvaW50c1NpZGViYXJQYW5lID0gZnVuY3Rpb24oKQogV2Vi
SW5zcGVjdG9yLlhIUkJyZWFrcG9pbnRzU2lkZWJhclBhbmUucHJvdG90eXBlID0gewogICAgIGFk
ZEJyZWFrcG9pbnRJdGVtOiBmdW5jdGlvbihicmVha3BvaW50SXRlbSkKICAgICB7Ci0gICAgICAg
IFdlYkluc3BlY3Rvci5CcmVha3BvaW50c1NpZGViYXJQYW5lLnByb3RvdHlwZS5hZGRCcmVha3Bv
aW50SXRlbS5jYWxsKHRoaXMsIGJyZWFrcG9pbnRJdGVtKTsKKyAgICAgICAgV2ViSW5zcGVjdG9y
Lk5hdGl2ZUJyZWFrcG9pbnRzU2lkZWJhclBhbmUucHJvdG90eXBlLmFkZEJyZWFrcG9pbnRJdGVt
LmNhbGwodGhpcywgYnJlYWtwb2ludEl0ZW0pOwogICAgICAgICBicmVha3BvaW50SXRlbS5fbGFi
ZWxFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImRibGNsaWNrIiwgdGhpcy5fc3RhcnRFZGl0aW5n
QnJlYWtwb2ludC5iaW5kKHRoaXMsIGJyZWFrcG9pbnRJdGVtKSwgZmFsc2UpOwogICAgIH0sCiAK
QEAgLTE2Niw3ICszNzIsNyBAQCBXZWJJbnNwZWN0b3IuWEhSQnJlYWtwb2ludHNTaWRlYmFyUGFu
ZS5wcm90b3R5cGUgPSB7CiAgICAgfQogfQogCi1XZWJJbnNwZWN0b3IuWEhSQnJlYWtwb2ludHNT
aWRlYmFyUGFuZS5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9yLkJyZWFrcG9pbnRz
U2lkZWJhclBhbmUucHJvdG90eXBlOworV2ViSW5zcGVjdG9yLlhIUkJyZWFrcG9pbnRzU2lkZWJh
clBhbmUucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5OYXRpdmVCcmVha3BvaW50
c1NpZGViYXJQYW5lLnByb3RvdHlwZTsKIAogV2ViSW5zcGVjdG9yLkJyZWFrcG9pbnRJdGVtID0g
ZnVuY3Rpb24oYnJlYWtwb2ludCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvRGVidWdnZXJNb2RlbC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvRGVidWdnZXJNb2RlbC5qcwppbmRleCBmYmNlYjI1Li5lMDFmOGJkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RlYnVnZ2VyTW9kZWwu
anMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9EZWJ1Z2dlck1vZGVs
LmpzCkBAIC04NCw2ICs4NCw3IEBAIFdlYkluc3BlY3Rvci5EZWJ1Z2dlck1vZGVsLnByb3RvdHlw
ZSA9IHsKICAgICAgICAgZGVsZXRlIHRoaXMuX2JyZWFrcG9pbnRzW2JyZWFrcG9pbnRJZF07CiAg
ICAgICAgIGRlbGV0ZSB0aGlzLl9zb3VyY2VJREFuZExpbmVUb0JyZWFrcG9pbnRJZFt0aGlzLl9l
bmNvZGVTb3VyY2VJREFuZExpbmUoYnJlYWtwb2ludC5zb3VyY2VJRCwgYnJlYWtwb2ludC5saW5l
KV07CiAgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rvci5E
ZWJ1Z2dlck1vZGVsLkV2ZW50cy5CcmVha3BvaW50UmVtb3ZlZCwgYnJlYWtwb2ludElkKTsKKyAg
ICAgICAgYnJlYWtwb2ludC5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoInJlbW92ZWQiKTsKICAg
ICB9LAogCiAgICAgX2JyZWFrcG9pbnRTZXRPbkJhY2tlbmQ6IGZ1bmN0aW9uKGJyZWFrcG9pbnRJ
ZCwgc291cmNlSUQsIGxpbmVOdW1iZXIsIGNvbmRpdGlvbiwgZW5hYmxlZCwgb3JpZ2luYWxMaW5l
TnVtYmVyLCByZXN0b3JlZCkKQEAgLTEwMyw2ICsxMDQsMTEgQEAgV2ViSW5zcGVjdG9yLkRlYnVn
Z2VyTW9kZWwucHJvdG90eXBlID0gewogICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3Rl
bmVycyhXZWJJbnNwZWN0b3IuRGVidWdnZXJNb2RlbC5FdmVudHMuQnJlYWtwb2ludEFkZGVkLCBi
cmVha3BvaW50KTsKICAgICB9LAogCisgICAgYnJlYWtwb2ludEZvcklkOiBmdW5jdGlvbihicmVh
a3BvaW50SWQpCisgICAgeworICAgICAgICByZXR1cm4gdGhpcy5fYnJlYWtwb2ludHNbYnJlYWtw
b2ludElkXTsKKyAgICB9LAorCiAgICAgcXVlcnlCcmVha3BvaW50czogZnVuY3Rpb24oZmlsdGVy
KQogICAgIHsKICAgICAgICAgdmFyIGJyZWFrcG9pbnRzID0gW107CkBAIC0xNjQsMjYgKzE3MCwx
MiBAQCBXZWJJbnNwZWN0b3IuRGVidWdnZXJNb2RlbC5wcm90b3R5cGUgPSB7CiAgICAgICAgICAg
ICBkZWxldGUgdGhpcy5fY29udGludWVUb0xpbmVCcmVha3BvaW50SWQ7CiAgICAgICAgIH0KICAg
ICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV2ViSW5zcGVjdG9yLkRlYnVnZ2Vy
TW9kZWwuRXZlbnRzLkRlYnVnZ2VyUGF1c2VkLCBkZXRhaWxzKTsKLQotICAgICAgICBpZiAoZGV0
YWlscy5ldmVudFR5cGUgPT09IFdlYkluc3BlY3Rvci5EZWJ1Z2dlckV2ZW50VHlwZXMuSmF2YVNj
cmlwdFBhdXNlIHx8IGRldGFpbHMuZXZlbnRUeXBlID09PSBXZWJJbnNwZWN0b3IuRGVidWdnZXJF
dmVudFR5cGVzLk5hdGl2ZUJyZWFrcG9pbnQpCi0gICAgICAgICAgICByZXR1cm47Ci0KLSAgICAg
ICAgdmFyIGJyZWFrcG9pbnQgPSB0aGlzLmZpbmRCcmVha3BvaW50KGRldGFpbHMuY2FsbEZyYW1l
c1swXS5zb3VyY2VJRCwgZGV0YWlscy5jYWxsRnJhbWVzWzBdLmxpbmUpOwotICAgICAgICBpZiAo
IWJyZWFrcG9pbnQpCi0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIGJyZWFrcG9pbnQuaGl0
ID0gdHJ1ZTsKLSAgICAgICAgdGhpcy5fbGFzdEhpdEJyZWFrcG9pbnQgPSBicmVha3BvaW50Owog
ICAgIH0sCiAKICAgICBfcmVzdW1lZFNjcmlwdDogZnVuY3Rpb24oKQogICAgIHsKICAgICAgICAg
dGhpcy5fcGF1c2VkID0gZmFsc2U7CiAgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVu
ZXJzKFdlYkluc3BlY3Rvci5EZWJ1Z2dlck1vZGVsLkV2ZW50cy5EZWJ1Z2dlclJlc3VtZWQpOwot
Ci0gICAgICAgIGlmICghdGhpcy5fbGFzdEhpdEJyZWFrcG9pbnQpCi0gICAgICAgICAgICByZXR1
cm47Ci0gICAgICAgIHRoaXMuX2xhc3RIaXRCcmVha3BvaW50LmhpdCA9IGZhbHNlOwotICAgICAg
ICBkZWxldGUgdGhpcy5fbGFzdEhpdEJyZWFrcG9pbnQ7CiAgICAgfSwKIAogICAgIF9wYXJzZWRT
Y3JpcHRTb3VyY2U6IGZ1bmN0aW9uKHNvdXJjZUlELCBzb3VyY2VVUkwsIGxpbmVPZmZzZXQsIGNv
bHVtbk9mZnNldCwgbGVuZ3RoLCBzY3JpcHRXb3JsZFR5cGUpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdHNQYW5lbC5qcyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0c1BhbmVsLmpzCmluZGV4IGVkYjBkMjMuLjQ4
ODUxYTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2Ny
aXB0c1BhbmVsLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2Ny
aXB0c1BhbmVsLmpzCkBAIC0xNDAsNyArMTQwLDcgQEAgV2ViSW5zcGVjdG9yLlNjcmlwdHNQYW5l
bCA9IGZ1bmN0aW9uKCkKICAgICB0aGlzLnNpZGViYXJQYW5lcy53YXRjaEV4cHJlc3Npb25zID0g
bmV3IFdlYkluc3BlY3Rvci5XYXRjaEV4cHJlc3Npb25zU2lkZWJhclBhbmUoKTsKICAgICB0aGlz
LnNpZGViYXJQYW5lcy5jYWxsc3RhY2sgPSBuZXcgV2ViSW5zcGVjdG9yLkNhbGxTdGFja1NpZGVi
YXJQYW5lKCk7CiAgICAgdGhpcy5zaWRlYmFyUGFuZXMuc2NvcGVjaGFpbiA9IG5ldyBXZWJJbnNw
ZWN0b3IuU2NvcGVDaGFpblNpZGViYXJQYW5lKCk7Ci0gICAgdGhpcy5zaWRlYmFyUGFuZXMuanNC
cmVha3BvaW50cyA9IFdlYkluc3BlY3Rvci5jcmVhdGVKU0JyZWFrcG9pbnRzU2lkZWJhclBhbmUo
KTsKKyAgICB0aGlzLnNpZGViYXJQYW5lcy5qc0JyZWFrcG9pbnRzID0gbmV3IFdlYkluc3BlY3Rv
ci5KYXZhU2NyaXB0QnJlYWtwb2ludHNTaWRlYmFyUGFuZSgpOwogICAgIGlmIChQcmVmZXJlbmNl
cy5uYXRpdmVJbnN0cnVtZW50YXRpb25FbmFibGVkKSB7CiAgICAgICAgIHRoaXMuc2lkZWJhclBh
bmVzLmRvbUJyZWFrcG9pbnRzID0gV2ViSW5zcGVjdG9yLmNyZWF0ZURPTUJyZWFrcG9pbnRzU2lk
ZWJhclBhbmUoKTsKICAgICAgICAgdGhpcy5zaWRlYmFyUGFuZXMueGhyQnJlYWtwb2ludHMgPSBX
ZWJJbnNwZWN0b3IuY3JlYXRlWEhSQnJlYWtwb2ludHNTaWRlYmFyUGFuZSgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanMgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qcwppbmRleCAyOTNjNmQ5
Li5jNWY5OTUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L2luc3BlY3Rvci5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2lu
c3BlY3Rvci5qcwpAQCAtMTg1LDIwICsxODUsOSBAQCB2YXIgV2ViSW5zcGVjdG9yID0gewogICAg
ICAgICB9CiAgICAgfSwKIAotICAgIGNyZWF0ZUpTQnJlYWtwb2ludHNTaWRlYmFyUGFuZTogZnVu
Y3Rpb24oKQotICAgIHsKLSAgICAgICAgdmFyIHBhbmUgPSBuZXcgV2ViSW5zcGVjdG9yLkJyZWFr
cG9pbnRzU2lkZWJhclBhbmUoV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJCcmVha3BvaW50cyIpKTsK
LSAgICAgICAgZnVuY3Rpb24gYnJlYWtwb2ludEFkZGVkKGV2ZW50KQotICAgICAgICB7Ci0gICAg
ICAgICAgICBwYW5lLmFkZEJyZWFrcG9pbnRJdGVtKG5ldyBXZWJJbnNwZWN0b3IuQnJlYWtwb2lu
dEl0ZW0oZXZlbnQuZGF0YSkpOwotICAgICAgICB9Ci0gICAgICAgIFdlYkluc3BlY3Rvci5kZWJ1
Z2dlck1vZGVsLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkRlYnVnZ2VyTW9kZWwuRXZl
bnRzLkJyZWFrcG9pbnRBZGRlZCwgYnJlYWtwb2ludEFkZGVkKTsKLSAgICAgICAgcmV0dXJuIHBh
bmU7Ci0gICAgfSwKLQogICAgIGNyZWF0ZURPTUJyZWFrcG9pbnRzU2lkZWJhclBhbmU6IGZ1bmN0
aW9uKCkKICAgICB7Ci0gICAgICAgIHZhciBwYW5lID0gbmV3IFdlYkluc3BlY3Rvci5CcmVha3Bv
aW50c1NpZGViYXJQYW5lKFdlYkluc3BlY3Rvci5VSVN0cmluZygiRE9NIEJyZWFrcG9pbnRzIikp
OworICAgICAgICB2YXIgcGFuZSA9IG5ldyBXZWJJbnNwZWN0b3IuTmF0aXZlQnJlYWtwb2ludHNT
aWRlYmFyUGFuZShXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkRPTSBCcmVha3BvaW50cyIpKTsKICAg
ICAgICAgZnVuY3Rpb24gYnJlYWtwb2ludEFkZGVkKGV2ZW50KQogICAgICAgICB7CiAgICAgICAg
ICAgICBwYW5lLmFkZEJyZWFrcG9pbnRJdGVtKG5ldyBXZWJJbnNwZWN0b3IuQnJlYWtwb2ludEl0
ZW0oZXZlbnQuZGF0YSkpOwo=
</data>
<flag name="review"
          id="70839"
          type_id="1"
          status="-"
          setter="pfeldman"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>79560</attachid>
            <date>2011-01-20 00:28:06 -0800</date>
            <delta_ts>2011-01-20 05:15:46 -0800</delta_ts>
            <desc>Fix changelog message.</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>19923</size>
            <attacher name="Pavel Podivilov">podivilov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA5OWI4OGI0Li4wZmRkMmYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDYg
QEAKKzIwMTEtMDEtMTkgIFBhdmVsIFBvZGl2aWxvdiAgPHBvZGl2aWxvdkBjaHJvbWl1bS5vcmc+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2ViIElu
c3BlY3RvcjogaW1wbGVtZW50IEphdmFTY3JpcHRCcmVha3BvaW50c1NpZGViYXJQYW5lIGJhc2Vk
IG9uIGV2ZW50cyBmcm9tIGRlYnVnZ2VyIG1vZGVsLgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTI3MjMKKworICAgICAgICBFeHRyYWN0IGFsbCBicmVh
a3BvaW50cy1yZWxhdGVkIHByZXNlbnRhdGlvbiBjb2RlIGZyb20gZGVidWdnZXIgbW9kZWwgdG8g
SmF2YVNjcmlwdEJyZWFrcG9pbnRTaWRlYmFyUGFuZS4KKworICAgICAgICAqIGluc3BlY3Rvci9m
cm9udC1lbmQvQnJlYWtwb2ludC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5CcmVha3BvaW50
KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5CcmVha3BvaW50LnByb3RvdHlwZS5nZXQgZGF0YSk6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuQnJlYWtwb2ludC5wcm90b3R5cGUucmVtb3ZlKToKKyAg
ICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0JyZWFrcG9pbnRzU2lkZWJhclBhbmUuanM6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuSmF2YVNjcmlwdEJyZWFrcG9pbnRzU2lkZWJhclBhbmUpOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLkphdmFTY3JpcHRCcmVha3BvaW50c1NpZGViYXJQYW5lLnBy
b3RvdHlwZS5fYnJlYWtwb2ludEFkZGVkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5KYXZhU2Ny
aXB0QnJlYWtwb2ludHNTaWRlYmFyUGFuZS5wcm90b3R5cGUuX2JyZWFrcG9pbnRSZW1vdmVkKToK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5KYXZhU2NyaXB0QnJlYWtwb2ludHNTaWRlYmFyUGFuZS5w
cm90b3R5cGUuX2JyZWFrcG9pbnRFbmFibGVDaGFuZ2VkKToKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5KYXZhU2NyaXB0QnJlYWtwb2ludHNTaWRlYmFyUGFuZS5wcm90b3R5cGUuX2JyZWFrcG9pbnRJ
dGVtQ2hlY2tib3hDbGlja2VkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5KYXZhU2NyaXB0QnJl
YWtwb2ludHNTaWRlYmFyUGFuZS5wcm90b3R5cGUuX2NvbnRleHRNZW51RXZlbnRGaXJlZCk6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuSmF2YVNjcmlwdEJyZWFrcG9pbnRzU2lkZWJhclBhbmUucHJv
dG90eXBlLl9kZWJ1Z2dlclBhdXNlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuSmF2YVNjcmlw
dEJyZWFrcG9pbnRzU2lkZWJhclBhbmUucHJvdG90eXBlLl9kZWJ1Z2dlclJlc3VtZWQpOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLkphdmFTY3JpcHRCcmVha3BvaW50c1NpZGViYXJQYW5lLnByb3Rv
dHlwZS5fYWRkTGlzdEVsZW1lbnQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkphdmFTY3JpcHRC
cmVha3BvaW50c1NpZGViYXJQYW5lLnByb3RvdHlwZS5fcmVtb3ZlTGlzdEVsZW1lbnQpOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLkphdmFTY3JpcHRCcmVha3BvaW50c1NpZGViYXJQYW5lLnByb3Rv
dHlwZS5fcHJvamVjdENoYW5nZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkphdmFTY3JpcHRC
cmVha3BvaW50c1NpZGViYXJQYW5lLnByb3RvdHlwZS5fY29tcGFyZSk6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuSmF2YVNjcmlwdEJyZWFrcG9pbnRzU2lkZWJhclBhbmUucHJvdG90eXBlLl9jb21w
YXJlQnJlYWtwb2ludHMpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkphdmFTY3JpcHRCcmVha3Bv
aW50c1NpZGViYXJQYW5lLnByb3RvdHlwZS5fc2V0dXBCcmVha3BvaW50RWxlbWVudC5kaWRHZXRT
b3VyY2VMaW5lKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5KYXZhU2NyaXB0QnJlYWtwb2ludHNT
aWRlYmFyUGFuZS5wcm90b3R5cGUuX3NldHVwQnJlYWtwb2ludEVsZW1lbnQpOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLkphdmFTY3JpcHRCcmVha3BvaW50c1NpZGViYXJQYW5lLnByb3RvdHlwZS5f
YnJlYWtwb2ludElkRm9yRGVidWdnZXJQYXVzZWRFdmVudCk6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuSmF2YVNjcmlwdEJyZWFrcG9pbnRzU2lkZWJhclBhbmUucHJvdG90eXBlLl9zZXRCcmVha3Bv
aW50RW5hYmxlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuSmF2YVNjcmlwdEJyZWFrcG9pbnRz
U2lkZWJhclBhbmUucHJvdG90eXBlLl9yZW1vdmVCcmVha3BvaW50KToKKyAgICAgICAgKFdlYklu
c3BlY3Rvci5OYXRpdmVCcmVha3BvaW50c1NpZGViYXJQYW5lKToKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5YSFJCcmVha3BvaW50c1NpZGViYXJQYW5lLnByb3RvdHlwZS5hZGRCcmVha3BvaW50SXRl
bSk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9EZWJ1Z2dlck1vZGVsLmpzOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLkRlYnVnZ2VyTW9kZWwucHJvdG90eXBlLnJlbW92ZUJyZWFrcG9p
bnQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRlYnVnZ2VyTW9kZWwucHJvdG90eXBlLmJyZWFr
cG9pbnRGb3JJZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRGVidWdnZXJNb2RlbC5wcm90b3R5
cGUuX3BhdXNlZFNjcmlwdCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRGVidWdnZXJNb2RlbC5w
cm90b3R5cGUuX3Jlc3VtZWRTY3JpcHQpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQv
U2NyaXB0c1BhbmVsLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNjcmlwdHNQYW5lbCk6Cisg
ICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanM6CisKIDIwMTEtMDEtMTkg
IFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgogCiAgICAgICAgIFVu
cmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI3NjE4Ny4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvQnJlYWtwb2ludC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvQnJlYWtwb2ludC5qcwppbmRleCBlNWUxNzY4Li5hYTYwMGE3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0JyZWFrcG9pbnQuanMK
KysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9CcmVha3BvaW50LmpzCkBA
IC0zNyw3ICszNyw2IEBAIFdlYkluc3BlY3Rvci5CcmVha3BvaW50ID0gZnVuY3Rpb24oZGVidWdn
ZXJNb2RlbCwgYnJlYWtwb2ludElkLCBzb3VyY2VJRCwgdXJsLCBsCiAgICAgdGhpcy5zb3VyY2VJ
RCA9IHNvdXJjZUlEOwogICAgIHRoaXMuX2VuYWJsZWQgPSBlbmFibGVkOwogICAgIHRoaXMuX2Nv
bmRpdGlvbiA9IGNvbmRpdGlvbiB8fCAiIjsKLSAgICB0aGlzLl9oaXQgPSBmYWxzZTsKICAgICB0
aGlzLl9kZWJ1Z2dlck1vZGVsID0gZGVidWdnZXJNb2RlbDsKIH0KIApAQCAtNjAsNTIgKzU5LDE0
IEBAIFdlYkluc3BlY3Rvci5CcmVha3BvaW50LnByb3RvdHlwZSA9IHsKICAgICAgICAgcmV0dXJu
IHRoaXMuX2NvbmRpdGlvbjsKICAgICB9LAogCi0gICAgZ2V0IGhpdCgpCisgICAgZ2V0IGRhdGEo
KQogICAgIHsKLSAgICAgICAgcmV0dXJuIHRoaXMuX2hpdDsKLSAgICB9LAotCi0gICAgc2V0IGhp
dChoaXQpCi0gICAgewotICAgICAgICB0aGlzLl9oaXQgPSBoaXQ7Ci0gICAgICAgIHRoaXMuZGlz
cGF0Y2hFdmVudFRvTGlzdGVuZXJzKCJoaXQtc3RhdGUtY2hhbmdlZCIpOwotICAgIH0sCi0KLSAg
ICBjbGljazogZnVuY3Rpb24oZXZlbnQpCi0gICAgewotICAgICAgICBXZWJJbnNwZWN0b3IucGFu
ZWxzLnNjcmlwdHMuc2hvd1NvdXJjZUxpbmUodGhpcy51cmwsIHRoaXMubGluZSk7Ci0gICAgfSwK
LQotICAgIGNvbXBhcmVUbzogZnVuY3Rpb24ob3RoZXIpCi0gICAgewotICAgICAgICBpZiAodGhp
cy51cmwgIT0gb3RoZXIudXJsKQotICAgICAgICAgICAgcmV0dXJuIHRoaXMudXJsIDwgb3RoZXIu
dXJsID8gLTEgOiAxOwotICAgICAgICBpZiAodGhpcy5saW5lICE9IG90aGVyLmxpbmUpCi0gICAg
ICAgICAgICByZXR1cm4gdGhpcy5saW5lIDwgb3RoZXIubGluZSA/IC0xIDogMTsKLSAgICAgICAg
cmV0dXJuIDA7Ci0gICAgfSwKLQotICAgIHBvcHVsYXRlTGFiZWxFbGVtZW50OiBmdW5jdGlvbihl
bGVtZW50KQotICAgIHsKLSAgICAgICAgZnVuY3Rpb24gZGlkR2V0U291cmNlTGluZSh0ZXh0KQot
ICAgICAgICB7Ci0gICAgICAgICAgICB2YXIgZGlzcGxheU5hbWUgPSB0aGlzLnVybCA/IFdlYklu
c3BlY3Rvci5kaXNwbGF5TmFtZUZvclVSTCh0aGlzLnVybCkgOiBXZWJJbnNwZWN0b3IuVUlTdHJp
bmcoIihwcm9ncmFtKSIpOwotICAgICAgICAgICAgdmFyIGxhYmVsRWxlbWVudCA9IGRvY3VtZW50
LmNyZWF0ZVRleHROb2RlKGRpc3BsYXlOYW1lICsgIjoiICsgdGhpcy5saW5lKTsKLSAgICAgICAg
ICAgIGVsZW1lbnQuYXBwZW5kQ2hpbGQobGFiZWxFbGVtZW50KTsKLQotICAgICAgICAgICAgdmFy
IHNvdXJjZVRleHRFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Ci0gICAg
ICAgICAgICBzb3VyY2VUZXh0RWxlbWVudC50ZXh0Q29udGVudCA9IHRleHQ7Ci0gICAgICAgICAg
ICBzb3VyY2VUZXh0RWxlbWVudC5jbGFzc05hbWUgPSAic291cmNlLXRleHQgbW9ub3NwYWNlIjsK
LSAgICAgICAgICAgIGVsZW1lbnQuYXBwZW5kQ2hpbGQoc291cmNlVGV4dEVsZW1lbnQpOwotICAg
ICAgICB9Ci0gICAgICAgIHZhciBzY3JpcHQgPSB0aGlzLl9kZWJ1Z2dlck1vZGVsLnNjcmlwdEZv
clNvdXJjZUlEKHRoaXMuc291cmNlSUQpOwotICAgICAgICBzY3JpcHQuc291cmNlTGluZSh0aGlz
LmxpbmUsIGRpZEdldFNvdXJjZUxpbmUuYmluZCh0aGlzKSk7CisgICAgICAgIHJldHVybiB7IGlk
OiB0aGlzLmlkLCB1cmw6IHRoaXMudXJsLCBzb3VyY2VJRDogdGhpcy5zb3VyY2VJRCwgbGluZU51
bWJlcjogdGhpcy5saW5lLCBjb25kaXRpb246IHRoaXMuY29uZGl0aW9uIH07CiAgICAgfSwKIAog
ICAgIHJlbW92ZTogZnVuY3Rpb24oKQogICAgIHsKICAgICAgICAgdGhpcy5fZGVidWdnZXJNb2Rl
bC5yZW1vdmVCcmVha3BvaW50KHRoaXMuaWQpOwotICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRU
b0xpc3RlbmVycygicmVtb3ZlZCIpOwogICAgICAgICB0aGlzLnJlbW92ZUFsbExpc3RlbmVycygp
OwogICAgICAgICBkZWxldGUgdGhpcy5fZGVidWdnZXJNb2RlbDsKICAgICB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0JyZWFrcG9pbnRzU2lkZWJhclBh
bmUuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0JyZWFrcG9pbnRzU2lk
ZWJhclBhbmUuanMKaW5kZXggNDA4YzViYS4uYjIzN2NhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9CcmVha3BvaW50c1NpZGViYXJQYW5lLmpzCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQnJlYWtwb2ludHNTaWRlYmFyUGFu
ZS5qcwpAQCAtMjMsNyArMjMsMjEzIEBACiAgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLVdlYkluc3Bl
Y3Rvci5CcmVha3BvaW50c1NpZGViYXJQYW5lID0gZnVuY3Rpb24odGl0bGUpCitXZWJJbnNwZWN0
b3IuSmF2YVNjcmlwdEJyZWFrcG9pbnRzU2lkZWJhclBhbmUgPSBmdW5jdGlvbih0aXRsZSkKK3sK
KyAgICBXZWJJbnNwZWN0b3IuU2lkZWJhclBhbmUuY2FsbCh0aGlzLCBXZWJJbnNwZWN0b3IuVUlT
dHJpbmcoIkJyZWFrcG9pbnRzIikpOworCisgICAgdGhpcy5saXN0RWxlbWVudCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoIm9sIik7CisgICAgdGhpcy5saXN0RWxlbWVudC5jbGFzc05hbWUgPSAi
YnJlYWtwb2ludC1saXN0IjsKKworICAgIHRoaXMuZW1wdHlFbGVtZW50ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgiZGl2Iik7CisgICAgdGhpcy5lbXB0eUVsZW1lbnQuY2xhc3NOYW1lID0gImlu
Zm8iOworICAgIHRoaXMuZW1wdHlFbGVtZW50LnRleHRDb250ZW50ID0gV2ViSW5zcGVjdG9yLlVJ
U3RyaW5nKCJObyBCcmVha3BvaW50cyIpOworCisgICAgdGhpcy5ib2R5RWxlbWVudC5hcHBlbmRD
aGlsZCh0aGlzLmVtcHR5RWxlbWVudCk7CisKKyAgICB0aGlzLl9pdGVtcyA9IHt9OworCisgICAg
V2ViSW5zcGVjdG9yLmRlYnVnZ2VyTW9kZWwuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3Iu
RGVidWdnZXJNb2RlbC5FdmVudHMuQnJlYWtwb2ludEFkZGVkLCB0aGlzLl9icmVha3BvaW50QWRk
ZWQsIHRoaXMpOworICAgIFdlYkluc3BlY3Rvci5kZWJ1Z2dlck1vZGVsLmFkZEV2ZW50TGlzdGVu
ZXIoV2ViSW5zcGVjdG9yLkRlYnVnZ2VyTW9kZWwuRXZlbnRzLkJyZWFrcG9pbnRSZW1vdmVkLCB0
aGlzLl9icmVha3BvaW50UmVtb3ZlZCwgdGhpcyk7CisgICAgV2ViSW5zcGVjdG9yLmRlYnVnZ2Vy
TW9kZWwuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuRGVidWdnZXJNb2RlbC5FdmVudHMu
RGVidWdnZXJQYXVzZWQsIHRoaXMuX2RlYnVnZ2VyUGF1c2VkLCB0aGlzKTsKKyAgICBXZWJJbnNw
ZWN0b3IuZGVidWdnZXJNb2RlbC5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5EZWJ1Z2dl
ck1vZGVsLkV2ZW50cy5EZWJ1Z2dlclJlc3VtZWQsIHRoaXMuX2RlYnVnZ2VyUmVzdW1lZCwgdGhp
cyk7CisgICAgV2ViSW5zcGVjdG9yLmJyZWFrcG9pbnRNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIo
V2ViSW5zcGVjdG9yLkJyZWFrcG9pbnRNYW5hZ2VyLkV2ZW50cy5Qcm9qZWN0Q2hhbmdlZCwgdGhp
cy5fcHJvamVjdENoYW5nZWQsIHRoaXMpOworfQorCitXZWJJbnNwZWN0b3IuSmF2YVNjcmlwdEJy
ZWFrcG9pbnRzU2lkZWJhclBhbmUucHJvdG90eXBlID0geworICAgIF9icmVha3BvaW50QWRkZWQ6
IGZ1bmN0aW9uKGV2ZW50KQorICAgIHsKKyAgICAgICAgdmFyIGJyZWFrcG9pbnQgPSBldmVudC5k
YXRhOworICAgICAgICB2YXIgYnJlYWtwb2ludElkID0gYnJlYWtwb2ludC5pZDsKKyAgICAgICAg
dmFyIGRhdGEgPSBicmVha3BvaW50LmRhdGE7CisKKyAgICAgICAgdmFyIGVsZW1lbnQgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJsaSIpOworCisgICAgICAgIHZhciBjaGVja2JveCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoImlucHV0Iik7CisgICAgICAgIGNoZWNrYm94LmNsYXNzTmFtZSA9
ICJjaGVja2JveC1lbGVtIjsKKyAgICAgICAgY2hlY2tib3gudHlwZSA9ICJjaGVja2JveCI7Cisg
ICAgICAgIGNoZWNrYm94LmNoZWNrZWQgPSBicmVha3BvaW50LmVuYWJsZWQ7CisgICAgICAgIGNo
ZWNrYm94LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgdGhpcy5fYnJlYWtwb2ludEl0ZW1DaGVj
a2JveENsaWNrZWQuYmluZCh0aGlzLCBicmVha3BvaW50SWQpLCBmYWxzZSk7CisgICAgICAgIGVs
ZW1lbnQuYXBwZW5kQ2hpbGQoY2hlY2tib3gpOworCisgICAgICAgIHZhciBsYWJlbCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsKKyAgICAgICAgZWxlbWVudC5hcHBlbmRDaGlsZChs
YWJlbCk7CisKKyAgICAgICAgZWxlbWVudC5fZGF0YSA9IGRhdGE7CisgICAgICAgIHZhciBjdXJy
ZW50RWxlbWVudCA9IHRoaXMubGlzdEVsZW1lbnQuZmlyc3RDaGlsZDsKKyAgICAgICAgd2hpbGUg
KGN1cnJlbnRFbGVtZW50KSB7CisgICAgICAgICAgICBpZiAoY3VycmVudEVsZW1lbnQuX2RhdGEg
JiYgdGhpcy5fY29tcGFyZUJyZWFrcG9pbnRzKGN1cnJlbnRFbGVtZW50Ll9kYXRhLCBlbGVtZW50
Ll9kYXRhKSA+IDApCisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjdXJyZW50
RWxlbWVudCA9IGN1cnJlbnRFbGVtZW50Lm5leHRTaWJsaW5nOworICAgICAgICB9CisgICAgICAg
IHRoaXMuX2FkZExpc3RFbGVtZW50KGVsZW1lbnQsIGN1cnJlbnRFbGVtZW50KTsKKworICAgICAg
ICBlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNvbnRleHRtZW51IiwgdGhpcy5fY29udGV4dE1l
bnVFdmVudEZpcmVkLmJpbmQodGhpcywgYnJlYWtwb2ludElkKSwgdHJ1ZSk7CisKKyAgICAgICAg
dGhpcy5fc2V0dXBCcmVha3BvaW50RWxlbWVudChkYXRhLCBlbGVtZW50KTsKKworICAgICAgICB2
YXIgYnJlYWtwb2ludEl0ZW0gPSB7fTsKKyAgICAgICAgYnJlYWtwb2ludEl0ZW0uZGF0YSA9IGRh
dGE7CisgICAgICAgIGJyZWFrcG9pbnRJdGVtLmVsZW1lbnQgPSBlbGVtZW50OworICAgICAgICBi
cmVha3BvaW50SXRlbS5jaGVja2JveCA9IGNoZWNrYm94OworICAgICAgICB0aGlzLl9pdGVtc1ti
cmVha3BvaW50SWRdID0gYnJlYWtwb2ludEl0ZW07CisKKyAgICAgICAgaWYgKCF0aGlzLmV4cGFu
ZGVkKQorICAgICAgICAgICAgdGhpcy5leHBhbmRlZCA9IHRydWU7CisgICAgfSwKKworICAgIF9i
cmVha3BvaW50UmVtb3ZlZDogZnVuY3Rpb24oZXZlbnQpCisgICAgeworICAgICAgICB2YXIgYnJl
YWtwb2ludElkID0gZXZlbnQuZGF0YTsKKyAgICAgICAgdmFyIGJyZWFrcG9pbnRJdGVtID0gdGhp
cy5faXRlbXNbYnJlYWtwb2ludElkXTsKKyAgICAgICAgaWYgKGJyZWFrcG9pbnRJdGVtKSB7Cisg
ICAgICAgICAgICBkZWxldGUgdGhpcy5faXRlbXNbYnJlYWtwb2ludElkXTsKKyAgICAgICAgICAg
IHRoaXMuX3JlbW92ZUxpc3RFbGVtZW50KGJyZWFrcG9pbnRJdGVtLmVsZW1lbnQpOworICAgICAg
ICB9CisgICAgfSwKKworICAgIF9icmVha3BvaW50RW5hYmxlQ2hhbmdlZDogZnVuY3Rpb24oZW5h
YmxlZCwgZXZlbnQpCisgICAgeworICAgICAgICB2YXIgYnJlYWtwb2ludElkID0gZXZlbnQuZGF0
YTsKKyAgICAgICAgdmFyIGJyZWFrcG9pbnRJdGVtID0gdGhpcy5faXRlbXNbYnJlYWtwb2ludElk
XTsKKyAgICAgICAgaWYgKGJyZWFrcG9pbnRJdGVtKQorICAgICAgICAgICAgYnJlYWtwb2ludEl0
ZW0uY2hlY2tib3guY2hlY2tlZCA9IGVuYWJsZWQ7CisgICAgfSwKKworICAgIF9icmVha3BvaW50
SXRlbUNoZWNrYm94Q2xpY2tlZDogZnVuY3Rpb24oYnJlYWtwb2ludElkLCBldmVudCkKKyAgICB7
CisgICAgICAgIHRoaXMuX3NldEJyZWFrcG9pbnRFbmFibGVkKGJyZWFrcG9pbnRJZCwgZXZlbnQu
dGFyZ2V0LmNoZWNrZWQpOworCisgICAgICAgIC8vIEJyZWFrcG9pbnQgZWxlbWVudCBtYXkgaGF2
ZSBpdCdzIG93biBjbGljayBoYW5kbGVyLgorICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24o
KTsKKyAgICB9LAorCisgICAgX2NvbnRleHRNZW51RXZlbnRGaXJlZDogZnVuY3Rpb24oYnJlYWtw
b2ludElkLCBldmVudCkKKyAgICB7CisgICAgICAgIHZhciBjb250ZXh0TWVudSA9IG5ldyBXZWJJ
bnNwZWN0b3IuQ29udGV4dE1lbnUoKTsKKyAgICAgICAgY29udGV4dE1lbnUuYXBwZW5kSXRlbShX
ZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlJlbW92ZSBCcmVha3BvaW50IiksIHRoaXMuX3JlbW92ZUJy
ZWFrcG9pbnQuYmluZCh0aGlzLCBicmVha3BvaW50SWQpKTsKKyAgICAgICAgY29udGV4dE1lbnUu
c2hvdyhldmVudCk7CisgICAgfSwKKworICAgIF9kZWJ1Z2dlclBhdXNlZDogZnVuY3Rpb24oZXZl
bnQpCisgICAgeworICAgICAgICB2YXIgYnJlYWtwb2ludElkID0gdGhpcy5fYnJlYWtwb2ludElk
Rm9yRGVidWdnZXJQYXVzZWRFdmVudChldmVudC5kYXRhKTsKKyAgICAgICAgaWYgKCFicmVha3Bv
aW50SWQpCisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIHZhciBicmVha3BvaW50SXRlbSA9
IHRoaXMuX2l0ZW1zW2JyZWFrcG9pbnRJZF07CisgICAgICAgIGlmICghYnJlYWtwb2ludEl0ZW0p
CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIGJyZWFrcG9pbnRJdGVtLmVsZW1lbnQuYWRk
U3R5bGVDbGFzcygiYnJlYWtwb2ludC1oaXQiKTsKKyAgICAgICAgdGhpcy5fbGFzdEhpdEJyZWFr
cG9pbnRJdGVtID0gYnJlYWtwb2ludEl0ZW07CisgICAgfSwKKworICAgIF9kZWJ1Z2dlclJlc3Vt
ZWQ6IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIGlmICh0aGlzLl9sYXN0SGl0QnJlYWtwb2lu
dEl0ZW0pIHsKKyAgICAgICAgICAgIHRoaXMuX2xhc3RIaXRCcmVha3BvaW50SXRlbS5lbGVtZW50
LnJlbW92ZVN0eWxlQ2xhc3MoImJyZWFrcG9pbnQtaGl0Iik7CisgICAgICAgICAgICBkZWxldGUg
dGhpcy5fbGFzdEhpdEJyZWFrcG9pbnRJdGVtOworICAgICAgICB9CisgICAgfSwKKworICAgIF9h
ZGRMaXN0RWxlbWVudDogZnVuY3Rpb24oZWxlbWVudCwgYmVmb3JlRWxlbWVudCkKKyAgICB7Cisg
ICAgICAgIGlmIChiZWZvcmVFbGVtZW50KQorICAgICAgICAgICAgdGhpcy5saXN0RWxlbWVudC5p
bnNlcnRCZWZvcmUoZWxlbWVudCwgYmVmb3JlRWxlbWVudCk7CisgICAgICAgIGVsc2UgeworICAg
ICAgICAgICAgaWYgKCF0aGlzLmxpc3RFbGVtZW50LmZpcnN0Q2hpbGQpIHsKKyAgICAgICAgICAg
ICAgICB0aGlzLmJvZHlFbGVtZW50LnJlbW92ZUNoaWxkKHRoaXMuZW1wdHlFbGVtZW50KTsKKyAg
ICAgICAgICAgICAgICB0aGlzLmJvZHlFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMubGlzdEVsZW1l
bnQpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgdGhpcy5saXN0RWxlbWVudC5hcHBlbmRD
aGlsZChlbGVtZW50KTsKKyAgICAgICAgfQorICAgIH0sCisKKyAgICBfcmVtb3ZlTGlzdEVsZW1l
bnQ6IGZ1bmN0aW9uKGVsZW1lbnQpCisgICAgeworICAgICAgICB0aGlzLmxpc3RFbGVtZW50LnJl
bW92ZUNoaWxkKGVsZW1lbnQpOworICAgICAgICBpZiAoIXRoaXMubGlzdEVsZW1lbnQuZmlyc3RD
aGlsZCkgeworICAgICAgICAgICAgdGhpcy5ib2R5RWxlbWVudC5yZW1vdmVDaGlsZCh0aGlzLmxp
c3RFbGVtZW50KTsKKyAgICAgICAgICAgIHRoaXMuYm9keUVsZW1lbnQuYXBwZW5kQ2hpbGQodGhp
cy5lbXB0eUVsZW1lbnQpOworICAgICAgICB9CisgICAgfSwKKworICAgIF9wcm9qZWN0Q2hhbmdl
ZDogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgdGhpcy5saXN0RWxlbWVudC5yZW1vdmVDaGls
ZHJlbigpOworICAgICAgICBpZiAodGhpcy5saXN0RWxlbWVudC5wYXJlbnRFbGVtZW50KSB7Cisg
ICAgICAgICAgICB0aGlzLmJvZHlFbGVtZW50LnJlbW92ZUNoaWxkKHRoaXMubGlzdEVsZW1lbnQp
OworICAgICAgICAgICAgdGhpcy5ib2R5RWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLmVtcHR5RWxl
bWVudCk7CisgICAgICAgIH0KKyAgICAgICAgdGhpcy5faXRlbXMgPSB7fTsKKyAgICB9LAorCisg
ICAgX2NvbXBhcmU6IGZ1bmN0aW9uKHgsIHkpCisgICAgeworICAgICAgICBpZiAoeCAhPT0geSkK
KyAgICAgICAgICAgIHJldHVybiB4IDwgeSA/IC0xIDogMTsKKyAgICAgICAgcmV0dXJuIDA7Cisg
ICAgfSwKKworICAgIF9jb21wYXJlQnJlYWtwb2ludHM6IGZ1bmN0aW9uKGIxLCBiMikKKyAgICB7
CisgICAgICAgIHJldHVybiB0aGlzLl9jb21wYXJlKGIxLnVybCwgYjIudXJsKSB8fCB0aGlzLl9j
b21wYXJlKGIxLmxpbmVOdW1iZXIsIGIyLmxpbmVOdW1iZXIpOworICAgIH0sCisKKyAgICBfc2V0
dXBCcmVha3BvaW50RWxlbWVudDogZnVuY3Rpb24oZGF0YSwgZWxlbWVudCkKKyAgICB7CisgICAg
ICAgIHZhciBkaXNwbGF5TmFtZSA9IGRhdGEudXJsID8gV2ViSW5zcGVjdG9yLmRpc3BsYXlOYW1l
Rm9yVVJMKGRhdGEudXJsKSA6IFdlYkluc3BlY3Rvci5VSVN0cmluZygiKHByb2dyYW0pIik7Cisg
ICAgICAgIHZhciBsYWJlbEVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShkaXNwbGF5
TmFtZSArICI6IiArIGRhdGEubGluZU51bWJlcik7CisgICAgICAgIGVsZW1lbnQuYXBwZW5kQ2hp
bGQobGFiZWxFbGVtZW50KTsKKworICAgICAgICB2YXIgc291cmNlVGV4dEVsZW1lbnQgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKKyAgICAgICAgc291cmNlVGV4dEVsZW1lbnQuY2xh
c3NOYW1lID0gInNvdXJjZS10ZXh0IG1vbm9zcGFjZSI7CisgICAgICAgIGVsZW1lbnQuYXBwZW5k
Q2hpbGQoc291cmNlVGV4dEVsZW1lbnQpOworCisgICAgICAgIGZ1bmN0aW9uIGRpZEdldFNvdXJj
ZUxpbmUodGV4dCkKKyAgICAgICAgeworICAgICAgICAgICAgc291cmNlVGV4dEVsZW1lbnQudGV4
dENvbnRlbnQgPSB0ZXh0OworICAgICAgICB9CisgICAgICAgIHZhciBzY3JpcHQgPSBXZWJJbnNw
ZWN0b3IuZGVidWdnZXJNb2RlbC5zY3JpcHRGb3JTb3VyY2VJRChkYXRhLnNvdXJjZUlEKTsKKyAg
ICAgICAgc2NyaXB0LnNvdXJjZUxpbmUoZGF0YS5saW5lTnVtYmVyLCBkaWRHZXRTb3VyY2VMaW5l
LmJpbmQodGhpcykpOworCisgICAgICAgIGVsZW1lbnQuYWRkU3R5bGVDbGFzcygiY3Vyc29yLXBv
aW50ZXIiKTsKKyAgICAgICAgdmFyIGNsaWNrSGFuZGxlciA9IFdlYkluc3BlY3Rvci5wYW5lbHMu
c2NyaXB0cy5zaG93U291cmNlTGluZS5iaW5kKFdlYkluc3BlY3Rvci5wYW5lbHMuc2NyaXB0cywg
ZGF0YS51cmwsIGRhdGEubGluZU51bWJlcik7CisgICAgICAgIGVsZW1lbnQuYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCBjbGlja0hhbmRsZXIsIGZhbHNlKTsKKyAgICB9LAorCisgICAgX2JyZWFr
cG9pbnRJZEZvckRlYnVnZ2VyUGF1c2VkRXZlbnQ6IGZ1bmN0aW9uKGRldGFpbHMpCisgICAgewor
ICAgICAgICB2YXIgY2FsbEZyYW1lID0gZGV0YWlscy5jYWxsRnJhbWVzWzBdOworICAgICAgICB2
YXIgYnJlYWtwb2ludCA9IFdlYkluc3BlY3Rvci5kZWJ1Z2dlck1vZGVsLmZpbmRCcmVha3BvaW50
KGNhbGxGcmFtZS5zb3VyY2VJRCwgY2FsbEZyYW1lLmxpbmUpOworICAgICAgICBpZiAoYnJlYWtw
b2ludCkKKyAgICAgICAgICAgIHJldHVybiBicmVha3BvaW50LmlkOworICAgfSwKKworICAgIF9z
ZXRCcmVha3BvaW50RW5hYmxlZDogZnVuY3Rpb24oYnJlYWtwb2ludElkLCBlbmFibGVkKQorICAg
IHsKKyAgICAgICAgdmFyIGJyZWFrcG9pbnQgPSBXZWJJbnNwZWN0b3IuZGVidWdnZXJNb2RlbC5i
cmVha3BvaW50Rm9ySWQoYnJlYWtwb2ludElkKTsKKyAgICAgICAgV2ViSW5zcGVjdG9yLmRlYnVn
Z2VyTW9kZWwucmVtb3ZlQnJlYWtwb2ludChicmVha3BvaW50SWQpOworICAgICAgICBXZWJJbnNw
ZWN0b3IuZGVidWdnZXJNb2RlbC5zZXRCcmVha3BvaW50KGJyZWFrcG9pbnQuc291cmNlSUQsIGJy
ZWFrcG9pbnQubGluZSwgZW5hYmxlZCwgYnJlYWtwb2ludC5jb25kaXRpb24pOworICAgIH0sCisK
KyAgICBfcmVtb3ZlQnJlYWtwb2ludDogZnVuY3Rpb24oYnJlYWtwb2ludElkKQorICAgIHsKKyAg
ICAgICAgV2ViSW5zcGVjdG9yLmRlYnVnZ2VyTW9kZWwucmVtb3ZlQnJlYWtwb2ludChicmVha3Bv
aW50SWQpOworICAgIH0KK30KKworV2ViSW5zcGVjdG9yLkphdmFTY3JpcHRCcmVha3BvaW50c1Np
ZGViYXJQYW5lLnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuU2lkZWJhclBhbmUu
cHJvdG90eXBlOworCitXZWJJbnNwZWN0b3IuTmF0aXZlQnJlYWtwb2ludHNTaWRlYmFyUGFuZSA9
IGZ1bmN0aW9uKHRpdGxlKQogewogICAgIFdlYkluc3BlY3Rvci5TaWRlYmFyUGFuZS5jYWxsKHRo
aXMsIHRpdGxlKTsKIApAQCAtMzksNyArMjQ1LDcgQEAgV2ViSW5zcGVjdG9yLkJyZWFrcG9pbnRz
U2lkZWJhclBhbmUgPSBmdW5jdGlvbih0aXRsZSkKICAgICBXZWJJbnNwZWN0b3IuYnJlYWtwb2lu
dE1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuQnJlYWtwb2ludE1hbmFnZXIu
RXZlbnRzLlByb2plY3RDaGFuZ2VkLCB0aGlzLl9wcm9qZWN0Q2hhbmdlZCwgdGhpcyk7CiB9CiAK
LVdlYkluc3BlY3Rvci5CcmVha3BvaW50c1NpZGViYXJQYW5lLnByb3RvdHlwZSA9IHsKK1dlYklu
c3BlY3Rvci5OYXRpdmVCcmVha3BvaW50c1NpZGViYXJQYW5lLnByb3RvdHlwZSA9IHsKICAgICBh
ZGRCcmVha3BvaW50SXRlbTogZnVuY3Rpb24oYnJlYWtwb2ludEl0ZW0pCiAgICAgewogICAgICAg
ICB2YXIgZWxlbWVudCA9IGJyZWFrcG9pbnRJdGVtLmVsZW1lbnQ7CkBAIC0xMDIsMTEgKzMwOCwx
MSBAQCBXZWJJbnNwZWN0b3IuQnJlYWtwb2ludHNTaWRlYmFyUGFuZS5wcm90b3R5cGUgPSB7CiAg
ICAgfQogfQogCi1XZWJJbnNwZWN0b3IuQnJlYWtwb2ludHNTaWRlYmFyUGFuZS5wcm90b3R5cGUu
X19wcm90b19fID0gV2ViSW5zcGVjdG9yLlNpZGViYXJQYW5lLnByb3RvdHlwZTsKK1dlYkluc3Bl
Y3Rvci5OYXRpdmVCcmVha3BvaW50c1NpZGViYXJQYW5lLnByb3RvdHlwZS5fX3Byb3RvX18gPSBX
ZWJJbnNwZWN0b3IuU2lkZWJhclBhbmUucHJvdG90eXBlOwogCiBXZWJJbnNwZWN0b3IuWEhSQnJl
YWtwb2ludHNTaWRlYmFyUGFuZSA9IGZ1bmN0aW9uKCkKIHsKLSAgICBXZWJJbnNwZWN0b3IuQnJl
YWtwb2ludHNTaWRlYmFyUGFuZS5jYWxsKHRoaXMsIFdlYkluc3BlY3Rvci5VSVN0cmluZygiWEhS
IEJyZWFrcG9pbnRzIikpOworICAgIFdlYkluc3BlY3Rvci5OYXRpdmVCcmVha3BvaW50c1NpZGVi
YXJQYW5lLmNhbGwodGhpcywgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJYSFIgQnJlYWtwb2ludHMi
KSk7CiAKICAgICBmdW5jdGlvbiBhZGRCdXR0b25DbGlja2VkKGV2ZW50KQogICAgIHsKQEAgLTEy
Myw3ICszMjksNyBAQCBXZWJJbnNwZWN0b3IuWEhSQnJlYWtwb2ludHNTaWRlYmFyUGFuZSA9IGZ1
bmN0aW9uKCkKIFdlYkluc3BlY3Rvci5YSFJCcmVha3BvaW50c1NpZGViYXJQYW5lLnByb3RvdHlw
ZSA9IHsKICAgICBhZGRCcmVha3BvaW50SXRlbTogZnVuY3Rpb24oYnJlYWtwb2ludEl0ZW0pCiAg
ICAgewotICAgICAgICBXZWJJbnNwZWN0b3IuQnJlYWtwb2ludHNTaWRlYmFyUGFuZS5wcm90b3R5
cGUuYWRkQnJlYWtwb2ludEl0ZW0uY2FsbCh0aGlzLCBicmVha3BvaW50SXRlbSk7CisgICAgICAg
IFdlYkluc3BlY3Rvci5OYXRpdmVCcmVha3BvaW50c1NpZGViYXJQYW5lLnByb3RvdHlwZS5hZGRC
cmVha3BvaW50SXRlbS5jYWxsKHRoaXMsIGJyZWFrcG9pbnRJdGVtKTsKICAgICAgICAgYnJlYWtw
b2ludEl0ZW0uX2xhYmVsRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJkYmxjbGljayIsIHRoaXMu
X3N0YXJ0RWRpdGluZ0JyZWFrcG9pbnQuYmluZCh0aGlzLCBicmVha3BvaW50SXRlbSksIGZhbHNl
KTsKICAgICB9LAogCkBAIC0xNjYsNyArMzcyLDcgQEAgV2ViSW5zcGVjdG9yLlhIUkJyZWFrcG9p
bnRzU2lkZWJhclBhbmUucHJvdG90eXBlID0gewogICAgIH0KIH0KIAotV2ViSW5zcGVjdG9yLlhI
UkJyZWFrcG9pbnRzU2lkZWJhclBhbmUucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rv
ci5CcmVha3BvaW50c1NpZGViYXJQYW5lLnByb3RvdHlwZTsKK1dlYkluc3BlY3Rvci5YSFJCcmVh
a3BvaW50c1NpZGViYXJQYW5lLnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuTmF0
aXZlQnJlYWtwb2ludHNTaWRlYmFyUGFuZS5wcm90b3R5cGU7CiAKIFdlYkluc3BlY3Rvci5CcmVh
a3BvaW50SXRlbSA9IGZ1bmN0aW9uKGJyZWFrcG9pbnQpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RlYnVnZ2VyTW9kZWwuanMgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RlYnVnZ2VyTW9kZWwuanMKaW5kZXggZmJjZWIyNS4u
ZTAxZjhiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9E
ZWJ1Z2dlck1vZGVsLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
RGVidWdnZXJNb2RlbC5qcwpAQCAtODQsNiArODQsNyBAQCBXZWJJbnNwZWN0b3IuRGVidWdnZXJN
b2RlbC5wcm90b3R5cGUgPSB7CiAgICAgICAgIGRlbGV0ZSB0aGlzLl9icmVha3BvaW50c1ticmVh
a3BvaW50SWRdOwogICAgICAgICBkZWxldGUgdGhpcy5fc291cmNlSURBbmRMaW5lVG9CcmVha3Bv
aW50SWRbdGhpcy5fZW5jb2RlU291cmNlSURBbmRMaW5lKGJyZWFrcG9pbnQuc291cmNlSUQsIGJy
ZWFrcG9pbnQubGluZSldOwogICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhX
ZWJJbnNwZWN0b3IuRGVidWdnZXJNb2RlbC5FdmVudHMuQnJlYWtwb2ludFJlbW92ZWQsIGJyZWFr
cG9pbnRJZCk7CisgICAgICAgIGJyZWFrcG9pbnQuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKCJy
ZW1vdmVkIik7CiAgICAgfSwKIAogICAgIF9icmVha3BvaW50U2V0T25CYWNrZW5kOiBmdW5jdGlv
bihicmVha3BvaW50SWQsIHNvdXJjZUlELCBsaW5lTnVtYmVyLCBjb25kaXRpb24sIGVuYWJsZWQs
IG9yaWdpbmFsTGluZU51bWJlciwgcmVzdG9yZWQpCkBAIC0xMDMsNiArMTA0LDExIEBAIFdlYklu
c3BlY3Rvci5EZWJ1Z2dlck1vZGVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgdGhpcy5kaXNwYXRj
aEV2ZW50VG9MaXN0ZW5lcnMoV2ViSW5zcGVjdG9yLkRlYnVnZ2VyTW9kZWwuRXZlbnRzLkJyZWFr
cG9pbnRBZGRlZCwgYnJlYWtwb2ludCk7CiAgICAgfSwKIAorICAgIGJyZWFrcG9pbnRGb3JJZDog
ZnVuY3Rpb24oYnJlYWtwb2ludElkKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRoaXMuX2JyZWFr
cG9pbnRzW2JyZWFrcG9pbnRJZF07CisgICAgfSwKKwogICAgIHF1ZXJ5QnJlYWtwb2ludHM6IGZ1
bmN0aW9uKGZpbHRlcikKICAgICB7CiAgICAgICAgIHZhciBicmVha3BvaW50cyA9IFtdOwpAQCAt
MTY0LDI2ICsxNzAsMTIgQEAgV2ViSW5zcGVjdG9yLkRlYnVnZ2VyTW9kZWwucHJvdG90eXBlID0g
ewogICAgICAgICAgICAgZGVsZXRlIHRoaXMuX2NvbnRpbnVlVG9MaW5lQnJlYWtwb2ludElkOwog
ICAgICAgICB9CiAgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdlYkluc3Bl
Y3Rvci5EZWJ1Z2dlck1vZGVsLkV2ZW50cy5EZWJ1Z2dlclBhdXNlZCwgZGV0YWlscyk7Ci0KLSAg
ICAgICAgaWYgKGRldGFpbHMuZXZlbnRUeXBlID09PSBXZWJJbnNwZWN0b3IuRGVidWdnZXJFdmVu
dFR5cGVzLkphdmFTY3JpcHRQYXVzZSB8fCBkZXRhaWxzLmV2ZW50VHlwZSA9PT0gV2ViSW5zcGVj
dG9yLkRlYnVnZ2VyRXZlbnRUeXBlcy5OYXRpdmVCcmVha3BvaW50KQotICAgICAgICAgICAgcmV0
dXJuOwotCi0gICAgICAgIHZhciBicmVha3BvaW50ID0gdGhpcy5maW5kQnJlYWtwb2ludChkZXRh
aWxzLmNhbGxGcmFtZXNbMF0uc291cmNlSUQsIGRldGFpbHMuY2FsbEZyYW1lc1swXS5saW5lKTsK
LSAgICAgICAgaWYgKCFicmVha3BvaW50KQotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICBi
cmVha3BvaW50LmhpdCA9IHRydWU7Ci0gICAgICAgIHRoaXMuX2xhc3RIaXRCcmVha3BvaW50ID0g
YnJlYWtwb2ludDsKICAgICB9LAogCiAgICAgX3Jlc3VtZWRTY3JpcHQ6IGZ1bmN0aW9uKCkKICAg
ICB7CiAgICAgICAgIHRoaXMuX3BhdXNlZCA9IGZhbHNlOwogICAgICAgICB0aGlzLmRpc3BhdGNo
RXZlbnRUb0xpc3RlbmVycyhXZWJJbnNwZWN0b3IuRGVidWdnZXJNb2RlbC5FdmVudHMuRGVidWdn
ZXJSZXN1bWVkKTsKLQotICAgICAgICBpZiAoIXRoaXMuX2xhc3RIaXRCcmVha3BvaW50KQotICAg
ICAgICAgICAgcmV0dXJuOwotICAgICAgICB0aGlzLl9sYXN0SGl0QnJlYWtwb2ludC5oaXQgPSBm
YWxzZTsKLSAgICAgICAgZGVsZXRlIHRoaXMuX2xhc3RIaXRCcmVha3BvaW50OwogICAgIH0sCiAK
ICAgICBfcGFyc2VkU2NyaXB0U291cmNlOiBmdW5jdGlvbihzb3VyY2VJRCwgc291cmNlVVJMLCBs
aW5lT2Zmc2V0LCBjb2x1bW5PZmZzZXQsIGxlbmd0aCwgc2NyaXB0V29ybGRUeXBlKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRzUGFuZWwuanMg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdHNQYW5lbC5qcwppbmRl
eCAzZTFiMTRkLi5jM2E3YzRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL1NjcmlwdHNQYW5lbC5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL1NjcmlwdHNQYW5lbC5qcwpAQCAtMTQwLDcgKzE0MCw3IEBAIFdlYkluc3BlY3Rv
ci5TY3JpcHRzUGFuZWwgPSBmdW5jdGlvbigpCiAgICAgdGhpcy5zaWRlYmFyUGFuZXMud2F0Y2hF
eHByZXNzaW9ucyA9IG5ldyBXZWJJbnNwZWN0b3IuV2F0Y2hFeHByZXNzaW9uc1NpZGViYXJQYW5l
KCk7CiAgICAgdGhpcy5zaWRlYmFyUGFuZXMuY2FsbHN0YWNrID0gbmV3IFdlYkluc3BlY3Rvci5D
YWxsU3RhY2tTaWRlYmFyUGFuZSgpOwogICAgIHRoaXMuc2lkZWJhclBhbmVzLnNjb3BlY2hhaW4g
PSBuZXcgV2ViSW5zcGVjdG9yLlNjb3BlQ2hhaW5TaWRlYmFyUGFuZSgpOwotICAgIHRoaXMuc2lk
ZWJhclBhbmVzLmpzQnJlYWtwb2ludHMgPSBXZWJJbnNwZWN0b3IuY3JlYXRlSlNCcmVha3BvaW50
c1NpZGViYXJQYW5lKCk7CisgICAgdGhpcy5zaWRlYmFyUGFuZXMuanNCcmVha3BvaW50cyA9IG5l
dyBXZWJJbnNwZWN0b3IuSmF2YVNjcmlwdEJyZWFrcG9pbnRzU2lkZWJhclBhbmUoKTsKICAgICBp
ZiAoUHJlZmVyZW5jZXMubmF0aXZlSW5zdHJ1bWVudGF0aW9uRW5hYmxlZCkgewogICAgICAgICB0
aGlzLnNpZGViYXJQYW5lcy5kb21CcmVha3BvaW50cyA9IFdlYkluc3BlY3Rvci5jcmVhdGVET01C
cmVha3BvaW50c1NpZGViYXJQYW5lKCk7CiAgICAgICAgIHRoaXMuc2lkZWJhclBhbmVzLnhockJy
ZWFrcG9pbnRzID0gV2ViSW5zcGVjdG9yLmNyZWF0ZVhIUkJyZWFrcG9pbnRzU2lkZWJhclBhbmUo
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVj
dG9yLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanMK
aW5kZXggMjkzYzZkOS4uYzVmOTk1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9pbnNwZWN0b3IuanMKQEAgLTE4NSwyMCArMTg1LDkgQEAgdmFyIFdlYkluc3Bl
Y3RvciA9IHsKICAgICAgICAgfQogICAgIH0sCiAKLSAgICBjcmVhdGVKU0JyZWFrcG9pbnRzU2lk
ZWJhclBhbmU6IGZ1bmN0aW9uKCkKLSAgICB7Ci0gICAgICAgIHZhciBwYW5lID0gbmV3IFdlYklu
c3BlY3Rvci5CcmVha3BvaW50c1NpZGViYXJQYW5lKFdlYkluc3BlY3Rvci5VSVN0cmluZygiQnJl
YWtwb2ludHMiKSk7Ci0gICAgICAgIGZ1bmN0aW9uIGJyZWFrcG9pbnRBZGRlZChldmVudCkKLSAg
ICAgICAgewotICAgICAgICAgICAgcGFuZS5hZGRCcmVha3BvaW50SXRlbShuZXcgV2ViSW5zcGVj
dG9yLkJyZWFrcG9pbnRJdGVtKGV2ZW50LmRhdGEpKTsKLSAgICAgICAgfQotICAgICAgICBXZWJJ
bnNwZWN0b3IuZGVidWdnZXJNb2RlbC5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5EZWJ1
Z2dlck1vZGVsLkV2ZW50cy5CcmVha3BvaW50QWRkZWQsIGJyZWFrcG9pbnRBZGRlZCk7Ci0gICAg
ICAgIHJldHVybiBwYW5lOwotICAgIH0sCi0KICAgICBjcmVhdGVET01CcmVha3BvaW50c1NpZGVi
YXJQYW5lOiBmdW5jdGlvbigpCiAgICAgewotICAgICAgICB2YXIgcGFuZSA9IG5ldyBXZWJJbnNw
ZWN0b3IuQnJlYWtwb2ludHNTaWRlYmFyUGFuZShXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkRPTSBC
cmVha3BvaW50cyIpKTsKKyAgICAgICAgdmFyIHBhbmUgPSBuZXcgV2ViSW5zcGVjdG9yLk5hdGl2
ZUJyZWFrcG9pbnRzU2lkZWJhclBhbmUoV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJET00gQnJlYWtw
b2ludHMiKSk7CiAgICAgICAgIGZ1bmN0aW9uIGJyZWFrcG9pbnRBZGRlZChldmVudCkKICAgICAg
ICAgewogICAgICAgICAgICAgcGFuZS5hZGRCcmVha3BvaW50SXRlbShuZXcgV2ViSW5zcGVjdG9y
LkJyZWFrcG9pbnRJdGVtKGV2ZW50LmRhdGEpKTsK
</data>
<flag name="review"
          id="70974"
          type_id="1"
          status="+"
          setter="yurys"
    />
          </attachment>
      

    </bug>

</bugzilla>