<?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>74450</bug_id>
          
          <creation_ts>2011-12-13 14:57:04 -0800</creation_ts>
          <short_desc>Fix bug in the code review tool when readding a discarded comment</short_desc>
          <delta_ts>2012-01-03 16:21:18 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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>1</everconfirmed>
          <reporter name="Ojan Vafai">ojan</reporter>
          <assigned_to name="Ojan Vafai">ojan</assigned_to>
          <cc>abarth</cc>
    
    <cc>eric</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>520390</commentid>
    <comment_count>0</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2011-12-13 14:57:04 -0800</bug_when>
    <thetext>Fix bug in the code review tool when readding a discarded comment</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>520392</commentid>
    <comment_count>1</comment_count>
      <attachid>119087</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2011-12-13 14:59:17 -0800</bug_when>
    <thetext>Created attachment 119087
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>529139</commentid>
    <comment_count>2</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-01-03 16:21:18 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/102711</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>119087</attachid>
            <date>2011-12-13 14:59:17 -0800</date>
            <delta_ts>2011-12-13 15:10:02 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-74450-20111213145916.patch</filename>
            <type>text/plain</type>
            <size>16930</size>
            <attacher name="Ojan Vafai">ojan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAyNjI5CmRpZmYgLS1naXQgYS9XZWJzaXRlcy9idWdzLndl
YmtpdC5vcmcvQ2hhbmdlTG9nIGIvV2Vic2l0ZXMvYnVncy53ZWJraXQub3JnL0NoYW5nZUxvZwpp
bmRleCAyODlkYmE1NGJkZDUxODgwMDRkNjcxODEzOTg0Y2JkOGM3Njg5OTZjLi5lNDY0NGUxOTQ3
OTNlNTlmZjk5YzljYjQ2YmRiYWMwYjY4ZGFhODJjIDEwMDY0NAotLS0gYS9XZWJzaXRlcy9idWdz
LndlYmtpdC5vcmcvQ2hhbmdlTG9nCisrKyBiL1dlYnNpdGVzL2J1Z3Mud2Via2l0Lm9yZy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyNCBAQAorMjAxMS0xMi0xMyAgT2phbiBWYWZhaSAgPG9qYW5AY2hy
b21pdW0ub3JnPgorCisgICAgICAgIEZpeCBidWcgaW4gdGhlIGNvZGUgcmV2aWV3IHRvb2wgd2hl
biByZWFkZGluZyBhIGRpc2NhcmRlZCBjb21tZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQ1MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIElmIHlvdSBkaXNjYXJkIGEgY29tbWVudCB0aGF0IGhhcyBh
IGNvcnJlc3BvbmRpbmcgcHJldmlvdXNDb21tZW50LAorICAgICAgICB0aGVuIHdlIHdvdWxkIGlu
Y29ycmVjdGx5IHJlbW92ZSB0aGUgY29tbWVudCBiYXNlbGluZS4gU28sIHRoZSBuZXh0CisgICAg
ICAgIHRpbWUgeW91IGFkZGVkIGEgY29tbWVudCBieSBjbGlja2luZyBvbiB0aGUgcHJldmlvdXND
b21tZW50LCB3ZQorICAgICAgICB3b3VsZCBnZXQgdW5kZWZpbmVkIGFzIHRoZSBzdGFydCBsaW5l
IGZvciB0aGUgbmV3IGNvbW1lbnQuCisKKyAgICAgICAgQWxsIG9mIHRoaXMgd29ya3MgZmluZSB1
bnRpbCB5b3UgdHJ5IHRvIHJlc3RvcmUgdGhlIGNvbW1lbnQgZnJvbQorICAgICAgICBsb2NhbFN0
b3JhZ2UsIGF0IHdoaWNoIHBvaW50IHdlIHRocm93IGFuIGVycm9yIGJlY2F1c2UgdGhlIHN0YXJ0
CisgICAgICAgIGxpbmUgaXMgdW5kZWZpbmVkLgorCisgICAgICAgIEFsc28gYWRkZWQgc29tZSBm
YWlsc2FmZXMgdG8gYmV0dGVyIGhhbmRsZSB0aGUgY2FzZSBvZiBjb3JydXB0ZWQgY29tbWVudHMu
CisKKyAgICAgICAgKiBjb2RlLXJldmlldy10ZXN0Lmh0bWw6CisgICAgICAgICogY29kZS1yZXZp
ZXcuanM6CisKIDIwMTEtMTEtMTUgIFRvbnkgQ2hhbmcgIDx0b255QGNocm9taXVtLm9yZz4KIAog
ICAgICAgICBzZXQgYSBtYXgtd2lkdGggb24gdGhlIGNvZGVyZXZpZXcgb3ZlcmFsbCBjb21tZW50
cyB0ZXh0YXJlYQpkaWZmIC0tZ2l0IGEvV2Vic2l0ZXMvYnVncy53ZWJraXQub3JnL2NvZGUtcmV2
aWV3LXRlc3QuaHRtbCBiL1dlYnNpdGVzL2J1Z3Mud2Via2l0Lm9yZy9jb2RlLXJldmlldy10ZXN0
Lmh0bWwKaW5kZXggNDgzNDJjNjFkYThmYTk1Zjc0MDNmNzViZjI4MmFhNjU5YjUzNmJjNy4uZTQ2
Y2U2NGY2ZTFkMWMxNmM4OWVlYjJmMjZiZTM3NjkzYjBmYzcyZSAxMDA2NDQKLS0tIGEvV2Vic2l0
ZXMvYnVncy53ZWJraXQub3JnL2NvZGUtcmV2aWV3LXRlc3QuaHRtbAorKysgYi9XZWJzaXRlcy9i
dWdzLndlYmtpdC5vcmcvY29kZS1yZXZpZXctdGVzdC5odG1sCkBAIC0xLDEyICsxLDE5IEBACi08
ZGl2PlRlc3RzIGZvciBzb21lIG9mIHRoZSBlYXNpbHkgdW5pdHRlc3RhYmxlIHBhcnRzIG9mIGNv
ZGUtcmV2aWV3LmpzLiBZb3Ugc2hvdWxkIHNlZSBhIHNlcmllcyBvZiAiUEFTU0VEIiBsaW5lcy48
L2Rpdj4KKzxkaXY+VGVzdHMgZm9yIHNvbWUgb2YgdGhlIGVhc2lseSB1bml0dGVzdGFibGUgcGFy
dHMgb2YgY29kZS1yZXZpZXcuanMuIFlvdSBzaG91bGQgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBs
aW5lcy48L2Rpdj4KIDxkaXY+RklYTUU6IFJ1biB0aGVzZSBhcyBwYXJ0IG9mIHRoZSBsYXlvdXQg
dGVzdCBzdWl0ZT88L2Rpdj4KIAotPHNjcmlwdD5DT0RFX1JFVklFV19VTklUVEVTVCA9IHRydWU8
L3NjcmlwdD4KKzxzY3JpcHQ+CitDT0RFX1JFVklFV19VTklUVEVTVCA9IHRydWU7CisKK3dpbmRv
dy5vbmVycm9yID0gZnVuY3Rpb24oZXJyb3JNc2csIHVybCwgbGluZU51bWJlcikgeworICBsb2co
J0ZBSUw6IFJlY2VpdmVkIGFuIGVycm9yIGF0IGxpbmUgJyArIGxpbmVOdW1iZXIpOworICByZXR1
cm4gZmFsc2U7Cit9Cis8L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSJodHRwczovL2FqYXguZ29vZ2xl
YXBpcy5jb20vYWpheC9saWJzL2pxdWVyeS8xLjQuMi9qcXVlcnkubWluLmpzIj48L3NjcmlwdD4g
CiA8c2NyaXB0IHNyYz0iY29kZS1yZXZpZXcuanMiPjwvc2NyaXB0PgogPHByZSBpZD0ib3V0cHV0
Ij48L3ByZT4KKzxkaXYgaWQ9ImRpZmYtY29udGVudCI+PC9kaXY+CiA8c2NyaXB0PgotCiBmdW5j
dGlvbiBpbmhlcml0cyhjaGlsZENvbnN0cnVjdG9yLCBwYXJlbnRDb25zdHJ1Y3RvcikgewogICBm
dW5jdGlvbiB0ZW1wQ29uc3RydWN0b3IoKSB7fTsKICAgdGVtcENvbnN0cnVjdG9yLnByb3RvdHlw
ZSA9IHBhcmVudENvbnN0cnVjdG9yLnByb3RvdHlwZTsKQEAgLTY5LDExICs3NiwxOCBAQCBmdW5j
dGlvbiBsb2cobXNnKSB7CiAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ291dHB1dCcpLmlu
bmVySFRNTCArPSBtc2cgKyAnXG5cbic7CiB9CiAKK2Z1bmN0aW9uIEFTU0VSVChtc2csIGFzc2Vy
dGlvbikgeworICAgIGlmIChhc3NlcnRpb24pCisgICAgICAgIGxvZygnUEFTUycpOworICAgIGVs
c2UKKyAgICAgICAgbG9nKCdGQUlMOiAnICsgbXNnKTsKK30KKwogZnVuY3Rpb24gQVNTRVJUX0VR
VUFMKGFjdHVhbCwgZXhwZWN0ZWQpIHsKICAgICBpZiAoYWN0dWFsID09IGV4cGVjdGVkKQotICAg
ICAgICBsb2coJ1BBU1NFRCcpOworICAgICAgICBsb2coJ1BBU1MnKTsKICAgICBlbHNlCi0gICAg
ICAgIGxvZygnRkFJTEVEOlxuZ290OlxuJyArIGFjdHVhbCArICdcbmV4cGVjdGVkOlxuJyArIGV4
cGVjdGVkICsgJycpOworICAgICAgICBsb2coJ0ZBSUw6XG5nb3Q6XG4nICsgYWN0dWFsICsgJ1xu
ZXhwZWN0ZWQ6XG4nICsgZXhwZWN0ZWQgKyAnJyk7CiB9CiAKIHZhciBsaW5rcyA9IHRyYWNMaW5r
cygnZm9vL2Jhci9iYXouY3BwJywgJycpOwpAQCAtMTY4LDQgKzE4Miw4MCBAQCB2YXIgY29tbWVu
dHMgPSBuZXcgTW9ja0RyYWZ0Q29tbWVudFNhdmVyKCcxJywgbHMpLnNhdmVkX2NvbW1lbnRzKCku
Y29tbWVudHM7CiBBU1NFUlRfRVFVQUwobHMubG9nX3N0cmluZygpLCAnZ2V0SXRlbTpkcmFmdC1j
b21tZW50cy1mb3ItYXR0YWNobWVudC0xXG5yZW1vdmVJdGVtOmRyYWZ0LWNvbW1lbnRzLWZvci1h
dHRhY2htZW50LTEnKTsKIAogCitmdW5jdGlvbiBzdHJpcEJvcm5Pbihqc29uKSB7CisgIHJldHVy
biBqc29uLnJlcGxhY2UoL1wiYm9yblwtb25cIlw6XGQrLC8sICIiKTsKK30KKworZnVuY3Rpb24g
c3RyaXBwZWRTYXZlZENvbW1lbnRzKCkgeworICByZXR1cm4gc3RyaXBCb3JuT24obG9jYWxTdG9y
YWdlW2dfZHJhZnRDb21tZW50U2F2ZXIubG9jYWxTdG9yYWdlS2V5KCldKTsKK30KKworZnVuY3Rp
b24gc3luY1NsaWRlVXAodHlwZSwgaGFuZGxlcikgeworICBoYW5kbGVyLmNhbGwodGhpcyk7Cit9
CisKK2Z1bmN0aW9uIHRlc3RSZWFkZERpc2NhcmRlZENvbW1lbnRXaXRoUHJldmlvdXNDb21tZW50
KCkgeworICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGlmZi1jb250ZW50JykuaW5uZXJIVE1M
ID0KKyAgICAgICc8ZGl2IGNsYXNzPSJGaWxlRGlmZiI+JyArCisgICAgICAgICc8aDE+PGEgaHJl
Zj0iaHR0cDovL3RyYWMud2Via2l0Lm9yZy9icm93c2VyL3RydW5rL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyI+U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nPC9hPjwvaDE+JyArCisgICAgICAgICc8
ZGl2IGNsYXNzPSJEaWZmU2VjdGlvbiI+JyArCisgICAgICAgICAgJzxkaXYgY2xhc3M9IkRpZmZC
bG9jayI+JyArCisgICAgICAgICAgICAnPGRpdiBjbGFzcz0iRGlmZkJsb2NrUGFydCBhZGQiPicg
KworICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0iTGluZSBMaW5lQ29udGFpbmVyIGFkZCI+JyAr
CisgICAgICAgICAgICAgICAgJzxzcGFuIGNsYXNzPSJmcm9tIGxpbmVOdW1iZXIiPiZuYnNwOzwv
c3Bhbj48c3BhbiBjbGFzcz0idG8gbGluZU51bWJlciI+MTwvc3Bhbj48c3BhbiBjbGFzcz0idGV4
dCI+Zmlyc3QgZGlmZiBibG9jayBmaXJzdCBsaW5lPC9zcGFuPicgKworICAgICAgICAgICAgICAn
PC9kaXY+JyArCisgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJMaW5lIExpbmVDb250YWluZXIg
YWRkIj4nICsKKyAgICAgICAgICAgICAgICAnPHNwYW4gY2xhc3M9ImZyb20gbGluZU51bWJlciI+
Jm5ic3A7PC9zcGFuPjxzcGFuIGNsYXNzPSJ0byBsaW5lTnVtYmVyIj4yPC9zcGFuPjxzcGFuIGNs
YXNzPSJ0ZXh0Ij48L3NwYW4+JyArCisgICAgICAgICAgICAgICc8L2Rpdj4nICsKKyAgICAgICAg
ICAgICc8L2Rpdj4nICsKKyAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJjbGVhcl9mbG9hdCI+PC9k
aXY+JyArCisgICAgICAgICAgJzwvZGl2PicgKworICAgICAgICAgICc8ZGl2IGNsYXNzPSJEaWZm
QmxvY2siPicgKworICAgICAgICAgICAgJzxkaXYgY2xhc3M9IkRpZmZCbG9ja1BhcnQgc2hhcmVk
Ij4nICsKKyAgICAgICAgICAgICAgJzxkaXYgY2xhc3M9IkxpbmUgTGluZUNvbnRhaW5lciI+JyAr
CisgICAgICAgICAgICAgICAgJzxzcGFuIGNsYXNzPSJmcm9tIGxpbmVOdW1iZXIiPjE8L3NwYW4+
PHNwYW4gY2xhc3M9InRvIGxpbmVOdW1iZXIiPjEyPC9zcGFuPjxzcGFuIGNsYXNzPSJ0ZXh0Ij5z
ZWNvbmQgZGlmZiBibG9jayBmaXJzdCBsaW5lPC9zcGFuPicgKworICAgICAgICAgICAgICAnPC9k
aXY+JyArCisgICAgICAgICAgICAgICc8L2Rpdj48ZGl2IGNsYXNzPSJjbGVhcl9mbG9hdCI+JyAr
CisgICAgICAgICAgICAnPC9kaXY+JyArCisgICAgICAgICAgJzwvZGl2PicgKworICAgICAgICAn
PC9kaXY+JyArCisgICAgICAnPC9kaXY+JzsKKworICBlcmFzZURyYWZ0Q29tbWVudHMoKTsKKyAg
Y3Jhd2xEaWZmKCk7CisgIGFwcGVuZFRvb2xiYXIoKTsKKworICB2YXIgbGluZSA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCdsaW5lMCcpCisgIHZhciBhdXRob3IgPSAib2phbkBjaHJvbWl1bS5v
cmciOworICB2YXIgY29tbWVudF90ZXh0ID0gIlRoaXMgY2hhbmdlIHN1eC4iOworICBhZGRQcmV2
aW91c0NvbW1lbnQobGluZSwgYXV0aG9yLCBjb21tZW50X3RleHQpOworICB2YXIgcHJldmlvdXNf
Y29tbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5wcmV2aW91c0NvbW1lbnQnKTsKKyAg
QVNTRVJUKCJMaW5lIHdpdGggb25seSBhIHByZXZpb3VzIGNvbW1lbnQgc2hvdWxkIG5vdCBoYXZl
ICdkYXRhLWhhcy1jb21tZW50JyBhdHRyaWJ1dGUuIiwgIWxpbmUuZ2V0QXR0cmlidXRlKCdkYXRh
LWhhcy1jb21tZW50JykpOworCisgIHZhciBuZXdfY29tbWVudCA9IGFkZENvbW1lbnRGaWVsZChw
cmV2aW91c19jb21tZW50KTsKKyAgbmV3X2NvbW1lbnQuZmluZCgndGV4dGFyZWEnKS52YWwoImR1
bW15IGNvbnRlbnQiKTsKKyAgdmFyIGZyb3plbl9jb21tZW50ID0gYWNjZXB0Q29tbWVudChuZXdf
Y29tbWVudCk7CisKKyAgQVNTRVJUX0VRVUFMKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5j
b21tZW50JykubGVuZ3RoLCAxKTsKKyAgQVNTRVJUX0VRVUFMKHN0cmlwcGVkU2F2ZWRDb21tZW50
cygpLCAneyJjb21tZW50cyI6W3sic3RhcnRfbGluZV9pZCI6ImxpbmUwIiwiZW5kX2xpbmVfaWQi
OiJsaW5lMCIsImNvbnRlbnRzIjoiZHVtbXkgY29udGVudCJ9XSwib3ZlcmFsbC1jb21tZW50cyI6
IiJ9Jyk7CisKKyAgdW5mcmVlemVDb21tZW50KGZyb3plbl9jb21tZW50KTsKKyAgLy8gVGhpcyBp
cyBhIGhhY2sgdG8gbWFrZSBzbGlkZVVwIHN5bmNocm9ub3VzIHNvIHRoYXQgd2UgY2FuIGtlZXAg
dGhpcyB0ZXN0IGZyb20gbmVlZGluZyB0byBiZSBhc3luYy4KKyAgalF1ZXJ5LmZuLnNsaWRlVXAg
PSBzeW5jU2xpZGVVcDsKKyAgZGlzY2FyZENvbW1lbnQobmV3X2NvbW1lbnQpOworCisgIEFTU0VS
VCgnVGhlcmUgc2hvdWxkIGJlIG5vIGRyYWZ0IGNvbW1lbnRzLicsICFkb2N1bWVudC5xdWVyeVNl
bGVjdG9yKCcuY29tbWVudCcpKTsKKyAgQVNTRVJUX0VRVUFMKHN0cmlwcGVkU2F2ZWRDb21tZW50
cygpLCAneyJjb21tZW50cyI6W10sIm92ZXJhbGwtY29tbWVudHMiOiIifScpOworICBBU1NFUlQo
IkxpbmUgd2l0aCBvbmx5IGEgcHJldmlvdXMgY29tbWVudCBzaG91bGQgbm90IGhhdmUgJ2RhdGEt
aGFzLWNvbW1lbnQnIGF0dHJpYnV0ZS4iLCAhbGluZS5nZXRBdHRyaWJ1dGUoJ2RhdGEtaGFzLWNv
bW1lbnQnKSk7CisKKyAgbmV3X2NvbW1lbnQgPSBhZGRDb21tZW50RmllbGQocHJldmlvdXNfY29t
bWVudCk7CisgIG5ld19jb21tZW50LmZpbmQoJ3RleHRhcmVhJykudmFsKCJkdW1teSBjb250ZW50
Iik7CisgIGFjY2VwdENvbW1lbnQobmV3X2NvbW1lbnQpOworCisgIEFTU0VSVF9FUVVBTChkb2N1
bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuY29tbWVudCcpLmxlbmd0aCwgMSk7CisgIEFTU0VSVF9F
UVVBTChzdHJpcHBlZFNhdmVkQ29tbWVudHMoKSwgJ3siY29tbWVudHMiOlt7InN0YXJ0X2xpbmVf
aWQiOiJsaW5lMCIsImVuZF9saW5lX2lkIjoibGluZTAiLCJjb250ZW50cyI6ImR1bW15IGNvbnRl
bnQifV0sIm92ZXJhbGwtY29tbWVudHMiOiIifScpOworCisgIGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdkaWZmLWNvbnRlbnQnKS5pbm5lckhUTUwgPSAnJzsKK30KK3Rlc3RSZWFkZERpc2NhcmRl
ZENvbW1lbnRXaXRoUHJldmlvdXNDb21tZW50KCk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL1dl
YnNpdGVzL2J1Z3Mud2Via2l0Lm9yZy9jb2RlLXJldmlldy5qcyBiL1dlYnNpdGVzL2J1Z3Mud2Vi
a2l0Lm9yZy9jb2RlLXJldmlldy5qcwppbmRleCBiYWMyMjI0ZDNiMGY1NjkwMDM4NzQxMGMyZjgz
YmM4YzRiMDZhZTYzLi43ODIyM2JkZDk4MzMxYTUzNzk3MDc5YTQ4OTc5YWVjOTE5NmIyZjJlIDEw
MDY0NAotLS0gYS9XZWJzaXRlcy9idWdzLndlYmtpdC5vcmcvY29kZS1yZXZpZXcuanMKKysrIGIv
V2Vic2l0ZXMvYnVncy53ZWJraXQub3JnL2NvZGUtcmV2aWV3LmpzCkBAIC0xNjUsMTAgKzE2NSwy
MCBAQCB2YXIgQ09ERV9SRVZJRVdfVU5JVFRFU1Q7CiAgICAgZ19kaXNwbGF5ZWRfZHJhZnRfY29t
bWVudHMgPSB0cnVlOwogCiAgICAgdmFyIGNvbW1lbnRzID0gZ19kcmFmdENvbW1lbnRTYXZlci5z
YXZlZF9jb21tZW50cygpOworICAgIHZhciBlcnJvcnMgPSBbXTsKICAgICAkKGNvbW1lbnRzLmNv
bW1lbnRzKS5lYWNoKGZ1bmN0aW9uKCkgewotICAgICAgYWRkRHJhZnRDb21tZW50KHRoaXMuc3Rh
cnRfbGluZV9pZCwgdGhpcy5lbmRfbGluZV9pZCwgdGhpcy5jb250ZW50cyk7CisgICAgICB0cnkg
eworICAgICAgICBhZGREcmFmdENvbW1lbnQodGhpcy5zdGFydF9saW5lX2lkLCB0aGlzLmVuZF9s
aW5lX2lkLCB0aGlzLmNvbnRlbnRzKTsKKyAgICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAgICAgZXJy
b3JzLnB1c2goeydzdGFydCc6IHRoaXMuc3RhcnRfbGluZV9pZCwgJ2VuZCc6IHRoaXMuZW5kX2xp
bmVfaWQsICdjb250ZW50cyc6IHRoaXMuY29udGVudHN9KTsKKyAgICAgIH0KICAgICB9KTsKICAg
ICAKKyAgICBpZiAoZXJyb3JzLmxlbmd0aCkgeworICAgICAgY29uc29sZS5sb2coJ0RSQUZUIENP
TU1FTlRTIFdJVEggRVJST1JTOicsIEpTT04uc3RyaW5naWZ5KGVycm9ycykpOworICAgICAgYWxl
cnQoJ1NvbWUgZHJhZnQgY29tbWVudHMgZmFpbGVkIHRvIGJlIGFkZGVkLiBTZWUgdGhlIGNvbnNv
bGUgdG8gbWFudWFsbHkgcmVzb2x2ZS4nKTsKKyAgICB9CisgICAgCiAgICAgdmFyIG92ZXJhbGxf
Y29tbWVudHMgPSBjb21tZW50c1snb3ZlcmFsbC1jb21tZW50cyddOwogICAgIGlmIChvdmVyYWxs
X2NvbW1lbnRzKSB7CiAgICAgICBvcGVuT3ZlcmFsbENvbW1lbnRzKCk7CkBAIC0xODIsOSArMTky
LDYgQEAgdmFyIENPREVfUkVWSUVXX1VOSVRURVNUOwogICAgIHRoaXMuX3NhdmVfY29tbWVudHMg
PSB0cnVlOwogICB9CiAKLSAgaWYgKENPREVfUkVWSUVXX1VOSVRURVNUKQotICAgIHdpbmRvd1sn
RHJhZnRDb21tZW50U2F2ZXInXSA9IERyYWZ0Q29tbWVudFNhdmVyOwotCiAgIERyYWZ0Q29tbWVu
dFNhdmVyLnByb3RvdHlwZS5fanNvbiA9IGZ1bmN0aW9uKCkgewogICAgIHZhciBjb21tZW50cyA9
ICQoJy5jb21tZW50Jyk7CiAgICAgdmFyIGNvbW1lbnRfc3RvcmUgPSBbXTsKQEAgLTIxMCw4ICsy
MTcsMTIgQEAgdmFyIENPREVfUkVWSUVXX1VOSVRURVNUOwogICAgIHJldHVybiBKU09OLnN0cmlu
Z2lmeSh7J2Jvcm4tb24nOiBEYXRlLm5vdygpLCAnY29tbWVudHMnOiBjb21tZW50X3N0b3JlLCAn
b3ZlcmFsbC1jb21tZW50cyc6IG92ZXJhbGxfY29tbWVudHN9KTsKICAgfQogICAKKyAgRHJhZnRD
b21tZW50U2F2ZXIucHJvdG90eXBlLmxvY2FsU3RvcmFnZUtleSA9IGZ1bmN0aW9uKCkgeworICAg
IHJldHVybiBEcmFmdENvbW1lbnRTYXZlci5fa2V5UHJlZml4ICsgdGhpcy5fYXR0YWNobWVudF9p
ZDsKKyAgfQorICAKICAgRHJhZnRDb21tZW50U2F2ZXIucHJvdG90eXBlLnNhdmVkX2NvbW1lbnRz
ID0gZnVuY3Rpb24oKSB7Ci0gICAgdmFyIHNlcmlhbGl6ZWRfY29tbWVudHMgPSB0aGlzLl9sb2Nh
bFN0b3JhZ2UuZ2V0SXRlbShEcmFmdENvbW1lbnRTYXZlci5fa2V5UHJlZml4ICsgdGhpcy5fYXR0
YWNobWVudF9pZCk7CisgICAgdmFyIHNlcmlhbGl6ZWRfY29tbWVudHMgPSB0aGlzLl9sb2NhbFN0
b3JhZ2UuZ2V0SXRlbSh0aGlzLmxvY2FsU3RvcmFnZUtleSgpKTsKICAgICBpZiAoIXNlcmlhbGl6
ZWRfY29tbWVudHMpCiAgICAgICByZXR1cm4gW107CiAKQEAgLTIyMiwxNyArMjMzLDEyIEBAIHZh
ciBDT0RFX1JFVklFV19VTklUVEVTVDsKICAgICAgIHRoaXMuX2VyYXNlX2NvcnJ1cHRfY29tbWVu
dHMoKTsKICAgICAgIHJldHVybiB7fTsKICAgICB9Ci0gICAgCisKICAgICB2YXIgaW5kaXZpZHVh
bF9jb21tZW50cyA9IGNvbW1lbnRzLmNvbW1lbnRzOwotICAgIGlmIChjb21tZW50cyAmJiAhaW5k
aXZpZHVhbF9jb21tZW50cy5sZW5ndGgpCi0gICAgICByZXR1cm4gY29tbWVudHM7Ci0gICAgCi0g
ICAgLy8gU2FuaXR5IGNoZWNrIGNvbW1lbnRzIGFyZSBhcyBleHBlY3RlZC4KLSAgICBpZiAoIWNv
bW1lbnRzIHx8ICFpbmRpdmlkdWFsX2NvbW1lbnRzWzBdLmNvbnRlbnRzKSB7CisgICAgaWYgKCFj
b21tZW50cyB8fCAhY29tbWVudHNbJ2Jvcm4tb24nXSB8fCAhaW5kaXZpZHVhbF9jb21tZW50cyB8
fCAoaW5kaXZpZHVhbF9jb21tZW50cy5sZW5ndGggJiYgIWluZGl2aWR1YWxfY29tbWVudHNbMF0u
Y29udGVudHMpKSB7CiAgICAgICB0aGlzLl9lcmFzZV9jb3JydXB0X2NvbW1lbnRzKCk7CiAgICAg
ICByZXR1cm4ge307Ci0gICAgfQotICAgIAorICAgIH0gICAgCiAgICAgcmV0dXJuIGNvbW1lbnRz
OwogICB9CiAgIApAQCAtMjQ2LDcgKzI1Miw3IEBAIHZhciBDT0RFX1JFVklFV19VTklUVEVTVDsK
ICAgICBpZiAoIXRoaXMuX3NhdmVfY29tbWVudHMpCiAgICAgICByZXR1cm47CiAKLSAgICB2YXIg
a2V5ID0gRHJhZnRDb21tZW50U2F2ZXIuX2tleVByZWZpeCArIHRoaXMuX2F0dGFjaG1lbnRfaWQ7
CisgICAgdmFyIGtleSA9IHRoaXMubG9jYWxTdG9yYWdlS2V5KCk7CiAgICAgdmFyIHZhbHVlID0g
dGhpcy5fanNvbigpOwogCiAgICAgaWYgKHRoaXMuX2F0dGVtcHRUb1dyaXRlKGtleSwgdmFsdWUp
KQpAQCAtMjg2LDcgKzI5Miw3IEBAIHZhciBDT0RFX1JFVklFV19VTklUVEVTVDsKICAgRHJhZnRD
b21tZW50U2F2ZXIuX2tleVByZWZpeCA9ICdkcmFmdC1jb21tZW50cy1mb3ItYXR0YWNobWVudC0n
OwogCiAgIERyYWZ0Q29tbWVudFNhdmVyLnByb3RvdHlwZS5lcmFzZSA9IGZ1bmN0aW9uKCkgewot
ICAgIHRoaXMuX2xvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKERyYWZ0Q29tbWVudFNhdmVyLl9rZXlQ
cmVmaXggKyB0aGlzLl9hdHRhY2htZW50X2lkKTsKKyAgICB0aGlzLl9sb2NhbFN0b3JhZ2UucmVt
b3ZlSXRlbSh0aGlzLmxvY2FsU3RvcmFnZUtleSgpKTsKICAgfQogCiAgIERyYWZ0Q29tbWVudFNh
dmVyLnByb3RvdHlwZS5fZXJhc2VPbGRDb21tZW50c0ZvckFsbFJldmlld3MgPSBmdW5jdGlvbigp
IHsKQEAgLTM0Miw5ICszNDgsOSBAQCB2YXIgQ09ERV9SRVZJRVdfVU5JVFRFU1Q7CiAgIH0KICAg
CiAgIGZ1bmN0aW9uIHVuZnJlZXplQ29tbWVudEZvcihsaW5lKSB7Ci0gICAgICAvLyBGSVhNRTog
VGhpcyBxdWVyeSBpcyBvdmVybHkgY29tcGxleCBiZWNhdXNlIHdlIHBsYWNlIGNvbW1lbnQgYmxv
Y2tzCi0gICAgICAvLyBhZnRlciBMaW5lcy4gIEluc3RlYWQsIGNvbW1lbnQgYmxvY2tzIHNob3Vs
ZCBiZSBjaGlsZHJlbiBvZiBMaW5lcy4KLSAgICAgIGZpbmRDb21tZW50UG9zaXRpb25Gb3IobGlu
ZSkubmV4dCgpLm5leHQoKS5maWx0ZXIoJy5mcm96ZW5Db21tZW50JykuZWFjaChoYW5kbGVVbmZy
ZWV6ZUNvbW1lbnQpOworICAgIC8vIEZJWE1FOiBUaGlzIHF1ZXJ5IGlzIG92ZXJseSBjb21wbGV4
IGJlY2F1c2Ugd2UgcGxhY2UgY29tbWVudCBibG9ja3MKKyAgICAvLyBhZnRlciBMaW5lcy4gIElu
c3RlYWQsIGNvbW1lbnQgYmxvY2tzIHNob3VsZCBiZSBjaGlsZHJlbiBvZiBMaW5lcy4KKyAgICBm
aW5kQ29tbWVudFBvc2l0aW9uRm9yKGxpbmUpLm5leHQoKS5uZXh0KCkuZmlsdGVyKCcuZnJvemVu
Q29tbWVudCcpLmVhY2goaGFuZGxlVW5mcmVlemVDb21tZW50KTsKICAgfQogCiAgIGZ1bmN0aW9u
IGNyZWF0ZUNvbW1lbnRGb3IobGluZSkgewpAQCAtMzY5LDEzICszNzUsMTQgQEAgdmFyIENPREVf
UkVWSUVXX1VOSVRURVNUOwogICAgIGNvbW1lbnRfYmxvY2suaGlkZSgpLnNsaWRlRG93bignZmFz
dCcsIGZ1bmN0aW9uKCkgewogICAgICAgJCh0aGlzKS5jaGlsZHJlbigndGV4dGFyZWEnKS5mb2N1
cygpOwogICAgIH0pOworICAgIHJldHVybiBjb21tZW50X2Jsb2NrOwogICB9CiAKICAgZnVuY3Rp
b24gYWRkQ29tbWVudEZpZWxkKGNvbW1lbnRfYmxvY2spIHsKICAgICB2YXIgaWQgPSAkKGNvbW1l
bnRfYmxvY2spLmF0dHIoJ2RhdGEtY29tbWVudC1mb3InKTsKICAgICBpZiAoIWlkKQogICAgICAg
aWQgPSBjb21tZW50X2Jsb2NrLmlkOwotICAgIGFkZENvbW1lbnRGb3IoJCgnIycgKyBpZCkpOwor
ICAgIHJldHVybiBhZGRDb21tZW50Rm9yKCQoJyMnICsgaWQpKTsKICAgfQogICAKICAgZnVuY3Rp
b24gaGFuZGxlQWRkQ29tbWVudEZpZWxkKCkgewpAQCAtMzgzLDEzICszOTAsMTMgQEAgdmFyIENP
REVfUkVWSUVXX1VOSVRURVNUOwogICB9CiAKICAgZnVuY3Rpb24gYWRkUHJldmlvdXNDb21tZW50
KGxpbmUsIGF1dGhvciwgY29tbWVudF90ZXh0KSB7Ci0gICAgdmFyIGxpbmVfaWQgPSBsaW5lLmF0
dHIoJ2lkJyk7CisgICAgdmFyIGxpbmVfaWQgPSAkKGxpbmUpLmF0dHIoJ2lkJyk7CiAgICAgdmFy
IGNvbW1lbnRfYmxvY2sgPSAkKCc8ZGl2IGRhdGEtY29tbWVudC1mb3I9IicgKyBsaW5lX2lkICsg
JyIgY2xhc3M9InByZXZpb3VzQ29tbWVudCI+PC9kaXY+Jyk7CiAgICAgdmFyIGF1dGhvcl9ibG9j
ayA9ICQoJzxkaXYgY2xhc3M9ImF1dGhvciI+PC9kaXY+JykudGV4dChhdXRob3IgKyAnOicpOwog
ICAgIHZhciB0ZXh0X2Jsb2NrID0gJCgnPGRpdiBjbGFzcz0iY29udGVudCI+PC9kaXY+JykudGV4
dChjb21tZW50X3RleHQpOwogICAgIGNvbW1lbnRfYmxvY2suYXBwZW5kKGF1dGhvcl9ibG9jayku
YXBwZW5kKHRleHRfYmxvY2spLmVhY2goaG92ZXJpZnkpLmNsaWNrKGhhbmRsZUFkZENvbW1lbnRG
aWVsZCk7Ci0gICAgYWRkRGF0YUNvbW1lbnRCYXNlTGluZShsaW5lLCBsaW5lX2lkKTsKLSAgICBp
bnNlcnRDb21tZW50Rm9yKGxpbmUsIGNvbW1lbnRfYmxvY2spOworICAgIGFkZERhdGFDb21tZW50
QmFzZUxpbmUoJChsaW5lKSwgbGluZV9pZCk7CisgICAgaW5zZXJ0Q29tbWVudEZvcigkKGxpbmUp
LCBjb21tZW50X2Jsb2NrKTsKICAgfQogCiAgIGZ1bmN0aW9uIGRpc3BsYXlQcmV2aW91c0NvbW1l
bnRzKGNvbW1lbnRzKSB7CkBAIC02MzUsOSArNjQyLDYgQEAgdmFyIENPREVfUkVWSUVXX1VOSVRU
RVNUOwogICAgIHJldHVybiB0cmFjX2xpbmtzOwogICB9CiAKLSAgaWYgKENPREVfUkVWSUVXX1VO
SVRURVNUKQotICAgIHdpbmRvdy50cmFjTGlua3MgPSB0cmFjTGlua3M7Ci0KICAgZnVuY3Rpb24g
YWRkRXhwYW5kTGlua3MoZmlsZV9uYW1lKSB7CiAgICAgaWYgKGZpbGVfbmFtZS5pbmRleE9mKCdD
aGFuZ2VMb2cnKSAhPSAtMSkKICAgICAgIHJldHVybjsKQEAgLTEwNzAsOSArMTA3NCwyOCBAQCB2
YXIgQ09ERV9SRVZJRVdfVU5JVFRFU1Q7CiAgICAgICAnPGEgaHJlZj0iamF2YXNjcmlwdDoiIGNs
YXNzPSJzaWRlLWJ5LXNpZGUtbGluayI+c2lkZS1ieS1zaWRlPC9hPic7CiAgIH0KIAotICAkKGRv
Y3VtZW50KS5yZWFkeShmdW5jdGlvbigpIHsKLSAgICBpZiAoQ09ERV9SRVZJRVdfVU5JVFRFU1Qp
Ci0gICAgICByZXR1cm47CisgIGZ1bmN0aW9uIGFwcGVuZFRvb2xiYXIoKSB7CisgICAgJChkb2N1
bWVudC5ib2R5KS5hcHBlbmQoJzxkaXYgaWQ9InRvb2xiYXIiPicgKworICAgICAgICAnPGRpdiBj
bGFzcz0ib3ZlcmFsbENvbW1lbnRzIj4nICsKKyAgICAgICAgICAnPHRleHRhcmVhIHBsYWNlaG9s
ZGVyPSJPdmVyYWxsIGNvbW1lbnRzIj48L3RleHRhcmVhPicgKworICAgICAgICAnPC9kaXY+JyAr
CisgICAgICAgICc8ZGl2PicgKworICAgICAgICAgICc8c3BhbiBpZD0ic3RhdHVzQnViYmxlQ29u
dGFpbmVyIj48L3NwYW4+JyArCisgICAgICAgICAgJzxzcGFuIGNsYXNzPSJhY3Rpb25zIj4nICsK
KyAgICAgICAgICAgICc8c3BhbiBjbGFzcz0ibGlua3MiPjxzcGFuIGNsYXNzPSJidWdMaW5rIj48
L3NwYW4+PC9zcGFuPicgKworICAgICAgICAgICAgJzxzcGFuIGlkPSJmbGFnQ29udGFpbmVyIj48
L3NwYW4+JyArCisgICAgICAgICAgICAnPGJ1dHRvbiBpZD0icHJldmlld19jb21tZW50cyI+UHJl
dmlldzwvYnV0dG9uPicgKworICAgICAgICAgICAgJzxidXR0b24gaWQ9InBvc3RfY29tbWVudHMi
PlB1Ymxpc2g8L2J1dHRvbj4gJyArCisgICAgICAgICAgJzwvc3Bhbj4nICsKKyAgICAgICAgJzwv
ZGl2PicgKworICAgICAgICAnPGRpdiBjbGFzcz0iYXV0b3NhdmUtc3RhdGUiPjwvZGl2PicgKwor
ICAgICAgICAnPC9kaXY+Jyk7CisKKyAgICAkKCcub3ZlcmFsbENvbW1lbnRzIHRleHRhcmVhJyku
YmluZCgnY2xpY2snLCBvcGVuT3ZlcmFsbENvbW1lbnRzKTsKKyAgICAkKCcub3ZlcmFsbENvbW1l
bnRzIHRleHRhcmVhJykuYmluZCgnaW5wdXQnLCBoYW5kbGVPdmVyYWxsQ29tbWVudHNJbnB1dCk7
CisgIH0KKworICBmdW5jdGlvbiBoYW5kbGVEb2N1bWVudFJlYWR5KCkgewogICAgIGNyYXdsRGlm
ZigpOwogICAgIGZldGNoSGlzdG9yeSgpOwogICAgICQoZG9jdW1lbnQuYm9keSkucHJlcGVuZCgn
PGRpdiBpZD0ibWVzc2FnZSI+JyArCkBAIC0xMDk3LDI0ICsxMTIwLDggQEAgdmFyIENPREVfUkVW
SUVXX1VOSVRURVNUOwogICAgICAgICAgICc8L2Rpdj4nICsKICAgICAgICAgJzwvZGl2PicgKwog
ICAgICAgICAnPC9kaXY+Jyk7Ci0gICAgJChkb2N1bWVudC5ib2R5KS5hcHBlbmQoJzxkaXYgaWQ9
InRvb2xiYXIiPicgKwotICAgICAgICAnPGRpdiBjbGFzcz0ib3ZlcmFsbENvbW1lbnRzIj4nICsK
LSAgICAgICAgICAgICc8dGV4dGFyZWEgcGxhY2Vob2xkZXI9Ik92ZXJhbGwgY29tbWVudHMiPjwv
dGV4dGFyZWE+JyArCi0gICAgICAgICc8L2Rpdj4nICsKLSAgICAgICAgJzxkaXY+JyArCi0gICAg
ICAgICAgJzxzcGFuIGlkPSJzdGF0dXNCdWJibGVDb250YWluZXIiPjwvc3Bhbj4nICsKLSAgICAg
ICAgICAnPHNwYW4gY2xhc3M9ImFjdGlvbnMiPicgKwotICAgICAgICAgICAgICAnPHNwYW4gY2xh
c3M9ImxpbmtzIj48c3BhbiBjbGFzcz0iYnVnTGluayI+PC9zcGFuPjwvc3Bhbj4nICsKLSAgICAg
ICAgICAgICAgJzxzcGFuIGlkPSJmbGFnQ29udGFpbmVyIj48L3NwYW4+JyArCi0gICAgICAgICAg
ICAgICc8YnV0dG9uIGlkPSJwcmV2aWV3X2NvbW1lbnRzIj5QcmV2aWV3PC9idXR0b24+JyArCi0g
ICAgICAgICAgICAgICc8YnV0dG9uIGlkPSJwb3N0X2NvbW1lbnRzIj5QdWJsaXNoPC9idXR0b24+
ICcgKwotICAgICAgICAgICc8L3NwYW4+JyArCi0gICAgICAgICc8L2Rpdj4nICsKLSAgICAgICAg
JzxkaXYgY2xhc3M9ImF1dG9zYXZlLXN0YXRlIj48L2Rpdj4nICsKLSAgICAgICAgJzwvZGl2Picp
OwogCi0gICAgJCgnLm92ZXJhbGxDb21tZW50cyB0ZXh0YXJlYScpLmJpbmQoJ2NsaWNrJywgb3Bl
bk92ZXJhbGxDb21tZW50cyk7Ci0gICAgJCgnLm92ZXJhbGxDb21tZW50cyB0ZXh0YXJlYScpLmJp
bmQoJ2lucHV0JywgaGFuZGxlT3ZlcmFsbENvbW1lbnRzSW5wdXQpOworICAgIGFwcGVuZFRvb2xi
YXIoKTsKIAogICAgICQoZG9jdW1lbnQuYm9keSkucHJlcGVuZCgnPGRpdiBpZD0iY29tbWVudF9m
b3JtIiBjbGFzcz0iaW5hY3RpdmUiPjxkaXYgY2xhc3M9IndpbnRlciI+PC9kaXY+PGRpdiBjbGFz
cz0ibGlnaHRib3giPjxpZnJhbWUgaWQ9InJldmlld2Zvcm0iIHNyYz0iYXR0YWNobWVudC5jZ2k/
aWQ9JyArIGF0dGFjaG1lbnRfaWQgKyAnJmFjdGlvbj1yZXZpZXdmb3JtIj48L2lmcmFtZT48L2Rp
dj48L2Rpdj4nKTsKICAgICAkKCcjcmV2aWV3Zm9ybScpLmJpbmQoJ2xvYWQnLCBoYW5kbGVSZXZp
ZXdGb3JtTG9hZCk7CkBAIC0xMTI4LDcgKzExMzUsNyBAQCB2YXIgQ09ERV9SRVZJRVdfVU5JVFRF
U1Q7CiAKICAgICB1cGRhdGVUb29sYmFyQW5jaG9yU3RhdGUoKTsKICAgICBsb2FkRGlmZlN0YXRl
KCk7Ci0gIH0pOworICB9OwogCiAgIGZ1bmN0aW9uIGhhbmRsZVJldmlld0Zvcm1Mb2FkKCkgewog
ICAgIHZhciByZXZpZXdfZm9ybV9jb250ZW50cyA9ICQoJyNyZXZpZXdmb3JtJykuY29udGVudHMo
KTsKQEAgLTEzMzAsMTIgKzEzMzcsMTIgQEAgdmFyIENPREVfUkVWSUVXX1VOSVRURVNUOwogICB9
CiAKICAgZnVuY3Rpb24gZGlzY2FyZENvbW1lbnQoY29tbWVudF9ibG9jaykgewotICAgIHZhciBs
aW5lX2lkID0gY29tbWVudF9ibG9jay5maW5kKCd0ZXh0YXJlYScpLmF0dHIoJ2RhdGEtY29tbWVu
dC1mb3InKTsKKyAgICB2YXIgbGluZV9pZCA9ICQoY29tbWVudF9ibG9jaykuZmluZCgndGV4dGFy
ZWEnKS5hdHRyKCdkYXRhLWNvbW1lbnQtZm9yJyk7CiAgICAgdmFyIGxpbmUgPSAkKCcjJyArIGxp
bmVfaWQpCi0gICAgZmluZENvbW1lbnRCbG9ja0ZvcihsaW5lKS5zbGlkZVVwKCdmYXN0JywgZnVu
Y3Rpb24oKSB7CisgICAgJChjb21tZW50X2Jsb2NrKS5zbGlkZVVwKCdmYXN0JywgZnVuY3Rpb24o
KSB7CiAgICAgICAkKHRoaXMpLnJlbW92ZSgpOwogICAgICAgbGluZS5yZW1vdmVBdHRyKCdkYXRh
LWhhcy1jb21tZW50Jyk7Ci0gICAgICB0cmltQ29tbWVudENvbnRleHRUb0JlZm9yZShsaW5lLCBs
aW5lLmF0dHIoJ2RhdGEtY29tbWVudC1iYXNlLWxpbmUnKSk7CisgICAgICB0cmltQ29tbWVudENv
bnRleHRUb0JlZm9yZShsaW5lLCBsaW5lX2lkKTsKICAgICAgIHNhdmVEcmFmdENvbW1lbnRzKCk7
CiAgICAgfSk7CiAgIH0KQEAgLTEzNjgsOSArMTM3NSwxMCBAQCB2YXIgQ09ERV9SRVZJRVdfVU5J
VFRFU1Q7CiAgIH0KICAgCiAgIGZ1bmN0aW9uIGFjY2VwdENvbW1lbnQoY29tbWVudCkgewotICAg
IHZhciBmcm96ZW5fY29tbWVudCA9IGZyZWV6ZUNvbW1lbnQoY29tbWVudCk7CisgICAgdmFyIGZy
b3plbl9jb21tZW50ID0gZnJlZXplQ29tbWVudCgkKGNvbW1lbnQpKTsKICAgICBmb2N1c09uKGZy
b3plbl9jb21tZW50KTsKICAgICBzYXZlRHJhZnRDb21tZW50cygpOworICAgIHJldHVybiBmcm96
ZW5fY29tbWVudDsKICAgfQogCiAgICQoJy5GaWxlRGlmZicpLmxpdmUoJ21vdXNlZW50ZXInLCBz
aG93RmlsZURpZmZMaW5rcyk7CkBAIC0xNjc5LDcgKzE2ODcsOCBAQCB2YXIgQ09ERV9SRVZJRVdf
VU5JVFRFU1Q7CiAgICAgICBpZiAobnVtYmVyRnJvbShpZCkgPiBsaW5lX3RvX3RyaW1fdG8pCiAg
ICAgICAgIHJldHVybjsKIAotICAgICAgcmVtb3ZlRGF0YUNvbW1lbnRCYXNlTGluZSh0aGlzLCBj
b21tZW50X2Jhc2VfbGluZSk7CisgICAgICBpZiAoISQoJ1tkYXRhLWNvbW1lbnQtZm9yPScgKyBj
b21tZW50X2Jhc2VfbGluZSArICddJykubGVuZ3RoKQorICAgICAgICByZW1vdmVEYXRhQ29tbWVu
dEJhc2VMaW5lKHRoaXMsIGNvbW1lbnRfYmFzZV9saW5lKTsKICAgICB9KTsKICAgfQogCkBAIC0x
OTcyLDQgKzE5ODEsMjAgQEAgdmFyIENPREVfUkVWSUVXX1VOSVRURVNUOwogICAgIGZpbGxJblJl
dmlld0Zvcm0oKTsKICAgICAkKCcjcmV2aWV3Zm9ybScpLmNvbnRlbnRzKCkuZmluZCgnZm9ybScp
LnN1Ym1pdCgpOwogICB9KTsKKyAgCisgIGlmIChDT0RFX1JFVklFV19VTklUVEVTVCkgeworICAg
IHdpbmRvdy5EcmFmdENvbW1lbnRTYXZlciA9IERyYWZ0Q29tbWVudFNhdmVyOworICAgIHdpbmRv
dy5hZGRQcmV2aW91c0NvbW1lbnQgPSBhZGRQcmV2aW91c0NvbW1lbnQ7CisgICAgd2luZG93LnRy
YWNMaW5rcyA9IHRyYWNMaW5rczsKKyAgICB3aW5kb3cuY3Jhd2xEaWZmID0gY3Jhd2xEaWZmOwor
ICAgIHdpbmRvdy5kaXNjYXJkQ29tbWVudCA9IGRpc2NhcmRDb21tZW50OworICAgIHdpbmRvdy5h
ZGRDb21tZW50RmllbGQgPSBhZGRDb21tZW50RmllbGQ7CisgICAgd2luZG93LmFjY2VwdENvbW1l
bnQgPSBhY2NlcHRDb21tZW50OworICAgIHdpbmRvdy5hcHBlbmRUb29sYmFyID0gYXBwZW5kVG9v
bGJhcjsKKyAgICB3aW5kb3cuZXJhc2VEcmFmdENvbW1lbnRzID0gZXJhc2VEcmFmdENvbW1lbnRz
OworICAgIHdpbmRvdy51bmZyZWV6ZUNvbW1lbnQgPSB1bmZyZWV6ZUNvbW1lbnQ7CisgICAgd2lu
ZG93LmdfZHJhZnRDb21tZW50U2F2ZXIgPSBnX2RyYWZ0Q29tbWVudFNhdmVyOworICB9IGVsc2Ug
eworICAgICQoZG9jdW1lbnQpLnJlYWR5KGhhbmRsZURvY3VtZW50UmVhZHkpCisgIH0KIH0pKCk7
Cg==
</data>
<flag name="review"
          id="118990"
          type_id="1"
          status="+"
          setter="abarth"
    />
          </attachment>
      

    </bug>

</bugzilla>