<?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>84855</bug_id>
          
          <creation_ts>2012-04-25 06:13:23 -0700</creation_ts>
          <short_desc>Web Inspector: extract Linkifier from DebuggerPresentationModel.</short_desc>
          <delta_ts>2012-04-25 06:33:21 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Pavel Feldman">pfeldman</reporter>
          <assigned_to name="Pavel Feldman">pfeldman</assigned_to>
          <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>609691</commentid>
    <comment_count>0</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-04-25 06:13:23 -0700</bug_when>
    <thetext>There is nothing Linkifier needs from the model, extracting as a top-level class.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>609692</commentid>
    <comment_count>1</comment_count>
      <attachid>138800</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-04-25 06:18:04 -0700</bug_when>
    <thetext>Created attachment 138800
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>609700</commentid>
    <comment_count>2</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-04-25 06:33:21 -0700</bug_when>
    <thetext>Committed r115194: &lt;http://trac.webkit.org/changeset/115194&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>138800</attachid>
            <date>2012-04-25 06:18:04 -0700</date>
            <delta_ts>2012-04-25 06:29:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-84855-20120425171802.patch</filename>
            <type>text/plain</type>
            <size>24045</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE1MTg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTljMTUxMGU2NzM5MDEz
NzM0NWYwODliODc4ZDI0YTNiNGMzYmUxYy4uYmNlYjM4MWY3MjNhZTQyODBhYjQ5Y2RkZDNkMmJh
NGE4Yzg0Yjc3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQ0IEBACiAyMDEyLTA0LTI1ICBQYXZl
bCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgogCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IGV4dHJhY3QgTGlua2lmaWVyIGZyb20gRGVidWdnZXJQcmVzZW50YXRpb25Nb2RlbC4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg0ODU1CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlcmUgaXMgbm90
aGluZyBMaW5raWZpZXIgbmVlZHMgZnJvbSB0aGUgbW9kZWwsIGV4dHJhY3RpbmcgYXMgYSB0b3At
bGV2ZWwgY2xhc3MuCisKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29y
ZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogaW5zcGVjdG9yL2NvbXBpbGUtZnJv
bnQtZW5kLnB5OgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvQ29uc29sZU1lc3NhZ2Uu
anM6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9Db25zb2xlVmlldy5qczoKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5Db25zb2xlVmlldyk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250
LWVuZC9EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsLmpzOgorICAgICAgICAqIGluc3BlY3Rvci9m
cm9udC1lbmQvRXZlbnRMaXN0ZW5lcnNTaWRlYmFyUGFuZS5qczoKKyAgICAgICAgKiBpbnNwZWN0
b3IvZnJvbnQtZW5kL0xpbmtpZmllci5qczogQWRkZWQuCisgICAgICAgIChXZWJJbnNwZWN0b3Iu
TGlua2lmaWVyRm9ybWF0dGVyKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5MaW5raWZpZXJGb3Jt
YXR0ZXIucHJvdG90eXBlLmZvcm1hdExpdmVBbmNob3IpOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LkxpbmtpZmllcik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTGlua2lmaWVyLnByb3RvdHlwZS5s
aW5raWZ5TG9jYXRpb24pOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkxpbmtpZmllci5wcm90b3R5
cGUubGlua2lmeVJhd0xvY2F0aW9uKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5MaW5raWZpZXIu
cHJvdG90eXBlLnJlc2V0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5MaW5raWZpZXIucHJvdG90
eXBlLl91cGRhdGVBbmNob3IpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkxpbmtpZmllci5EZWZh
dWx0Rm9ybWF0dGVyKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5MaW5raWZpZXIuRGVmYXVsdEZv
cm1hdHRlci5wcm90b3R5cGUuZm9ybWF0TGl2ZUFuY2hvcik6CisgICAgICAgICogaW5zcGVjdG9y
L2Zyb250LWVuZC9OZXR3b3JrUGFuZWwuanM6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVu
ZC9PYmplY3RQb3BvdmVySGVscGVyLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk9iamVjdFBv
cG92ZXJIZWxwZXIucHJvdG90eXBlLl9zaG93T2JqZWN0UG9wb3Zlci5zaG93T2JqZWN0UG9wb3Zl
ci4pOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk9iamVjdFBvcG92ZXJIZWxwZXIucHJvdG90eXBl
Ll9zaG93T2JqZWN0UG9wb3Zlcik6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9Qcm9m
aWxlVmlldy5qczoKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdHNTZWFyY2hT
Y29wZS5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TY3JpcHRzU2VhcmNoUmVzdWx0c1BhbmUp
OgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVQcmVzZW50YXRpb25Nb2Rl
bC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsKToK
KyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1dlYktpdC5xcmM6CisgICAgICAgICogaW5z
cGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuaHRtbDoKKworMjAxMi0wNC0yNSAgUGF2ZWwgRmVs
ZG1hbiAgPHBmZWxkbWFuQGNocm9taXVtLm9yZz4KKwogICAgICAgICBXZWIgSW5zcGVjdG9yOiBt
b3ZlIHNvdXJjZW1hcC1hZ25vc3RpYyBwYXJ0IG9mIHRoZSBkZWJ1Z2dlciBwcmVzZW50YXRpb24g
bW9kZWwgaW50byB0aGUgcmF3IGRlYnVnZ2VyLgogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODQ4NTIKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDViMjg4Zjg4
N2Q0ZGRlNDY0MGEwMTI3MDg5MDA0NmJiODg2YTc1ZTIuLmU0ZTFiNjdjMjk0Y2UwOTBjMjZiYjJm
Yjg0YzFlN2JmZDc5M2M1NWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lw
aQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTYzNjksNiArNjM2OSw3IEBA
CiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9KYXZhU2NyaXB0U291cmNlLmpzJywK
ICAgICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL0phdmFTY3JpcHRTb3VyY2VGcmFtZS5q
cycsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9LZXlib2FyZFNob3J0Y3V0Lmpz
JywKKyAgICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL0xpbmtpZmllci5qcycsCiAgICAg
ICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9NZW1vcnlTdGF0aXN0aWNzLmpzJywKICAgICAg
ICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL01ldHJpY3NTaWRlYmFyUGFuZS5qcycsCiAgICAg
ICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9OYXZpZ2F0b3JPdmVybGF5Q29udHJvbGxlci5q
cycsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZj
cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4
IGU0ZWNlMjYwNWU2MTljODNkY2I1YTRhNDYwMzQxOGZlNTk2Nzc0NDUuLjZlNWZiZDUxZDcyNTlh
YzJmZTExMjVmN2EyMjAxMWE1YjMyZTIxNzQgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
dmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC03NDEzNyw2ICs3NDEzNywxMCBAQAogCQkJCQk+CiAJ
CQkJPC9GaWxlPgogCQkJCTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5caW5zcGVjdG9yXGZy
b250LWVuZFxMaW5raWZpZXIuanMiCisJCQkJCT4KKwkJCQk8L0ZpbGU+CisJCQkJPEZpbGUKIAkJ
CQkJUmVsYXRpdmVQYXRoPSIuLlxpbnNwZWN0b3JcZnJvbnQtZW5kXE1ldHJpY3NTaWRlYmFyUGFu
ZS5qcyIKIAkJCQkJPgogCQkJCTwvRmlsZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9jb21waWxlLWZyb250LWVuZC5weSBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9j
b21waWxlLWZyb250LWVuZC5weQppbmRleCBlZmMxZmNjODQzMmVmMTQyM2FiYzFjMzdjNTlhMjhj
NGJlYmMzMWYxLi4yMDg2OGZhYWUxYzk0YWU4MGIzNGQ2OWFlMzNiZTJkYTcxNDNjMjNkIDEwMDc1
NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvY29tcGlsZS1mcm9udC1lbmQucHkKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2NvbXBpbGUtZnJvbnQtZW5kLnB5CkBAIC03Niw2
ICs3Niw3IEBAIG1vZHVsZXMgPSBbCiAgICAgICAgICAgICAiRGVidWdnZXJQcmVzZW50YXRpb25N
b2RlbC5qcyIsCiAgICAgICAgICAgICAiSEFSRW50cnkuanMiLAogICAgICAgICAgICAgIkluZGV4
ZWREQk1vZGVsLmpzIiwKKyAgICAgICAgICAgICJMaW5raWZpZXIuanMiLAogICAgICAgICAgICAg
Ik5ldHdvcmtMb2cuanMiLAogICAgICAgICAgICAgIlBsYWNhcmQuanMiLAogICAgICAgICAgICAg
IlNjcmlwdC5qcyIsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL0NvbnNvbGVNZXNzYWdlLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9Db25zb2xlTWVzc2FnZS5qcwppbmRleCBjMTVlYzEyN2M4ODFlYWQwMjYxZjFkN2U3ZTY2N2Vi
NDUxMTcyYmVkLi5mYmRmNjVlOWUxNzhlM2JkNDMzYWI2ZmVmMTk3YzA0ZGY5ZjQ2NDY2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVNZXNzYWdl
LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29uc29sZU1lc3Nh
Z2UuanMKQEAgLTM1LDcgKzM1LDcgQEAKICAqIEBwYXJhbSB7c3RyaW5nfSBzb3VyY2UKICAqIEBw
YXJhbSB7c3RyaW5nfSBsZXZlbAogICogQHBhcmFtIHtzdHJpbmd9IG1lc3NhZ2UKLSAqIEBwYXJh
bSB7V2ViSW5zcGVjdG9yLkRlYnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwuTGlua2lmaWVyfSBsaW5r
aWZpZXIKKyAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLkxpbmtpZmllcn0gbGlua2lmaWVyCiAgKiBA
cGFyYW0ge3N0cmluZz19IHR5cGUKICAqIEBwYXJhbSB7c3RyaW5nPX0gdXJsCiAgKiBAcGFyYW0g
e251bWJlcj19IGxpbmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvQ29uc29sZVZpZXcuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L0NvbnNvbGVWaWV3LmpzCmluZGV4IDY4M2NjZjEzMTkzN2I0NTc0ZTEyZDRkOGJhNWFmNWU1YmU4
MWJmMWUuLjA4NDc2ODA1YjQ0MDE2ZjA4YmQ2ODUwZmUxYjgwMTBhMWYzNGRiNWYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29uc29sZVZpZXcuanMKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db25zb2xlVmlldy5qcwpAQCAt
MTA5LDcgKzEwOSw3IEBAIFdlYkluc3BlY3Rvci5Db25zb2xlVmlldyA9IGZ1bmN0aW9uKGhpZGVD
b250ZXh0U2VsZWN0b3IpCiAgICAgV2ViSW5zcGVjdG9yLmNvbnNvbGUuYWRkRXZlbnRMaXN0ZW5l
cihXZWJJbnNwZWN0b3IuQ29uc29sZU1vZGVsLkV2ZW50cy5NZXNzYWdlQWRkZWQsIHRoaXMuX2Nv
bnNvbGVNZXNzYWdlQWRkZWQsIHRoaXMpOwogICAgIFdlYkluc3BlY3Rvci5jb25zb2xlLmFkZEV2
ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkNvbnNvbGVNb2RlbC5FdmVudHMuQ29uc29sZUNsZWFy
ZWQsIHRoaXMuX2NvbnNvbGVDbGVhcmVkLCB0aGlzKTsKIAotICAgIHRoaXMuX2xpbmtpZmllciA9
IFdlYkluc3BlY3Rvci5kZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsLmNyZWF0ZUxpbmtpZmllcigp
OworICAgIHRoaXMuX2xpbmtpZmllciA9IG5ldyBXZWJJbnNwZWN0b3IuTGlua2lmaWVyKCk7CiAK
ICAgICB0aGlzLnByb21wdCA9IG5ldyBXZWJJbnNwZWN0b3IuVGV4dFByb21wdFdpdGhIaXN0b3J5
KHRoaXMuY29tcGxldGlvbnNGb3JUZXh0UHJvbXB0LmJpbmQodGhpcyksIEV4cHJlc3Npb25TdG9w
Q2hhcmFjdGVycyArICIuIik7CiAgICAgdGhpcy5wcm9tcHQuc2V0U3VnZ2VzdEJveEVuYWJsZWQo
ImdlbmVyaWMtc3VnZ2VzdCIpOwpAQCAtNzc2LDcgKzc3Niw3IEBAIFdlYkluc3BlY3Rvci5Db25z
b2xlQ29tbWFuZC5wcm90b3R5cGUgPSB7CiAvKioKICAqIEBleHRlbmRzIHtXZWJJbnNwZWN0b3Iu
Q29uc29sZU1lc3NhZ2VJbXBsfQogICogQGNvbnN0cnVjdG9yCi0gKiBAcGFyYW0ge1dlYkluc3Bl
Y3Rvci5EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsLkxpbmtpZmllcn0gbGlua2lmaWVyCisgKiBA
cGFyYW0ge1dlYkluc3BlY3Rvci5MaW5raWZpZXJ9IGxpbmtpZmllcgogICovCiBXZWJJbnNwZWN0
b3IuQ29uc29sZUNvbW1hbmRSZXN1bHQgPSBmdW5jdGlvbihyZXN1bHQsIHdhc1Rocm93biwgb3Jp
Z2luYXRpbmdDb21tYW5kLCBsaW5raWZpZXIpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RlYnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwuanMgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RlYnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwu
anMKaW5kZXggZjNkYzgwNjZiODdmODAxODBiZjI2MDc5N2QxMzI5ODA2MWU3YzRhNi4uOTRmNDU5
YmZjNzUwM2NjMjg4Mzk0MTdkZmUzY2E3YzUzMDRmZWYxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsLmpzCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRGVidWdnZXJQcmVzZW50YXRp
b25Nb2RlbC5qcwpAQCAtNjksMTQgKzY5LDYgQEAgV2ViSW5zcGVjdG9yLkRlYnVnZ2VyUHJlc2Vu
dGF0aW9uTW9kZWwucHJvdG90eXBlID0gewogICAgIH0sCiAKICAgICAvKioKLSAgICAgKiBAcGFy
YW0ge1dlYkluc3BlY3Rvci5EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsLkxpbmtpZmllckZvcm1h
dHRlcj19IGZvcm1hdHRlcgotICAgICAqLwotICAgIGNyZWF0ZUxpbmtpZmllcjogZnVuY3Rpb24o
Zm9ybWF0dGVyKQotICAgIHsKLSAgICAgICAgcmV0dXJuIG5ldyBXZWJJbnNwZWN0b3IuRGVidWdn
ZXJQcmVzZW50YXRpb25Nb2RlbC5MaW5raWZpZXIodGhpcywgZm9ybWF0dGVyKTsKLSAgICB9LAot
Ci0gICAgLyoqCiAgICAgICogQHBhcmFtIHtEZWJ1Z2dlckFnZW50LkxvY2F0aW9ufSByYXdMb2Nh
dGlvbgogICAgICAqIEByZXR1cm4gez9XZWJJbnNwZWN0b3IuVUlMb2NhdGlvbn0KICAgICAgKi8K
QEAgLTQxMywxMTEgKzQwNSw2IEBAIFdlYkluc3BlY3Rvci5EZWJ1Z2dlclByZXNlbnRhdGlvbk1v
ZGVsUmVzb3VyY2VCaW5kaW5nLnByb3RvdHlwZSA9IHsKIFdlYkluc3BlY3Rvci5EZWJ1Z2dlclBy
ZXNlbnRhdGlvbk1vZGVsUmVzb3VyY2VCaW5kaW5nLnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJ
bnNwZWN0b3IuUmVzb3VyY2VEb21haW5Nb2RlbEJpbmRpbmcucHJvdG90eXBlOwogCiAvKioKLSAq
IEBpbnRlcmZhY2UKLSAqLwotV2ViSW5zcGVjdG9yLkRlYnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwu
TGlua2lmaWVyRm9ybWF0dGVyID0gZnVuY3Rpb24oKQotewotfQotCi1XZWJJbnNwZWN0b3IuRGVi
dWdnZXJQcmVzZW50YXRpb25Nb2RlbC5MaW5raWZpZXJGb3JtYXR0ZXIucHJvdG90eXBlID0gewot
ICAgIC8qKgotICAgICAqIEBwYXJhbSB7RWxlbWVudH0gYW5jaG9yCi0gICAgICogQHBhcmFtIHtX
ZWJJbnNwZWN0b3IuVUlMb2NhdGlvbn0gdWlMb2NhdGlvbgotICAgICAqLwotICAgIGZvcm1hdExp
dmVBbmNob3I6IGZ1bmN0aW9uKGFuY2hvciwgdWlMb2NhdGlvbikgeyB9LAotfQotCi0vKioKLSAq
IEBjb25zdHJ1Y3RvcgotICogQGltcGxlbWVudHMge1dlYkluc3BlY3Rvci5EZWJ1Z2dlclByZXNl
bnRhdGlvbk1vZGVsLkxpbmtpZmllckZvcm1hdHRlcn0KLSAqIEBwYXJhbSB7bnVtYmVyPX0gbWF4
TGVuZ3RoCi0gKi8KLVdlYkluc3BlY3Rvci5EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsLkRlZmF1
bHRMaW5raWZpZXJGb3JtYXR0ZXIgPSBmdW5jdGlvbihtYXhMZW5ndGgpCi17Ci0gICAgdGhpcy5f
bWF4TGVuZ3RoID0gbWF4TGVuZ3RoOwotfQotCi1XZWJJbnNwZWN0b3IuRGVidWdnZXJQcmVzZW50
YXRpb25Nb2RlbC5EZWZhdWx0TGlua2lmaWVyRm9ybWF0dGVyLnByb3RvdHlwZSA9IHsKLSAgICAv
KioKLSAgICAgKiBAcGFyYW0ge0VsZW1lbnR9IGFuY2hvcgotICAgICAqIEBwYXJhbSB7V2ViSW5z
cGVjdG9yLlVJTG9jYXRpb259IHVpTG9jYXRpb24KLSAgICAgKi8KLSAgICBmb3JtYXRMaXZlQW5j
aG9yOiBmdW5jdGlvbihhbmNob3IsIHVpTG9jYXRpb24pCi0gICAgewotICAgICAgICBhbmNob3Iu
dGV4dENvbnRlbnQgPSBXZWJJbnNwZWN0b3IuZm9ybWF0TGlua1RleHQodWlMb2NhdGlvbi51aVNv
dXJjZUNvZGUudXJsLCB1aUxvY2F0aW9uLmxpbmVOdW1iZXIpOwotCi0gICAgICAgIHZhciB0ZXh0
ID0gV2ViSW5zcGVjdG9yLmZvcm1hdExpbmtUZXh0KHVpTG9jYXRpb24udWlTb3VyY2VDb2RlLnVy
bCwgdWlMb2NhdGlvbi5saW5lTnVtYmVyKTsKLSAgICAgICAgaWYgKHRoaXMuX21heExlbmd0aCkK
LSAgICAgICAgICAgIHRleHQgPSB0ZXh0LnRyaW1NaWRkbGUodGhpcy5fbWF4TGVuZ3RoKTsKLSAg
ICAgICAgYW5jaG9yLnRleHRDb250ZW50ID0gdGV4dDsKLSAgICB9Ci19Ci0KLVdlYkluc3BlY3Rv
ci5EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsLkRlZmF1bHRMaW5raWZpZXJGb3JtYXR0ZXIucHJv
dG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVs
LkxpbmtpZmllckZvcm1hdHRlci5wcm90b3R5cGU7Ci0KLS8qKgotICogQGNvbnN0cnVjdG9yCi0g
KiBAcGFyYW0ge1dlYkluc3BlY3Rvci5EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsfSBtb2RlbAot
ICogQHBhcmFtIHtXZWJJbnNwZWN0b3IuRGVidWdnZXJQcmVzZW50YXRpb25Nb2RlbC5MaW5raWZp
ZXJGb3JtYXR0ZXI9fSBmb3JtYXR0ZXIKLSAqLwotV2ViSW5zcGVjdG9yLkRlYnVnZ2VyUHJlc2Vu
dGF0aW9uTW9kZWwuTGlua2lmaWVyID0gZnVuY3Rpb24obW9kZWwsIGZvcm1hdHRlcikKLXsKLSAg
ICB0aGlzLl9tb2RlbCA9IG1vZGVsOwotICAgIHRoaXMuX2Zvcm1hdHRlciA9IGZvcm1hdHRlciB8
fCBuZXcgV2ViSW5zcGVjdG9yLkRlYnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwuRGVmYXVsdExpbmtp
ZmllckZvcm1hdHRlcigpOwotICAgIHRoaXMuX2xpdmVMb2NhdGlvbnMgPSBbXTsKLX0KLQotV2Vi
SW5zcGVjdG9yLkRlYnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwuTGlua2lmaWVyLnByb3RvdHlwZSA9
IHsKLSAgICAvKioKLSAgICAgKiBAcGFyYW0ge3N0cmluZ30gc291cmNlVVJMCi0gICAgICogQHBh
cmFtIHtudW1iZXJ9IGxpbmVOdW1iZXIKLSAgICAgKiBAcGFyYW0ge251bWJlcj19IGNvbHVtbk51
bWJlcgotICAgICAqIEBwYXJhbSB7c3RyaW5nPX0gY2xhc3NlcwotICAgICAqLwotICAgIGxpbmtp
ZnlMb2NhdGlvbjogZnVuY3Rpb24oc291cmNlVVJMLCBsaW5lTnVtYmVyLCBjb2x1bW5OdW1iZXIs
IGNsYXNzZXMpCi0gICAgewotICAgICAgICB2YXIgcmF3TG9jYXRpb24gPSBXZWJJbnNwZWN0b3Iu
ZGVidWdnZXJNb2RlbC5jcmVhdGVSYXdMb2NhdGlvbkJ5VVJMKHNvdXJjZVVSTCwgbGluZU51bWJl
ciwgY29sdW1uTnVtYmVyIHx8IDApOwotICAgICAgICBpZiAoIXJhd0xvY2F0aW9uKQotICAgICAg
ICAgICAgcmV0dXJuIFdlYkluc3BlY3Rvci5saW5raWZ5UmVzb3VyY2VBc05vZGUoc291cmNlVVJM
LCBsaW5lTnVtYmVyLCBjbGFzc2VzKTsKLSAgICAgICAgcmV0dXJuIHRoaXMubGlua2lmeVJhd0xv
Y2F0aW9uKHJhd0xvY2F0aW9uLCBjbGFzc2VzKTsKLSAgICB9LAotCi0gICAgLyoqCi0gICAgICog
QHBhcmFtIHtEZWJ1Z2dlckFnZW50LkxvY2F0aW9ufSByYXdMb2NhdGlvbgotICAgICAqIEBwYXJh
bSB7c3RyaW5nPX0gY2xhc3NlcwotICAgICAqLwotICAgIGxpbmtpZnlSYXdMb2NhdGlvbjogZnVu
Y3Rpb24ocmF3TG9jYXRpb24sIGNsYXNzZXMpCi0gICAgewotICAgICAgICBpZiAoIVdlYkluc3Bl
Y3Rvci5kZWJ1Z2dlck1vZGVsLnNjcmlwdEZvcklkKHJhd0xvY2F0aW9uLnNjcmlwdElkKSkKLSAg
ICAgICAgICAgIHJldHVybiBudWxsOwotICAgICAgICB2YXIgYW5jaG9yID0gV2ViSW5zcGVjdG9y
LmxpbmtpZnlVUkxBc05vZGUoIiIsICIiLCBjbGFzc2VzLCBmYWxzZSk7Ci0gICAgICAgIHZhciBs
aXZlTG9jYXRpb24gPSB0aGlzLl9tb2RlbC5jcmVhdGVMaXZlTG9jYXRpb24ocmF3TG9jYXRpb24s
IHRoaXMuX3VwZGF0ZUFuY2hvci5iaW5kKHRoaXMsIGFuY2hvcikpOwotICAgICAgICB0aGlzLl9s
aXZlTG9jYXRpb25zLnB1c2gobGl2ZUxvY2F0aW9uKTsKLSAgICAgICAgcmV0dXJuIGFuY2hvcjsK
LSAgICB9LAotCi0gICAgcmVzZXQ6IGZ1bmN0aW9uKCkKLSAgICB7Ci0gICAgICAgIGZvciAodmFy
IGkgPSAwOyBpIDwgdGhpcy5fbGl2ZUxvY2F0aW9ucy5sZW5ndGg7ICsraSkKLSAgICAgICAgICAg
IHRoaXMuX2xpdmVMb2NhdGlvbnNbaV0uZGlzcG9zZSgpOwotICAgICAgICB0aGlzLl9saXZlTG9j
YXRpb25zID0gW107Ci0gICAgfSwKLQotICAgIC8qKgotICAgICAqIEBwYXJhbSB7RWxlbWVudH0g
YW5jaG9yCi0gICAgICogQHBhcmFtIHtXZWJJbnNwZWN0b3IuVUlMb2NhdGlvbn0gdWlMb2NhdGlv
bgotICAgICAqLwotICAgIF91cGRhdGVBbmNob3I6IGZ1bmN0aW9uKGFuY2hvciwgdWlMb2NhdGlv
bikKLSAgICB7Ci0gICAgICAgIGFuY2hvci5wcmVmZXJyZWRQYW5lbCA9ICJzY3JpcHRzIjsKLSAg
ICAgICAgYW5jaG9yLmhyZWYgPSB1aUxvY2F0aW9uLnVpU291cmNlQ29kZS51cmw7Ci0gICAgICAg
IGFuY2hvci51aVNvdXJjZUNvZGUgPSB1aUxvY2F0aW9uLnVpU291cmNlQ29kZTsKLSAgICAgICAg
YW5jaG9yLmxpbmVOdW1iZXIgPSB1aUxvY2F0aW9uLmxpbmVOdW1iZXI7Ci0gICAgICAgIHRoaXMu
X2Zvcm1hdHRlci5mb3JtYXRMaXZlQW5jaG9yKGFuY2hvciwgdWlMb2NhdGlvbik7Ci0gICAgfQot
fQotCi0vKioKICAqIEB0eXBlIHs/V2ViSW5zcGVjdG9yLkRlYnVnZ2VyUHJlc2VudGF0aW9uTW9k
ZWx9CiAgKi8KIFdlYkluc3BlY3Rvci5kZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsID0gbnVsbDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRXZlbnRMaXN0
ZW5lcnNTaWRlYmFyUGFuZS5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
RXZlbnRMaXN0ZW5lcnNTaWRlYmFyUGFuZS5qcwppbmRleCA2MzhiMDU3MmE1MGFhNzNiZjlhYWRj
YzNjNTM4Zjk4NzgxNzUzYTk4Li5kOGM0NWQ4NzkyYmI0ZTAwZWFjMjkyMmMyMmRjYTVkZDIyYzZm
NDQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0V2ZW50
TGlzdGVuZXJzU2lkZWJhclBhbmUuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9FdmVudExpc3RlbmVyc1NpZGViYXJQYW5lLmpzCkBAIC02MSw3ICs2MSw3IEBAIFdl
Ykluc3BlY3Rvci5FdmVudExpc3RlbmVyc1NpZGViYXJQYW5lID0gZnVuY3Rpb24oKQogCiAgICAg
dGhpcy50aXRsZUVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5zZXR0aW5nc1NlbGVjdEVsZW1lbnQp
OwogCi0gICAgdGhpcy5fbGlua2lmaWVyID0gV2ViSW5zcGVjdG9yLmRlYnVnZ2VyUHJlc2VudGF0
aW9uTW9kZWwuY3JlYXRlTGlua2lmaWVyKCk7CisgICAgdGhpcy5fbGlua2lmaWVyID0gbmV3IFdl
Ykluc3BlY3Rvci5MaW5raWZpZXIoKTsKIH0KIAogV2ViSW5zcGVjdG9yLkV2ZW50TGlzdGVuZXJz
U2lkZWJhclBhbmUuX29iamVjdEdyb3VwTmFtZSA9ICJldmVudC1saXN0ZW5lcnMtc2lkZWJhci1w
YW5lIjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTGlu
a2lmaWVyLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9MaW5raWZpZXIu
anMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMzY1MjY2OTM5Y2YxYzY2YzUwN2M3NzM5MTQxYjdkODVlNWExYWFhNwot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTGlu
a2lmaWVyLmpzCkBAIC0wLDAgKzEsMTMzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdv
b2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUK
KyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5l
aXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLyoqCisgKiBAaW50ZXJmYWNlCisgKi8KK1dlYklu
c3BlY3Rvci5MaW5raWZpZXJGb3JtYXR0ZXIgPSBmdW5jdGlvbigpCit7Cit9CisKK1dlYkluc3Bl
Y3Rvci5MaW5raWZpZXJGb3JtYXR0ZXIucHJvdG90eXBlID0geworICAgIC8qKgorICAgICAqIEBw
YXJhbSB7RWxlbWVudH0gYW5jaG9yCisgICAgICogQHBhcmFtIHtXZWJJbnNwZWN0b3IuVUlMb2Nh
dGlvbn0gdWlMb2NhdGlvbgorICAgICAqLworICAgIGZvcm1hdExpdmVBbmNob3I6IGZ1bmN0aW9u
KGFuY2hvciwgdWlMb2NhdGlvbikgeyB9Cit9CisKKy8qKgorICogQGNvbnN0cnVjdG9yCisgKiBA
cGFyYW0ge1dlYkluc3BlY3Rvci5MaW5raWZpZXJGb3JtYXR0ZXI9fSBmb3JtYXR0ZXIKKyAqLwor
V2ViSW5zcGVjdG9yLkxpbmtpZmllciA9IGZ1bmN0aW9uKGZvcm1hdHRlcikKK3sKKyAgICB0aGlz
Ll9mb3JtYXR0ZXIgPSBmb3JtYXR0ZXIgfHwgbmV3IFdlYkluc3BlY3Rvci5MaW5raWZpZXIuRGVm
YXVsdEZvcm1hdHRlcigpOworICAgIHRoaXMuX2xpdmVMb2NhdGlvbnMgPSBbXTsKK30KKworV2Vi
SW5zcGVjdG9yLkxpbmtpZmllci5wcm90b3R5cGUgPSB7CisgICAgLyoqCisgICAgICogQHBhcmFt
IHtzdHJpbmd9IHNvdXJjZVVSTAorICAgICAqIEBwYXJhbSB7bnVtYmVyfSBsaW5lTnVtYmVyCisg
ICAgICogQHBhcmFtIHtudW1iZXI9fSBjb2x1bW5OdW1iZXIKKyAgICAgKiBAcGFyYW0ge3N0cmlu
Zz19IGNsYXNzZXMKKyAgICAgKi8KKyAgICBsaW5raWZ5TG9jYXRpb246IGZ1bmN0aW9uKHNvdXJj
ZVVSTCwgbGluZU51bWJlciwgY29sdW1uTnVtYmVyLCBjbGFzc2VzKQorICAgIHsKKyAgICAgICAg
dmFyIHJhd0xvY2F0aW9uID0gV2ViSW5zcGVjdG9yLmRlYnVnZ2VyTW9kZWwuY3JlYXRlUmF3TG9j
YXRpb25CeVVSTChzb3VyY2VVUkwsIGxpbmVOdW1iZXIsIGNvbHVtbk51bWJlciB8fCAwKTsKKyAg
ICAgICAgaWYgKCFyYXdMb2NhdGlvbikKKyAgICAgICAgICAgIHJldHVybiBXZWJJbnNwZWN0b3Iu
bGlua2lmeVJlc291cmNlQXNOb2RlKHNvdXJjZVVSTCwgbGluZU51bWJlciwgY2xhc3Nlcyk7Cisg
ICAgICAgIHJldHVybiB0aGlzLmxpbmtpZnlSYXdMb2NhdGlvbihyYXdMb2NhdGlvbiwgY2xhc3Nl
cyk7CisgICAgfSwKKworICAgIC8qKgorICAgICAqIEBwYXJhbSB7RGVidWdnZXJBZ2VudC5Mb2Nh
dGlvbn0gcmF3TG9jYXRpb24KKyAgICAgKiBAcGFyYW0ge3N0cmluZz19IGNsYXNzZXMKKyAgICAg
Ki8KKyAgICBsaW5raWZ5UmF3TG9jYXRpb246IGZ1bmN0aW9uKHJhd0xvY2F0aW9uLCBjbGFzc2Vz
KQorICAgIHsKKyAgICAgICAgdmFyIHNjcmlwdCA9IFdlYkluc3BlY3Rvci5kZWJ1Z2dlck1vZGVs
LnNjcmlwdEZvcklkKHJhd0xvY2F0aW9uLnNjcmlwdElkKTsKKyAgICAgICAgaWYgKCFzY3JpcHQp
CisgICAgICAgICAgICByZXR1cm4gbnVsbDsKKyAgICAgICAgdmFyIGFuY2hvciA9IFdlYkluc3Bl
Y3Rvci5saW5raWZ5VVJMQXNOb2RlKCIiLCAiIiwgY2xhc3NlcywgZmFsc2UpOworICAgICAgICB2
YXIgbGl2ZUxvY2F0aW9uID0gc2NyaXB0LmNyZWF0ZUxpdmVMb2NhdGlvbihyYXdMb2NhdGlvbiwg
dGhpcy5fdXBkYXRlQW5jaG9yLmJpbmQodGhpcywgYW5jaG9yKSk7CisgICAgICAgIHRoaXMuX2xp
dmVMb2NhdGlvbnMucHVzaChsaXZlTG9jYXRpb24pOworICAgICAgICByZXR1cm4gYW5jaG9yOwor
ICAgIH0sCisKKyAgICByZXNldDogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgZm9yICh2YXIg
aSA9IDA7IGkgPCB0aGlzLl9saXZlTG9jYXRpb25zLmxlbmd0aDsgKytpKQorICAgICAgICAgICAg
dGhpcy5fbGl2ZUxvY2F0aW9uc1tpXS5kaXNwb3NlKCk7CisgICAgICAgIHRoaXMuX2xpdmVMb2Nh
dGlvbnMgPSBbXTsKKyAgICB9LAorCisgICAgLyoqCisgICAgICogQHBhcmFtIHtFbGVtZW50fSBh
bmNob3IKKyAgICAgKiBAcGFyYW0ge1dlYkluc3BlY3Rvci5VSUxvY2F0aW9ufSB1aUxvY2F0aW9u
CisgICAgICovCisgICAgX3VwZGF0ZUFuY2hvcjogZnVuY3Rpb24oYW5jaG9yLCB1aUxvY2F0aW9u
KQorICAgIHsKKyAgICAgICAgYW5jaG9yLnByZWZlcnJlZFBhbmVsID0gInNjcmlwdHMiOworICAg
ICAgICBhbmNob3IuaHJlZiA9IHVpTG9jYXRpb24udWlTb3VyY2VDb2RlLnVybDsKKyAgICAgICAg
YW5jaG9yLnVpU291cmNlQ29kZSA9IHVpTG9jYXRpb24udWlTb3VyY2VDb2RlOworICAgICAgICBh
bmNob3IubGluZU51bWJlciA9IHVpTG9jYXRpb24ubGluZU51bWJlcjsKKyAgICAgICAgdGhpcy5f
Zm9ybWF0dGVyLmZvcm1hdExpdmVBbmNob3IoYW5jaG9yLCB1aUxvY2F0aW9uKTsKKyAgICB9Cit9
CisKKy8qKgorICogQGNvbnN0cnVjdG9yCisgKiBAaW1wbGVtZW50cyB7V2ViSW5zcGVjdG9yLkxp
bmtpZmllckZvcm1hdHRlcn0KKyAqIEBwYXJhbSB7bnVtYmVyPX0gbWF4TGVuZ3RoCisgKi8KK1dl
Ykluc3BlY3Rvci5MaW5raWZpZXIuRGVmYXVsdEZvcm1hdHRlciA9IGZ1bmN0aW9uKG1heExlbmd0
aCkKK3sKKyAgICB0aGlzLl9tYXhMZW5ndGggPSBtYXhMZW5ndGg7Cit9CisKK1dlYkluc3BlY3Rv
ci5MaW5raWZpZXIuRGVmYXVsdEZvcm1hdHRlci5wcm90b3R5cGUgPSB7CisgICAgLyoqCisgICAg
ICogQHBhcmFtIHtFbGVtZW50fSBhbmNob3IKKyAgICAgKiBAcGFyYW0ge1dlYkluc3BlY3Rvci5V
SUxvY2F0aW9ufSB1aUxvY2F0aW9uCisgICAgICovCisgICAgZm9ybWF0TGl2ZUFuY2hvcjogZnVu
Y3Rpb24oYW5jaG9yLCB1aUxvY2F0aW9uKQorICAgIHsKKyAgICAgICAgYW5jaG9yLnRleHRDb250
ZW50ID0gV2ViSW5zcGVjdG9yLmZvcm1hdExpbmtUZXh0KHVpTG9jYXRpb24udWlTb3VyY2VDb2Rl
LnVybCwgdWlMb2NhdGlvbi5saW5lTnVtYmVyKTsKKworICAgICAgICB2YXIgdGV4dCA9IFdlYklu
c3BlY3Rvci5mb3JtYXRMaW5rVGV4dCh1aUxvY2F0aW9uLnVpU291cmNlQ29kZS51cmwsIHVpTG9j
YXRpb24ubGluZU51bWJlcik7CisgICAgICAgIGlmICh0aGlzLl9tYXhMZW5ndGgpCisgICAgICAg
ICAgICB0ZXh0ID0gdGV4dC50cmltTWlkZGxlKHRoaXMuX21heExlbmd0aCk7CisgICAgICAgIGFu
Y2hvci50ZXh0Q29udGVudCA9IHRleHQ7CisgICAgfQorfQorCitXZWJJbnNwZWN0b3IuTGlua2lm
aWVyLkRlZmF1bHRGb3JtYXR0ZXIucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5M
aW5raWZpZXJGb3JtYXR0ZXIucHJvdG90eXBlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9OZXR3b3JrUGFuZWwuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtQYW5lbC5qcwppbmRleCBmN2Q0Y2UwZWNiNGYxOTRjMDAy
NTk2YjM3MWJkYmE0YWUwMzZhNWY1Li43ZTA3ZjUzNGQxZjNmYTI4NGQzMTJlMTEzYjY2NDM4ZGIy
OGM4ODk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL05l
dHdvcmtQYW5lbC5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL05l
dHdvcmtQYW5lbC5qcwpAQCAtNTMsNyArNTMsNyBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya0xvZ1Zp
ZXcgPSBmdW5jdGlvbigpCiAKICAgICB0aGlzLl9jcmVhdGVTdGF0dXNiYXJCdXR0b25zKCk7CiAg
ICAgdGhpcy5fY3JlYXRlRmlsdGVyU3RhdHVzQmFySXRlbXMoKTsKLSAgICB0aGlzLl9saW5raWZp
ZXIgPSBXZWJJbnNwZWN0b3IuZGVidWdnZXJQcmVzZW50YXRpb25Nb2RlbC5jcmVhdGVMaW5raWZp
ZXIoKTsKKyAgICB0aGlzLl9saW5raWZpZXIgPSBuZXcgV2ViSW5zcGVjdG9yLkxpbmtpZmllcigp
OwogCiAgICAgV2ViSW5zcGVjdG9yLm5ldHdvcmtNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV2Vi
SW5zcGVjdG9yLk5ldHdvcmtNYW5hZ2VyLkV2ZW50VHlwZXMuUmVxdWVzdFN0YXJ0ZWQsIHRoaXMu
X29uUmVxdWVzdFN0YXJ0ZWQsIHRoaXMpOwogICAgIFdlYkluc3BlY3Rvci5uZXR3b3JrTWFuYWdl
ci5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5OZXR3b3JrTWFuYWdlci5FdmVudFR5cGVz
LlJlcXVlc3RVcGRhdGVkLCB0aGlzLl9vblJlcXVlc3RVcGRhdGVkLCB0aGlzKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvT2JqZWN0UG9wb3ZlckhlbHBl
ci5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvT2JqZWN0UG9wb3Zlckhl
bHBlci5qcwppbmRleCA1ODg2MjEzZDczZDQyYmQwNTJiMGIyMzUyYzMzNGI4OTRlZTM3ZjVlLi42
MWU4ZTYxOWVmNDdiZWRjODVlNDkzNjQwYmQ0MDU2ZWJjYWY2YTcxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL09iamVjdFBvcG92ZXJIZWxwZXIuanMKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9PYmplY3RQb3BvdmVySGVscGVy
LmpzCkBAIC04OSw3ICs4OSw3IEBAIFdlYkluc3BlY3Rvci5PYmplY3RQb3BvdmVySGVscGVyLnBy
b3RvdHlwZSA9IHsKICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBmdW5jdGlvbk5hbWUgPSB0
aXRsZS5jcmVhdGVDaGlsZCgic3BhbiIsICJmdW5jdGlvbi1uYW1lIik7CiAgICAgICAgICAgICAg
ICAgICAgICAgICBmdW5jdGlvbk5hbWUudGV4dENvbnRlbnQgPSByZXNwb25zZS5uYW1lIHx8IHJl
c3BvbnNlLmluZmVycmVkTmFtZSB8fCByZXNwb25zZS5kaXNwbGF5TmFtZSB8fCBXZWJJbnNwZWN0
b3IuVUlTdHJpbmcoIihhbm9ueW1vdXMgZnVuY3Rpb24pIik7CiAKLSAgICAgICAgICAgICAgICAg
ICAgICAgIHRoaXMuX2xpbmtpZmllciA9IFdlYkluc3BlY3Rvci5kZWJ1Z2dlclByZXNlbnRhdGlv
bk1vZGVsLmNyZWF0ZUxpbmtpZmllcigpOworICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5f
bGlua2lmaWVyID0gbmV3IFdlYkluc3BlY3Rvci5MaW5raWZpZXIoKTsKICAgICAgICAgICAgICAg
ICAgICAgICAgIHZhciBsaW5rID0gdGhpcy5fbGlua2lmaWVyLmxpbmtpZnlSYXdMb2NhdGlvbihy
ZXNwb25zZS5sb2NhdGlvbiwgImZ1bmN0aW9uLWxvY2F0aW9uLWxpbmsiKTsKICAgICAgICAgICAg
ICAgICAgICAgICAgIGlmIChsaW5rKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxl
LmFwcGVuZENoaWxkKGxpbmspOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9Qcm9maWxlVmlldy5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvUHJvZmlsZVZpZXcuanMKaW5kZXggMmQzODk5YWZmZDhiZjk3ODg1N2IxYjRhZmFjOGI1
MGUwNmI2ZTExZi4uNjY5ZjI0NjNhYWQ2OTg2YmJlYTIwNDNhOGMzMGVhNWEyZGFhNTFlMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Qcm9maWxlVmlldy5q
cworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Byb2ZpbGVWaWV3Lmpz
CkBAIC0xMDAsNyArMTAwLDcgQEAgV2ViSW5zcGVjdG9yLkNQVVByb2ZpbGVWaWV3ID0gZnVuY3Rp
b24ocHJvZmlsZSkKICAgICAgICAgdGhpcy5fdXBkYXRlUGVyY2VudEJ1dHRvbigpOwogICAgIH0K
IAotICAgIHRoaXMuX2xpbmtpZmllciA9IFdlYkluc3BlY3Rvci5kZWJ1Z2dlclByZXNlbnRhdGlv
bk1vZGVsLmNyZWF0ZUxpbmtpZmllcihuZXcgV2ViSW5zcGVjdG9yLkRlYnVnZ2VyUHJlc2VudGF0
aW9uTW9kZWwuRGVmYXVsdExpbmtpZmllckZvcm1hdHRlcigzMCkpOworICAgIHRoaXMuX2xpbmtp
ZmllciA9IG5ldyBXZWJJbnNwZWN0b3IuTGlua2lmaWVyKG5ldyBXZWJJbnNwZWN0b3IuTGlua2lm
aWVyLkRlZmF1bHRGb3JtYXR0ZXIoMzApKTsKIAogICAgIFByb2ZpbGVyQWdlbnQuZ2V0UHJvZmls
ZSh0aGlzLnByb2ZpbGUudHlwZUlkLCB0aGlzLnByb2ZpbGUudWlkLCBwcm9maWxlQ2FsbGJhY2su
YmluZCh0aGlzKSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL1NjcmlwdHNTZWFyY2hTY29wZS5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvU2NyaXB0c1NlYXJjaFNjb3BlLmpzCmluZGV4IDkyMTgyNDE2ZTBiYmZkYjExZjFm
Y2U5ZDNkNDI1YTIxZjA3NzRmNzEuLjdhZGM5MzQ2YzQxNmUwYzVlYmVjZjdkMGM2NDU0N2EwNmI0
MDQ5ZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2Ny
aXB0c1NlYXJjaFNjb3BlLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvU2NyaXB0c1NlYXJjaFNjb3BlLmpzCkBAIC0xMzMsNyArMTMzLDcgQEAgV2ViSW5zcGVjdG9y
LlNjcmlwdHNTZWFyY2hSZXN1bHRzUGFuZSA9IGZ1bmN0aW9uKHNlYXJjaENvbmZpZykKIHsKICAg
ICBXZWJJbnNwZWN0b3IuRmlsZUJhc2VkU2VhcmNoUmVzdWx0c1BhbmUuY2FsbCh0aGlzLCBzZWFy
Y2hDb25maWcpCiAKLSAgICB0aGlzLl9saW5raWZpZXIgPSBXZWJJbnNwZWN0b3IuZGVidWdnZXJQ
cmVzZW50YXRpb25Nb2RlbC5jcmVhdGVMaW5raWZpZXIobmV3IFdlYkluc3BlY3Rvci5TY3JpcHRz
U2VhcmNoUmVzdWx0c1BhbmUuTGlua2lmaWVyRm9ybWF0dGVyKCkpOworICAgIHRoaXMuX2xpbmtp
ZmllciA9IG5ldyBXZWJJbnNwZWN0b3IuTGlua2lmaWVyKG5ldyBXZWJJbnNwZWN0b3IuU2NyaXB0
c1NlYXJjaFJlc3VsdHNQYW5lLkxpbmtpZmllckZvcm1hdHRlcigpKTsKIH0KIAogV2ViSW5zcGVj
dG9yLlNjcmlwdHNTZWFyY2hSZXN1bHRzUGFuZS5wcm90b3R5cGUgPSB7CkBAIC0xNjYsNyArMTY2
LDcgQEAgV2ViSW5zcGVjdG9yLlNjcmlwdHNTZWFyY2hSZXN1bHRzUGFuZS5wcm90b3R5cGUuX19w
cm90b19fID0gV2ViSW5zcGVjdG9yLkZpbGVCYXMKIAogLyoqCiAgKiBAY29uc3RydWN0b3IKLSAq
IEBpbXBsZW1lbnRzIHtXZWJJbnNwZWN0b3IuRGVidWdnZXJQcmVzZW50YXRpb25Nb2RlbC5MaW5r
aWZpZXJGb3JtYXR0ZXJ9CisgKiBAaW1wbGVtZW50cyB7V2ViSW5zcGVjdG9yLkxpbmtpZmllckZv
cm1hdHRlcn0KICAqLwogV2ViSW5zcGVjdG9yLlNjcmlwdHNTZWFyY2hSZXN1bHRzUGFuZS5MaW5r
aWZpZXJGb3JtYXR0ZXIgPSBmdW5jdGlvbigpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwuanMgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwu
anMKaW5kZXggNGE2YWVkMjg1ZGRiMTVlYmMwNGFkYzFmMGNjODkwNmYxZmU2ZGIyOS4uNjI1YWM2
NzUxYzE0MTFhZDY5YjJjNmU0OTE4YzA4YTZkZjEyMGNmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLmpzCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVQcmVzZW50YXRp
b25Nb2RlbC5qcwpAQCAtMzQsNyArMzQsNyBAQAogICovCiBXZWJJbnNwZWN0b3IuVGltZWxpbmVQ
cmVzZW50YXRpb25Nb2RlbCA9IGZ1bmN0aW9uKCkKIHsKLSAgICB0aGlzLl9saW5raWZpZXIgPSBX
ZWJJbnNwZWN0b3IuZGVidWdnZXJQcmVzZW50YXRpb25Nb2RlbC5jcmVhdGVMaW5raWZpZXIoKTsK
KyAgICB0aGlzLl9saW5raWZpZXIgPSBuZXcgV2ViSW5zcGVjdG9yLkxpbmtpZmllcigpOwogICAg
IHRoaXMuX2dsdWVSZWNvcmRzID0gZmFsc2U7CiAgICAgdGhpcy5fZmlsdGVycyA9IFtdOwogICAg
IHRoaXMucmVzZXQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvV2ViS2l0LnFyYyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvV2Vi
S2l0LnFyYwppbmRleCBkZTExOTliNWQwNzM2YzMyYzY3MmJkNTZkNjE4ODNjYjVhYWU2NTdmLi5l
ODgzN2VjOTM1NWNiMzI3NTRhZjYwYjU2NTM2MmJlZjlhN2QxOTM1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1dlYktpdC5xcmMKKysrIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9XZWJLaXQucXJjCkBAIC04Miw2ICs4Miw3IEBACiAg
ICAgPGZpbGU+SmF2YVNjcmlwdFNvdXJjZS5qczwvZmlsZT4KICAgICA8ZmlsZT5KYXZhU2NyaXB0
U291cmNlRnJhbWUuanM8L2ZpbGU+CiAgICAgPGZpbGU+S2V5Ym9hcmRTaG9ydGN1dC5qczwvZmls
ZT4KKyAgICA8ZmlsZT5MaW5raWZpZXIuanM8L2ZpbGU+CiAgICAgPGZpbGU+TWVtb3J5U3RhdGlz
dGljcy5qczwvZmlsZT4KICAgICA8ZmlsZT5NZXRyaWNzU2lkZWJhclBhbmUuanM8L2ZpbGU+CiAg
ICAgPGZpbGU+TmF2aWdhdG9yT3ZlcmxheUNvbnRyb2xsZXIuanM8L2ZpbGU+CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5odG1sIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuaHRtbAppbmRleCAxMjdj
ZWU4MjBjYWNjYzNkOTZjNjMxMDAxMzlkMzgzNGFjYTViNzc0Li41NDdkNTE3ODIxNDJiNGU0YWEx
YTlhNmUzMTNmZDMxYjMwNDJlNTJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5odG1sCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvaW5zcGVjdG9yLmh0bWwKQEAgLTE3Nyw2ICsxNzcsNyBAQCBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgog
ICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IlNjcmlwdE1hcHBpbmcuanMi
Pjwvc2NyaXB0PgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IlVJU291
cmNlQ29kZS5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQi
IHNyYz0iSmF2YVNjcmlwdFNvdXJjZS5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCB0eXBlPSJ0
ZXh0L2phdmFzY3JpcHQiIHNyYz0iTGlua2lmaWVyLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0
IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJEZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsLmpz
Ij48L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJCcmVh
a3BvaW50TWFuYWdlci5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFz
Y3JpcHQiIHNyYz0iQ29udGVudFByb3ZpZGVycy5qcyI+PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYmUzZmYx
MDMyYzllN2EyYWE3NjFlY2FiM2I3YzYyMDU5MWUxMmUzMS4uZGQ0OWI0M2E5NzJkOTM2ZTg1YWMy
Zjc0YWM3MjI4YjFlOWM1NTljOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisr
KyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE0IEBACiAyMDEyLTA0LTI1ICBQ
YXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgogCisgICAgICAgIFdlYiBJbnNw
ZWN0b3I6IGV4dHJhY3QgTGlua2lmaWVyIGZyb20gRGVidWdnZXJQcmVzZW50YXRpb25Nb2RlbC4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg0ODU1CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBpbnNwZWN0
b3IvZGVidWdnZXIvbGlua2lmaWVyLmh0bWw6CisKKzIwMTItMDQtMjUgIFBhdmVsIEZlbGRtYW4g
IDxwZmVsZG1hbkBjaHJvbWl1bS5vcmc+CisKICAgICAgICAgV2ViIEluc3BlY3RvcjogbW92ZSBz
b3VyY2VtYXAtYWdub3N0aWMgcGFydCBvZiB0aGUgZGVidWdnZXIgcHJlc2VudGF0aW9uIG1vZGVs
IGludG8gdGhlIHJhdyBkZWJ1Z2dlci4KICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTg0ODUyCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9kZWJ1Z2dlci9saW5raWZpZXIuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dl
ci9saW5raWZpZXIuaHRtbAppbmRleCAwMDBjMzI0N2IwYTNjMGM3YThkYWFiN2ZiZjkwZDliNTRj
ZTZkMTk2Li5hNTQ1Y2EyNTAwM2E5ZmVmMWFlN2RmZGYwMjAyYjQ1YTY4ODk3MzEyIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvbGlua2lmaWVyLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL2xpbmtpZmllci5odG1sCkBAIC0zMyw3ICsz
Myw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogCiAgICAgZnVuY3Rpb24gZGVidWdnZXJUZXN0KCkKICAg
ICB7Ci0gICAgICAgIGxpbmtpZmllciA9IFdlYkluc3BlY3Rvci5kZWJ1Z2dlclByZXNlbnRhdGlv
bk1vZGVsLmNyZWF0ZUxpbmtpZmllcigpOworICAgICAgICBsaW5raWZpZXIgPSBuZXcgV2ViSW5z
cGVjdG9yLkxpbmtpZmllcigpOwogCiAgICAgICAgIHZhciBjb3VudDEgPSBsaXZlTG9jYXRpb25z
Q291bnQoKTsKICAgICAgICAgbGluayA9IGxpbmtpZmllci5saW5raWZ5TG9jYXRpb24oV2ViSW5z
cGVjdG9yLmluc3BlY3RlZFBhZ2VVUkwsIDIwLCAwLCAiZHVtbXktY2xhc3MiKTsK
</data>
<flag name="review"
          id="144260"
          type_id="1"
          status="+"
          setter="yurys"
    />
          </attachment>
      

    </bug>

</bugzilla>